RT 4.0.22
[freeside.git] / rt / t / web / rest-non-ascii-subject.t
1 # Test ticket creation with REST using non ascii subject
2 use strict;
3 use warnings;
4 use RT::Test tests => 9;
5
6 my $subject = Encode::decode('latin1', "Sujet accentu\x{e9}");
7 my $text = Encode::decode('latin1', "Contenu accentu\x{e9}");
8
9 my ($baseurl, $m) = RT::Test->started_ok;
10
11 my $queue = RT::Test->load_or_create_queue(Name => 'General');
12 ok($queue->Id, "loaded the General queue");
13
14 my $content = "id: ticket/new
15 Queue: General
16 Requestor: root
17 Subject: $subject
18 Cc:
19 AdminCc:
20 Owner:
21 Status: new
22 Priority:
23 InitialPriority:
24 FinalPriority:
25 TimeEstimated:
26 Starts: 2009-03-10 16:14:55
27 Due: 2009-03-10 16:14:55
28 Text: $text";
29
30 $m->post("$baseurl/REST/1.0/ticket/new", [
31     user    => 'root',
32     pass    => 'password',
33     content => Encode::encode( "UTF-8", $content),
34 ], Content_Type => 'form-data' );
35
36 my ($id) = $m->content =~ /Ticket (\d+) created/;
37 ok($id, "got ticket #$id");
38
39 my $ticket = RT::Ticket->new(RT->SystemUser);
40 $ticket->Load($id);
41 is($ticket->Id, $id, "loaded the REST-created ticket");
42 is($ticket->Subject, $subject, "ticket subject successfully set");
43
44 my $attach = $ticket->Transactions->First->Attachments->First;
45 is($attach->Subject, $subject, "attachement subject successfully set");
46 is($attach->GetHeader('Subject'), $subject, "attachement header subject successfully set");