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

View file

@ -35,7 +35,7 @@ WebGUI::Test->addToCleanup($user);
#---------------------------------------------------------------------------- #----------------------------------------------------------------------------
# Tests # 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 # put your tests here
@ -138,8 +138,8 @@ my $batchId = $session->db->setRow( 'Subscription_codeBatch', 'batchId', {
name => "Fired!", name => "Fired!",
description => "Sign up to get fired!", description => "Sign up to get fired!",
subscriptionId => $sku->getId, subscriptionId => $sku->getId,
expirationDate => 3600 * 24 * 7, expirationDate => time + 3600 * 24 * 7,
dateCreated => time+1500, dateCreated => time + 1500,
}); });
$mech->get_ok( $sku->getUrl( 'func=listSubscriptionCodeBatches' ) ); $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_contains( $codes->[1]{code} );
$mech->content_lacks( $codeId ); $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" );