diff options
author | Ivan Kohler <ivan@freeside.biz> | 2012-04-24 11:35:56 -0700 |
---|---|---|
committer | Ivan Kohler <ivan@freeside.biz> | 2012-04-24 11:35:56 -0700 |
commit | 6587f6ba7d047ddc1686c080090afe7d53365bd4 (patch) | |
tree | ec77342668e8865aca669c9b4736e84e3077b523 /rt/t/customfields/date_search.t | |
parent | 47153aae5c2fc00316654e7277fccd45f72ff611 (diff) |
first pass RT4 merge, RT#13852
Diffstat (limited to 'rt/t/customfields/date_search.t')
-rw-r--r-- | rt/t/customfields/date_search.t | 119 |
1 files changed, 119 insertions, 0 deletions
diff --git a/rt/t/customfields/date_search.t b/rt/t/customfields/date_search.t new file mode 100644 index 000000000..b425b9e36 --- /dev/null +++ b/rt/t/customfields/date_search.t @@ -0,0 +1,119 @@ +#!/usr/bin/perl + +use warnings; +use strict; + +use RT::Test nodata => 1, tests => 13; + +my $q = RT::Queue->new(RT->SystemUser); +ok( $q->Create( Name => 'DateCFTest' . $$ ), 'create queue' ); + +my $cf = RT::CustomField->new(RT->SystemUser); +ok( + $cf->Create( + Name => 'date-' . $$, + Type => 'Date', + MaxValues => 1, + LookupType => RT::Ticket->CustomFieldLookupType, + ), + 'create cf date' +); +ok( $cf->AddToObject($q), 'date cf apply to queue' ); + +my $ticket = RT::Ticket->new(RT->SystemUser); + +ok( + $ticket->Create( + Queue => $q->id, + Subject => 'Test', + 'CustomField-' . $cf->id => '2010-05-04', + ), + 'create ticket with cf set to 2010-05-04' +); + +is( $ticket->CustomFieldValues->First->Content, '2010-05-04', 'date in db is' ); + +{ + + my $tickets = RT::Tickets->new(RT->SystemUser); + $tickets->LimitCustomField( + CUSTOMFIELD => $cf->id, + OPERATOR => '=', + VALUE => '2010-05-04', + ); + is( $tickets->Count, 1, 'found the ticket with exact date: 2010-05-04' ); + +} + +{ + my $tickets = RT::Tickets->new(RT->SystemUser); + $tickets->LimitCustomField( + CUSTOMFIELD => $cf->id, + OPERATOR => '>', + VALUE => '2010-05-03', + ); + + is( $tickets->Count, 1, 'found ticket with > 2010-05-03' ); +} + +{ + my $tickets = RT::Tickets->new(RT->SystemUser); + $tickets->LimitCustomField( + CUSTOMFIELD => $cf->id, + OPERATOR => '<', + VALUE => '2010-05-05', + ); + + is( $tickets->Count, 1, 'found ticket with < 2010-05-05' ); +} + +{ + + my $tickets = RT::Tickets->new(RT->SystemUser); + $tickets->LimitCustomField( + CUSTOMFIELD => $cf->id, + OPERATOR => '=', + VALUE => '2010-05-05', + ); + + is( $tickets->Count, 0, 'did not find the ticket with = 2010-05-05' ); +} + +{ + + my $tickets = RT::Tickets->new(RT->SystemUser); + $tickets->LimitCustomField( + CUSTOMFIELD => $cf->id, + OPERATOR => '<', + VALUE => '2010-05-03', + ); + + is( $tickets->Count, 0, 'did not find the ticket with < 2010-05-03' ); +} + +{ + + my $tickets = RT::Tickets->new(RT->SystemUser); + $tickets->LimitCustomField( + CUSTOMFIELD => $cf->id, + OPERATOR => '>', + VALUE => '2010-05-05', + ); + + is( $tickets->Count, 0, 'did not find the ticket with > 2010-05-05' ); +} + +$ticket = RT::Ticket->new(RT->SystemUser); + +ok( + $ticket->Create( + Queue => $q->id, + Subject => 'Test', + 'CustomField-' . $cf->id => '2010-05-04 11:34:56', + ), + 'create ticket with cf set to 2010-05-04 11:34:56' +); + +is( $ticket->CustomFieldValues->First->Content, + '2010-05-04', 'date in db only has date' ); + |