migrate Product www_editBenefit to FormBuilder

This commit is contained in:
Doug Bell 2011-01-25 13:20:51 -06:00
parent 078397b015
commit eda2756d76
2 changed files with 73 additions and 19 deletions

View file

@ -1174,28 +1174,28 @@ sub www_editBenefit {
return $self->session->privilege->insufficient() unless ($self->canEdit);
my $data = $self->getCollateral('benefitJSON', 'benefitId', $bid);
my $i18n = WebGUI::International->new($self->session,'Asset_Product');
my $f = WebGUI::HTMLForm->new($self->session,-action=>$self->getUrl);
$f->hidden(
-name => 'bid',
-value => $bid,
my $f = WebGUI::FormBuilder->new($self->session,action=>$self->getUrl);
$f->addField( "hidden",
name => 'bid',
value => $bid,
);
$f->hidden(
-name => 'func',
-value => 'editBenefitSave',
$f->addField( "hidden",
name => 'func',
value => 'editBenefitSave',
);
$f->text(
-name => 'benefit',
-label => $i18n->get(51),
-hoverHelp => $i18n->get('51 description'),
-value => $data->{benefit},
$f->addField( "text",
name => 'benefit',
label => $i18n->get(51),
hoverHelp => $i18n->get('51 description'),
value => $data->{benefit},
);
$f->yesNo(
-name => 'proceed',
-label => $i18n->get(52),
-hoverHelp => $i18n->get('52 description'),
$f->addField( "yesNo",
name => 'proceed',
label => $i18n->get(52),
hoverHelp => $i18n->get('52 description'),
);
$f->submit;
return $self->getAdminConsole->render($f->print, 'product benefit add/edit');
$f->addField( "submit", name => "submit" );
return $f->toHtml;
}
#-------------------------------------------------------------------

View file

@ -36,7 +36,7 @@ my $session = WebGUI::Test->session;
#----------------------------------------------------------------------------
# Tests
plan tests => 31; # Increment this number for each test you create
plan tests => 40; # Increment this number for each test you create
#----------------------------------------------------------------------------
# put your tests here
@ -242,3 +242,57 @@ cmp_deeply(
[ { relatedAssetId => $imagedProduct->getId }, { relatedAssetId => $viewProduct->getId } ],
);
#----------------------------------------------------------------------------
# editBenefit
my $mech = WebGUI::Test::Mechanize->new( config => WebGUI::Test->file );
$mech->get_ok( '/' );
$mech->session->user({ userId => 3 });
$mech->get_ok( $product->getUrl( 'func=editBenefit' ) );
$mech->submit_form_ok({
fields => {
benefit => 'One new benefit',
proceed => 1,
},
}, 'add one new benefit');
$product = $product->cloneFromDb;
cmp_deeply(
$product->getAllCollateral( 'benefitJSON' ),
[ { benefit => 'One new benefit', benefitId => ignore() } ],
);
$mech->submit_form_ok({
fields => {
benefit => 'Two new benefit',
proceed => 0,
},
}, 'add one more new benefit' );
$product = $product->cloneFromDb;
cmp_deeply(
$product->getAllCollateral( 'benefitJSON' ),
[
{ benefit => 'One new benefit', benefitId => ignore() },
{ benefit => 'Two new benefit', benefitId => ignore() },
],
);
my $benefit = $product->getAllCollateral( 'benefitJSON' )->[0];
$mech->get_ok( $product->getUrl( 'func=editBenefit;bid=' . $benefit->{benefitId} ) );
$mech->submit_form_ok( {
fields => {
benefit => 'One edited benefit',
},
}, 'edit an existing benefit' );
$product = $product->cloneFromDb;
cmp_deeply(
$product->getAllCollateral( 'benefitJSON' ),
[
{ benefit => 'One edited benefit', benefitId => ignore() },
{ benefit => 'Two new benefit', benefitId => ignore() },
],
);