X-Git-Url: http://git.freeside.biz/gitweb/?a=blobdiff_plain;f=rt%2Ft%2Fweb%2Fcf_datetime.t;h=72a8b3f7e7a58e0b8a6b0daaea73d52ad04c058a;hb=ed1f84b4e8f626245995ecda5afcf83092c153b2;hp=9781c5e2e14531ec52e2b4bab0acc1c72c079d73;hpb=a6fe07e49e3fc12169e801b1ed6874c3a5bd8500;p=freeside.git diff --git a/rt/t/web/cf_datetime.t b/rt/t/web/cf_datetime.t index 9781c5e2e..72a8b3f7e 100644 --- a/rt/t/web/cf_datetime.t +++ b/rt/t/web/cf_datetime.t @@ -1,9 +1,8 @@ -#!/usr/bin/perl use strict; use warnings; -use RT::Test tests => 51; +use RT::Test tests => undef; RT->Config->Set( 'Timezone' => 'EST5EDT' ); # -04:00 my ($baseurl, $m) = RT::Test->started_ok; @@ -210,6 +209,96 @@ diag 'check invalid inputs'; $m->content_contains('test cf datetime:', 'has cf datetime field on the page'); $m->content_lacks('foodate', 'invalid dates not set'); + + my @warnings = $m->get_warnings; + chomp @warnings; + is_deeply( @warnings, q{Couldn't parse date 'foodate' by Time::ParseDate} ); +} + +diag 'retain values when adding attachments'; +{ + my ( $ticket, $id ); + + my $txn_cf = RT::CustomField->new( RT->SystemUser ); + my ( $ret, $msg ) = $txn_cf->Create( + Name => 'test txn cf datetime', + TypeComposite => 'DateTime-1', + LookupType => 'RT::Queue-RT::Ticket-RT::Transaction', + ); + ok( $ret, "created 'txn datetime': $msg" ); + $txn_cf->AddToObject(RT::Queue->new(RT->SystemUser)); + my $txn_cfid = $txn_cf->id; + + $m->submit_form( + form_name => "CreateTicketInQueue", + fields => { Queue => 'General' }, + ); + $m->content_contains('test cf datetime', 'has cf' ); + $m->content_contains('test txn cf datetime', 'has txn cf' ); + + $m->submit_form_ok( + { + form_name => "TicketCreate", + fields => { + Subject => 'test 2015-06-04', + Content => 'test', + "Object-RT::Ticket--CustomField-$cfid-Values" => '2015-06-04 08:30:00', + "Object-RT::Transaction--CustomField-$txn_cfid-Values" => '2015-08-15 12:30:30', + }, + button => 'AddMoreAttach', + }, + 'Create test ticket' + ); + $m->form_name("TicketCreate"); + is( $m->value( "Object-RT::Ticket--CustomField-$cfid-Values" ), + "2015-06-04 08:30:00", "ticket cf date value still on form" ); + $m->content_contains( "Jun 04 08:30:00 2015", 'date in parens' ); + is( $m->value( "Object-RT::Transaction--CustomField-$txn_cfid-Values" ), + "2015-08-15 12:30:30", "txn cf date date value still on form" ); + $m->content_contains( "Aug 15 12:30:30 2015", 'date in parens' ); + + $m->submit_form(); + ok( ($id) = $m->content =~ /Ticket (\d+) created/, "Created ticket $id" ); + + $m->follow_link_ok( {text => 'Reply'} ); + $m->title_like( qr/Update/ ); + $m->content_contains('test txn cf date', 'has txn cf'); + $m->submit_form_ok( + { + form_name => "TicketUpdate", + fields => { + Content => 'test', + "Object-RT::Transaction--CustomField-$txn_cfid-Values" => '2015-09-16 09:30:40', + }, + button => 'AddMoreAttach', + }, + 'Update test ticket' + ); + $m->form_name("TicketUpdate"); + is( $m->value( "Object-RT::Transaction--CustomField-$txn_cfid-Values" ), + "2015-09-16 09:30:40", "Date value still on form" ); + $m->content_contains( "Sep 16 09:30:40 2015", 'date in parens' ); + + $m->follow_link_ok( {text => 'Jumbo'} ); + $m->title_like( qr/Jumbo/ ); + + $m->submit_form_ok( + { + form_name => "TicketModifyAll", + fields => { + "Object-RT::Transaction--CustomField-$txn_cfid-Values" => + '2015-12-16 03:00:00', + }, + button => 'AddMoreAttach', + }, + 'jumbo form' + ); + $m->save_content('/tmp/x.html'); + + $m->form_name("TicketModifyAll"); + is( $m->value( "Object-RT::Transaction--CustomField-$txn_cfid-Values" ), + "2015-12-16 03:00:00", "txn date value still on form" ); + $m->content_contains( "Dec 16 03:00:00 2015", 'date in parens' ); } sub is_results_number { @@ -233,3 +322,4 @@ sub is_results_number { # to make $m->DESTROY happy undef $m; +done_testing;