import rt 3.8.7
[freeside.git] / rt / t / api / scrip.t
1
2 use strict;
3 use warnings;
4 use RT;
5 use RT::Test tests => 7;
6
7
8 {
9
10 ok (require RT::Scrip);
11
12
13 my $q = RT::Queue->new($RT::SystemUser);
14 $q->Create(Name => 'ScripTest');
15 ok($q->Id, "Created a scriptest queue");
16
17 my $s1 = RT::Scrip->new($RT::SystemUser);
18 my ($val, $msg) =$s1->Create( Queue => $q->Id,
19              ScripAction => 'User Defined',
20              ScripCondition => 'User Defined',
21              CustomIsApplicableCode => 'if ($self->TicketObj->Subject =~ /fire/) { return (1);} else { return(0)}',
22              CustomPrepareCode => 'return 1',
23              CustomCommitCode => '$self->TicketObj->SetPriority("87");',
24              Template => 'Blank'
25     );
26 ok($val,$msg);
27
28 my $ticket = RT::Ticket->new($RT::SystemUser);
29 my ($tv,$ttv,$tm) = $ticket->Create(Queue => $q->Id,
30                                     Subject => "hair on fire",
31                                     );
32 ok($tv, $tm);
33
34 is ($ticket->Priority , '87', "Ticket priority is set right");
35
36
37 my $ticket2 = RT::Ticket->new($RT::SystemUser);
38 my ($t2v,$t2tv,$t2m) = $ticket2->Create(Queue => $q->Id,
39                                     Subject => "hair in water",
40                                     );
41 ok($t2v, $t2m);
42
43 isnt ($ticket2->Priority , '87', "Ticket priority is set right");
44
45
46
47 }
48
49 1;