first pass RT4 merge, RT#13852
[freeside.git] / rt / t / api / record.t
1
2 use strict;
3 use warnings;
4 use RT;
5 use RT::Test tests => 22;
6
7
8 {
9
10 ok (require RT::Record);
11
12
13 }
14
15 {
16
17 my $ticket = RT::Ticket->new(RT->SystemUser);
18 my $group = RT::Group->new(RT->SystemUser);
19 is($ticket->ObjectTypeStr, 'Ticket', "Ticket returns correct typestring");
20 is($group->ObjectTypeStr, 'Group', "Group returns correct typestring");
21
22
23 }
24
25 {
26
27 my $t1 = RT::Ticket->new(RT->SystemUser);
28 my ($id, $trans, $msg) = $t1->Create(Subject => 'DepTest1', Queue => 'general');
29 ok($id, "Created dep test 1 - $msg");
30
31 my $t2 = RT::Ticket->new(RT->SystemUser);
32 (my $id2, $trans, my $msg2) = $t2->Create(Subject => 'DepTest2', Queue => 'general');
33 ok($id2, "Created dep test 2 - $msg2");
34 my $t3 = RT::Ticket->new(RT->SystemUser);
35 (my $id3, $trans, my $msg3) = $t3->Create(Subject => 'DepTest3', Queue => 'general', Type => 'approval');
36 ok($id3, "Created dep test 3 - $msg3");
37 my ($addid, $addmsg);
38 ok (($addid, $addmsg) =$t1->AddLink( Type => 'DependsOn', Target => $t2->id));
39 ok ($addid, $addmsg);
40 ok (($addid, $addmsg) =$t1->AddLink( Type => 'DependsOn', Target => $t3->id));
41
42 ok ($addid, $addmsg);
43 my $link = RT::Link->new(RT->SystemUser);
44 (my $rv, $msg) = $link->Load($addid);
45 ok ($rv, $msg);
46 is ($link->LocalTarget , $t3->id, "Link LocalTarget is correct");
47 is ($link->LocalBase   , $t1->id, "Link LocalBase   is correct");
48
49 ok ($t1->HasUnresolvedDependencies, "Ticket ".$t1->Id." has unresolved deps");
50 ok (!$t1->HasUnresolvedDependencies( Type => 'blah' ), "Ticket ".$t1->Id." has no unresolved blahs");
51 ok ($t1->HasUnresolvedDependencies( Type => 'approval' ), "Ticket ".$t1->Id." has unresolved approvals");
52 ok (!$t2->HasUnresolvedDependencies, "Ticket ".$t2->Id." has no unresolved deps");
53 ;
54
55 my ($rid, $rmsg)= $t1->SetStatus('resolved');
56 ok(!$rid, $rmsg);
57 my ($rid2, $rmsg2) = $t2->SetStatus('resolved');
58 ok ($rid2, $rmsg2);
59 ($rid, $rmsg)= $t1->SetStatus('resolved');
60 ok(!$rid, $rmsg);
61 my ($rid3,$rmsg3) = $t3->SetStatus('resolved');
62 ok ($rid3,$rmsg3);
63 ($rid, $rmsg)= $t1->SetStatus('resolved');
64 ok($rid, $rmsg);
65
66
67
68 }
69