X-Git-Url: http://git.freeside.biz/gitweb/?a=blobdiff_plain;f=rt%2Ft%2Fapi%2Fticket.t;h=da287a607591eec88a0a905a11ff597b283c56ef;hb=919e930aa9279b3c5cd12b593889cd6de79d67bf;hp=2ca0997bd011c2cc1da6abaf55442f6c798a9343;hpb=63a268637b2d51a8766412617724b9436439deb6;p=freeside.git diff --git a/rt/t/api/ticket.t b/rt/t/api/ticket.t index 2ca0997bd..da287a607 100644 --- a/rt/t/api/ticket.t +++ b/rt/t/api/ticket.t @@ -2,17 +2,17 @@ use strict; use warnings; use RT; -use RT::Test tests => 87; +use RT::Test tests => undef; { use_ok ('RT::Queue'); -ok(my $testqueue = RT::Queue->new($RT::SystemUser)); +ok(my $testqueue = RT::Queue->new(RT->SystemUser)); ok($testqueue->Create( Name => 'ticket tests')); isnt($testqueue->Id , 0); use_ok('RT::CustomField'); -ok(my $testcf = RT::CustomField->new($RT::SystemUser)); +ok(my $testcf = RT::CustomField->new(RT->SystemUser)); my ($ret, $cmsg) = $testcf->Create( Name => 'selectmulti', Queue => $testqueue->id, Type => 'SelectMultiple'); @@ -34,10 +34,10 @@ is($testcf->Values->Count , 3); use_ok('RT::Ticket'); -my $u = RT::User->new($RT::SystemUser); +my $u = RT::User->new(RT->SystemUser); $u->Load("root"); ok ($u->Id, "Found the root user"); -ok(my $t = RT::Ticket->new($RT::SystemUser)); +ok(my $t = RT::Ticket->new(RT->SystemUser)); ok(my ($id, $msg) = $t->Create( Queue => $testqueue->Id, Subject => 'Testing', Owner => $u->Id @@ -56,13 +56,13 @@ ok(my ($cfdv, $cfdm) = $t->DeleteCustomFieldValue(Field => $testcf->Id, isnt ($cfdv , 0, "Deleted a custom field value: $cfdm"); is($t->CustomFieldValues($testcf->Id)->Count , 0); -ok(my $t2 = RT::Ticket->new($RT::SystemUser)); +ok(my $t2 = RT::Ticket->new(RT->SystemUser)); ok($t2->Load($id)); is($t2->Subject, 'Testing'); is($t2->QueueObj->Id, $testqueue->id); is($t2->OwnerObj->Id, $u->Id); -my $t3 = RT::Ticket->new($RT::SystemUser); +my $t3 = RT::Ticket->new(RT->SystemUser); my ($id3, $msg3) = $t3->Create( Queue => $testqueue->Id, Subject => 'Testing', Owner => $u->Id); @@ -93,7 +93,7 @@ ok(require RT::Ticket, "Loading the RT::Ticket library"); { -my $t = RT::Ticket->new($RT::SystemUser); +my $t = RT::Ticket->new(RT->SystemUser); ok( $t->Create(Queue => 'General', Due => '2002-05-21 00:00:00', ReferredToBy => 'http://www.cpan.org', RefersTo => 'http://fsck.com', Subject => 'This is a subject'), "Ticket Created"); @@ -107,19 +107,19 @@ is ($t->ResolvedObj->Unix, 0, "It hasn't been resolved - ". $t->ResolvedObj->Uni { -my $ticket = RT::Ticket->new($RT::SystemUser); +my $ticket = RT::Ticket->new(RT->SystemUser); my ($id, $msg) = $ticket->Create(Subject => "Foo", - Owner => $RT::SystemUser->Id, + Owner => RT->SystemUser->Id, Status => 'open', Requestor => ['jesse@example.com'], Queue => '1' ); ok ($id, "Ticket $id was created"); -ok(my $group = RT::Group->new($RT::SystemUser)); +ok(my $group = RT::Group->new(RT->SystemUser)); ok($group->LoadTicketRoleGroup(Ticket => $id, Type=> 'Requestor')); ok ($group->Id, "Found the requestors object for this ticket"); -ok(my $jesse = RT::User->new($RT::SystemUser), "Creating a jesse rt::user"); +ok(my $jesse = RT::User->new(RT->SystemUser), "Creating a jesse rt::user"); $jesse->LoadByEmail('jesse@example.com'); ok($jesse->Id, "Found the jesse rt user"); @@ -127,7 +127,7 @@ ok($jesse->Id, "Found the jesse rt user"); ok ($ticket->IsWatcher(Type => 'Requestor', PrincipalId => $jesse->PrincipalId), "The ticket actually has jesse at fsck.com as a requestor"); ok (my ($add_id, $add_msg) = $ticket->AddWatcher(Type => 'Requestor', Email => 'bob@fsck.com'), "Added bob at fsck.com as a requestor"); ok ($add_id, "Add succeeded: ($add_msg)"); -ok(my $bob = RT::User->new($RT::SystemUser), "Creating a bob rt::user"); +ok(my $bob = RT::User->new(RT->SystemUser), "Creating a bob rt::user"); $bob->LoadByEmail('bob@fsck.com'); ok($bob->Id, "Found the bob rt user"); ok ($ticket->IsWatcher(Type => 'Requestor', PrincipalId => $bob->PrincipalId), "The ticket actually has bob at fsck.com as a requestor"); @@ -135,23 +135,23 @@ ok ( ($add_id, $add_msg) = $ticket->DeleteWatcher(Type =>'Requestor', Email => ' ok (!$ticket->IsWatcher(Type => 'Requestor', PrincipalId => $bob->PrincipalId), "The ticket no longer has bob at fsck.com as a requestor"); -$group = RT::Group->new($RT::SystemUser); +$group = RT::Group->new(RT->SystemUser); ok($group->LoadTicketRoleGroup(Ticket => $id, Type=> 'Cc')); ok ($group->Id, "Found the cc object for this ticket"); -$group = RT::Group->new($RT::SystemUser); +$group = RT::Group->new(RT->SystemUser); ok($group->LoadTicketRoleGroup(Ticket => $id, Type=> 'AdminCc')); ok ($group->Id, "Found the AdminCc object for this ticket"); -$group = RT::Group->new($RT::SystemUser); +$group = RT::Group->new(RT->SystemUser); ok($group->LoadTicketRoleGroup(Ticket => $id, Type=> 'Owner')); ok ($group->Id, "Found the Owner object for this ticket"); -ok($group->HasMember($RT::SystemUser->UserObj->PrincipalObj), "the owner group has the member 'RT_System'"); +ok($group->HasMember(RT->SystemUser->UserObj->PrincipalObj), "the owner group has the member 'RT_System'"); } { -my $t = RT::Ticket->new($RT::SystemUser); +my $t = RT::Ticket->new(RT->SystemUser); ok($t->Create(Queue => 'general', Subject => 'SquelchTest', SquelchMailTo => 'nobody@example.com')); my @returned = $t->SquelchMailTo(); @@ -189,15 +189,15 @@ is($#returned, -1, "The ticket has no squelched recipients". join(',',@returned) { -my $t1 = RT::Ticket->new($RT::SystemUser); +my $t1 = RT::Ticket->new(RT->SystemUser); $t1->Create ( Subject => 'Merge test 1', Queue => 'general', Requestor => 'merge1@example.com'); my $t1id = $t1->id; -my $t2 = RT::Ticket->new($RT::SystemUser); +my $t2 = RT::Ticket->new(RT->SystemUser); $t2->Create ( Subject => 'Merge test 2', Queue => 'general', Requestor => 'merge2@example.com'); my $t2id = $t2->id; my ($msg, $val) = $t1->MergeInto($t2->id); ok ($msg,$val); -$t1 = RT::Ticket->new($RT::SystemUser); +$t1 = RT::Ticket->new(RT->SystemUser); is ($t1->id, undef, "ok. we've got a blank ticket1"); $t1->Load($t1id); @@ -211,16 +211,16 @@ is ($t1->Requestors->MembersObj->Count, 2); { -my $root = RT::User->new($RT::SystemUser); +my $root = RT::User->new(RT->SystemUser); $root->Load('root'); ok ($root->Id, "Loaded the root user"); -my $t = RT::Ticket->new($RT::SystemUser); +my $t = RT::Ticket->new(RT->SystemUser); $t->Load(1); $t->SetOwner('root'); is ($t->OwnerObj->Name, 'root' , "Root owns the ticket"); $t->Steal(); -is ($t->OwnerObj->id, $RT::SystemUser->id , "SystemUser owns the ticket"); -my $txns = RT::Transactions->new($RT::SystemUser); +is ($t->OwnerObj->id, RT->SystemUser->id , "SystemUser owns the ticket"); +my $txns = RT::Transactions->new(RT->SystemUser); $txns->OrderBy(FIELD => 'id', ORDER => 'DESC'); $txns->Limit(FIELD => 'ObjectId', VALUE => '1'); $txns->Limit(FIELD => 'ObjectType', VALUE => 'RT::Ticket'); @@ -228,14 +228,14 @@ $txns->Limit(FIELD => 'Type', OPERATOR => '!=', VALUE => 'EmailRecord'); my $steal = $txns->First; is($steal->OldValue , $root->Id , "Stolen from root"); -is($steal->NewValue , $RT::SystemUser->Id , "Stolen by the systemuser"); +is($steal->NewValue , RT->SystemUser->Id , "Stolen by the systemuser"); } { -my $tt = RT::Ticket->new($RT::SystemUser); +my $tt = RT::Ticket->new(RT->SystemUser); my ($id, $tid, $msg)= $tt->Create(Queue => 'general', Subject => 'test'); ok($id, $msg); @@ -254,4 +254,32 @@ ok(!$id,$msg); } -1; +diag("Test ticket types with different cases"); +{ + my $t = RT::Ticket->new(RT->SystemUser); + my ($ok) = $t->Create( + Queue => 'general', + Subject => 'type test', + Type => 'Ticket', + ); + ok($ok, "Ticket allows passing upper-case Ticket as type during Create"); + is($t->Type, "ticket", "Ticket type is lowercased during create"); + + ($ok) = $t->SetType("REMINDER"); + ok($ok, "Ticket allows passing upper-case REMINDER to SetType"); + is($t->Type, "reminder", "Ticket type is lowercased during set"); + + ($ok) = $t->SetType("OTHER"); + ok($ok, "Allows setting Type to non-RT types"); + is($t->Type, "OTHER", "Non-RT types are case-insensitive"); + + ($ok) = $t->Create( + Queue => 'general', + Subject => 'type test', + Type => 'Approval', + ); + ok($ok, "Tickets can be created with an upper-case Approval type"); + is($t->Type, "approval", "Approvals, the third and final internal type, are also lc'd during Create"); +} + +done_testing;