migrate Subscription redeem code to FormBuilder

This commit is contained in:
Doug Bell 2011-01-25 18:05:17 -06:00
parent d35e128528
commit caf3c19080
2 changed files with 26 additions and 8 deletions

View file

@ -994,20 +994,20 @@ sub www_redeemSubscriptionCode {
$var->{ message } = $i18n->get('redeem code ask for code');
}
my $f = WebGUI::HTMLForm->new( $session );
$f->hidden(
my $f = WebGUI::FormBuilder->new( $session );
$f->addField( "hidden",
-name => 'func',
-value => 'redeemSubscriptionCode'
);
$f->text(
$f->addField( "text",
-name => 'code',
-label => $i18n->get('code'),
-hoverHelp => $i18n->get('code description'),
-maxLength => 64,
-size => 30
);
$f->submit;
$var->{ codeForm } = $f->print;
$f->addField( "submit", name => "submit" );
$var->{ codeForm } = $f->toHtml;
return $self->processStyle($self->processTemplate($var, $self->redeemSubscriptionCodeTemplateId));
}

View file

@ -35,7 +35,7 @@ WebGUI::Test->addToCleanup($user);
#----------------------------------------------------------------------------
# Tests
plan tests => 32; # Increment this number for each test you create
plan tests => 39; # Increment this number for each test you create
#----------------------------------------------------------------------------
# put your tests here
@ -138,8 +138,8 @@ my $batchId = $session->db->setRow( 'Subscription_codeBatch', 'batchId', {
name => "Fired!",
description => "Sign up to get fired!",
subscriptionId => $sku->getId,
expirationDate => 3600 * 24 * 7,
dateCreated => time+1500,
expirationDate => time + 3600 * 24 * 7,
dateCreated => time + 1500,
});
$mech->get_ok( $sku->getUrl( 'func=listSubscriptionCodeBatches' ) );
@ -213,5 +213,23 @@ $mech->content_contains( $codes->[0]{code} );
$mech->content_contains( $codes->[1]{code} );
$mech->content_lacks( $codeId );
#----------------------------------------------------------------------------
# www_redeemSubscriptionCode
my $mech = WebGUI::Test::Mechanize->new( config => WebGUI::Test->file );
$mech->get_ok( '/' );
$mech->session->user({ userId => 3 });
$mech->get_ok( $sku->getUrl( 'func=redeemSubscriptionCode' ) );
$mech->submit_form_ok({
fields => {
code => $codes->[0]{code},
},
}, "redeem a code" );
my $i18n = WebGUI::International->new($session, "Asset_Subscription");
$mech->content_contains( $i18n->get('redeem code success') );
my %redeemed = $session->db->quickHash( "SELECT * FROM Subscription_code WHERE code=?", [ $codeId ] );
is( $redeemed{status}, 'Used', "status updated" );
is( $redeemed{usedBy}, $mech->session->user->userId, "used by updated" );
cmp_ok( $redeemed{dateUsed}, '>=', time, "dateUsed updated" );