migrate IOB view to FormBuilder + test cleanup

This commit is contained in:
Doug Bell 2011-02-02 16:33:07 -06:00
parent 0a67593bb0
commit ed718c1891
2 changed files with 36 additions and 36 deletions

View file

@ -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');
}

View file

@ -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},