diff --git a/lib/WebGUI/Asset/Wobject/InOutBoard.pm b/lib/WebGUI/Asset/Wobject/InOutBoard.pm index c74032385..5bf56e86b 100644 --- a/lib/WebGUI/Asset/Wobject/InOutBoard.pm +++ b/lib/WebGUI/Asset/Wobject/InOutBoard.pm @@ -2,7 +2,7 @@ package WebGUI::Asset::Wobject::InOutBoard; use strict; -use WebGUI::HTMLForm; +use WebGUI::FormBuilder; use WebGUI::International; use WebGUI::Paginator; use WebGUI::SQL; @@ -207,7 +207,7 @@ sub view { [ $self->getId, $session->user->userId ] ); - my $f = WebGUI::HTMLForm->new($session,-action=>$self->getUrl); + my $f = WebGUI::FormBuilder->new($session,-action=>$self->getUrl); if (@users) { my %names = ( $self->_fetchNames(@users), @@ -220,7 +220,7 @@ sub view { keys %names ; - $f->selectBox( + $f->addField( "selectBox", -name=>"delegate", -options=>\@options, -value=>[ $session->scratch->get("userId") ], @@ -229,23 +229,23 @@ sub view { -extras=>q|onchange="this.form.submit();"|, ); } - $f->radioList( + $f->addField( "radioList", -name=>"status", -value=>$status, -options=>\%statusOptions, -label=>$i18n->get(5), -hoverHelp=>$i18n->get('5 description'), ); - $f->text( + $f->addField( "text", -name=>"message", -label=>$i18n->get(6), -hoverHelp=>$i18n->get('6 description'), ); - $f->hidden( + $f->addField( "hidden", -name=>"func", -value=>"setStatus" ); - $f->submit; + $f->addField( "submit", name => "submit" ); my ($isInGroup) = $session->db->quickArray( "select count(*) from groupings where userId=? and groupId=?", @@ -253,7 +253,7 @@ sub view { ); if ($isInGroup) { $var{displayForm} = 1; - $var{'form'} = $f->print; + $var{'form'} = $f->toHtml; $var{'selectDelegatesURL'} = $self->getUrl("func=selectDelegates"); $var{'selectDelegatesLabel'} = $i18n->get('select delegates label'); } diff --git a/t/Asset/Wobject/InOutBoard.t b/t/Asset/Wobject/InOutBoard.t index b1f01c8ad..73fd798ef 100644 --- a/t/Asset/Wobject/InOutBoard.t +++ b/t/Asset/Wobject/InOutBoard.t @@ -16,8 +16,9 @@ use Test::MockObject::Extends; use WebGUI::Test; use WebGUI::Test::MockAsset; +use WebGUI::Test::Mechanize; use WebGUI::Session; -use Test::More tests => 9; # increment this value for each test you create +use Test::More tests => 15; # increment this value for each test you create use Test::Deep; use Data::Dumper; @@ -44,16 +45,9 @@ foreach my $name (@names) { } WebGUI::Test->addToCleanup(@users); -# Do our work in the import node -my $node = WebGUI::Asset->getImportNode($session); - -my $versionTag = WebGUI::VersionTag->getWorking($session); -$versionTag->set({name=>"InOutBoard Test"}); -WebGUI::Test->addToCleanup($versionTag); -my $board = $node->addChild({ +my $board = WebGUI::Test->asset( className => 'WebGUI::Asset::Wobject::InOutBoard', - inOutTemplateId => $templateId, -}); +); $board->prepareView(); @@ -66,13 +60,17 @@ isa_ok($board, 'WebGUI::Asset::Wobject::InOutBoard'); # ################################################################ -$session->request->setup_body({ - delegate => $users[0]->userId, - status => 'In', - message => 'work time', -}); -$session->scratch->set('userId', $users[0]->userId); -$board->www_setStatus; +my $mech = WebGUI::Test::Mechanize->new( config => WebGUI::Test->file ); +$mech->get_ok( '/' ); +$mech->session->user({ user => $users[0] }); + +$mech->get_ok( $board->getUrl ); +$mech->submit_form_ok({ + fields => { + status => 'In', + message => 'work time', + }, +}, "update status" ); my $status; $status = $session->db->quickHashRef('select * from InOutBoard_status where assetId=? and userId=?',[$board->getId, $users[0]->userId]); cmp_deeply( @@ -96,18 +94,22 @@ cmp_deeply( status => 'In', message => 'work time', dateStamp => re('^\d+$'), - createdBy => 1, + createdBy => $users[0]->getId, }, '... set statusLog for a user' ); -$session->scratch->set('userId', $users[1]->userId); -$session->request->setup_body({ - delegate => $users[1]->userId, - status => undef, - message => 'work time', +my $mech = WebGUI::Test::Mechanize->new( config => WebGUI::Test->file ); +$mech->get_ok( '/' ); +$mech->session->user({ user => $users[1] }); + +$mech->get_ok( $board->getUrl ); +$mech->submit_form_ok({ + fields => { + status => undef, + message => 'work time', + }, }); -$board->www_setStatus; $status = $session->db->quickHashRef('select * from InOutBoard_status where assetId=? and userId=?',[$board->getId, $users[1]->userId]); cmp_deeply( $status, @@ -122,10 +124,6 @@ cmp_deeply( '... no statusLog set when status is blank' ); - -$session->request->setup_body({ }); -$session->scratch->delete('userId'); - ################################################################ # # getStatusList @@ -140,6 +138,8 @@ is_deeply [$board->getStatusList], [qw(In Out Home Lunch)], 'getStatusList'; # ################################################################ +$board->update({ inOutTemplateId => $templateId }); +$board->prepareView; $board->view; cmp_bag( $templateVars->{rows_loop},