migrate IOB view to FormBuilder + test cleanup
This commit is contained in:
parent
0a67593bb0
commit
ed718c1891
2 changed files with 36 additions and 36 deletions
|
|
@ -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');
|
||||
}
|
||||
|
|
|
|||
|
|
@ -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},
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue