import rt 3.8.7
[freeside.git] / rt / t / ticket / batch-upload-csv.t
1 #!/usr/bin/perl -w
2 use strict; use warnings;
3
4 use RT::Test tests => 12;
5 use_ok('RT');
6
7 use_ok('RT::Action::CreateTickets');
8
9 my $QUEUE = 'uploadtest-'.$$;
10
11 my $queue_obj = RT::Queue->new($RT::SystemUser);
12 $queue_obj->Create(Name => $QUEUE);
13
14 my $cf = RT::CustomField->new($RT::SystemUser);
15 my ($val,$msg)  = $cf->Create(Name => 'Work Package-'.$$, Type => 'Freeform', LookupType => RT::Ticket->CustomFieldLookupType, MaxValues => 1);
16 ok($cf->id);
17 ok($val,$msg);
18 ($val, $msg) = $cf->AddToObject($queue_obj);
19 ok($val,$msg);
20 ok($queue_obj->TicketCustomFields()->Count, "We have a custom field, at least");
21
22
23 my $data = <<EOF;
24 id,Queue,Subject,Status,Requestor,@{[$cf->Name]}
25 create-1,$QUEUE,hi,new,root,2.0
26 create-2,$QUEUE,hello,new,root,3.0
27 EOF
28
29 my $action = RT::Action::CreateTickets->new(CurrentUser => RT::CurrentUser->new('root'));
30 ok ($action->CurrentUser->id , "WE have a current user");
31  
32 $action->Parse(Content => $data);
33 my @results = $action->CreateByTemplate();
34
35 my $tix = RT::Tickets->new($RT::SystemUser);
36 $tix->FromSQL ("Queue = '". $QUEUE."'");
37 $tix->OrderBy( FIELD => 'id', ORDER => 'ASC' );
38 is($tix->Count, 2, '2 tickets');
39
40 my $first = $tix->First();
41
42 is($first->Subject(), 'hi'); 
43 is($first->FirstCustomFieldValue($cf->id), '2.0');
44
45 my $second = $tix->Next;
46 is($second->Subject(), 'hello'); 
47 is($second->FirstCustomFieldValue($cf->id), '3.0');
48 1;