From caf3c190801ce03948acd00166577ea54dc95fb3 Mon Sep 17 00:00:00 2001 From: Doug Bell Date: Tue, 25 Jan 2011 18:05:17 -0600 Subject: [PATCH] migrate Subscription redeem code to FormBuilder --- lib/WebGUI/Asset/Sku/Subscription.pm | 10 +++++----- t/Asset/Sku/Subscription.t | 24 +++++++++++++++++++++--- 2 files changed, 26 insertions(+), 8 deletions(-) diff --git a/lib/WebGUI/Asset/Sku/Subscription.pm b/lib/WebGUI/Asset/Sku/Subscription.pm index ed392d2de..699aaff7b 100644 --- a/lib/WebGUI/Asset/Sku/Subscription.pm +++ b/lib/WebGUI/Asset/Sku/Subscription.pm @@ -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)); } diff --git a/t/Asset/Sku/Subscription.t b/t/Asset/Sku/Subscription.t index 2ae6c1cfa..819a63f19 100644 --- a/t/Asset/Sku/Subscription.t +++ b/t/Asset/Sku/Subscription.t @@ -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" );