migrate Product www_editSpecification to FormBuilder

This commit is contained in:
Doug Bell 2011-01-25 13:42:42 -06:00
parent f157ddfe58
commit ed70aa8929
2 changed files with 91 additions and 29 deletions

View file

@ -1301,41 +1301,41 @@ sub www_editSpecification {
my $i18n = WebGUI::International->new($self->session,'Asset_Product');
my $data = $self->getCollateral('specificationJSON', 'specificationId', $sid);
my $f = WebGUI::HTMLForm->new($self->session,-action=>$self->getUrl);
my $f = WebGUI::FormBuilder->new($self->session,action=>$self->getUrl);
$f->hidden(
-name => 'sid',
-value => $sid,
$f->addField( "hidden",
name => 'sid',
value => $sid,
);
$f->hidden(
-name => 'func',
-value => 'editSpecificationSave',
$f->addField( "hidden",
name => 'func',
value => 'editSpecificationSave',
);
$f->text(
-name => 'name',
-label => $i18n->get(26),
-hoverHelp => $i18n->get('26 description'),
-value => $data->{name},
$f->addField( "text",
name => 'name',
label => $i18n->get(26),
hoverHelp => $i18n->get('26 description'),
value => $data->{name},
);
$f->text(
-name => 'value',
-label => $i18n->get(27),
-hoverHelp => $i18n->get('27 description'),
-value => $data->{value},
$f->addField( "text",
name => 'value',
label => $i18n->get(27),
hoverHelp => $i18n->get('27 description'),
value => $data->{value},
);
$f->text(
-name => 'units',
-label => $i18n->get(29),
-hoverHelp => $i18n->get('29 description'),
-value => $data->{units},
$f->addField( "text",
name => 'units',
label => $i18n->get(29),
hoverHelp => $i18n->get('29 description'),
value => $data->{units},
);
$f->yesNo(
-name => 'proceed',
-label => $i18n->get(28),
-hoverHelp => $i18n->get('28 description'),
$f->addField( "yesNo",
name => 'proceed',
label => $i18n->get(28),
hoverHelp => $i18n->get('28 description'),
);
$f->submit;
return $self->getAdminConsole->render($f->print, 'product specification add/edit');
$f->addField( "submit", name => "submit" );
return $f->toHtml;
}
#-------------------------------------------------------------------

View file

@ -36,7 +36,7 @@ my $session = WebGUI::Test->session;
#----------------------------------------------------------------------------
# Tests
plan tests => 49; # Increment this number for each test you create
plan tests => 58; # Increment this number for each test you create
#----------------------------------------------------------------------------
# put your tests here
@ -349,3 +349,65 @@ cmp_deeply(
],
);
#----------------------------------------------------------------------------
# editSpecification
my $mech = WebGUI::Test::Mechanize->new( config => WebGUI::Test->file );
$mech->get_ok( '/' );
$mech->session->user({ userId => 3 });
$mech->get_ok( $product->getUrl( 'func=editSpecification' ) );
$mech->submit_form_ok({
fields => {
name => "One",
value => "1",
units => "Oneitude",
proceed => 1,
},
}, 'add one new specification');
$product = $product->cloneFromDb;
cmp_deeply(
$product->getAllCollateral( 'specificationJSON' ),
[
{ name => "One", value => "1", units => "Oneitude", specificationId => ignore(), },
],
);
$mech->submit_form_ok({
fields => {
name => "Cold",
value => "2",
units => "Colditude",
proceed => 0,
},
}, 'add one more new feature' );
$product = $product->cloneFromDb;
cmp_deeply(
$product->getAllCollateral( 'specificationJSON' ),
[
{ name => "One", value => "1", units => "Oneitude", specificationId => ignore(), },
{ name => "Cold", value => "2", units => "Colditude", specificationId => ignore(), },
],
);
my $spec = $product->getAllCollateral( 'specificationJSON' )->[0];
$mech->get_ok( $product->getUrl( 'func=editSpecification;sid=' . $spec->{specificationId} ) );
$mech->submit_form_ok( {
fields => {
name => "Oneitude",
value => "3",
units => "Ones",
},
}, 'edit an existing specification' );
$product = $product->cloneFromDb;
cmp_deeply(
$product->getAllCollateral( 'specificationJSON' ),
[
{ name => "Oneitude", value => "3", units => "Ones", specificationId => $spec->{specificationId}, },
{ name => "Cold", value => "2", units => "Colditude", specificationId => ignore(), },
],
);