Skip to content

Commit

Permalink
Merge pull request #845 from OneZoom/issue-841-sponsor_renew_request-…
Browse files Browse the repository at this point in the history
…redirect

controllers/default: 303 redirect after sponsor_renew_request
  • Loading branch information
lentinj committed Apr 30, 2024
2 parents 2d2161b + a1e5587 commit aa550ec
Show file tree
Hide file tree
Showing 2 changed files with 50 additions and 1 deletion.
3 changes: 2 additions & 1 deletion controllers/default.py
Original file line number Diff line number Diff line change
Expand Up @@ -631,10 +631,11 @@ def sponsor_renew_request():
INPUT(_name='user_identifier', _class="uk-input uk-margin-bottom"),
INPUT(_type='submit', _class="oz-pill pill-leaf"))
if form.accepts(request.vars, session=None):
response.flash = sponsor_renew_request_logic(
session.flash = sponsor_renew_request_logic(
form.vars.user_identifier.strip(),
mailer=ozmail.get_mailer()
)
redirect(URL())
return dict(
form=form,
)
Expand Down
48 changes: 48 additions & 0 deletions tests/unit/test_controllers_default_sponsor.py
Original file line number Diff line number Diff line change
Expand Up @@ -83,6 +83,54 @@ def test_sponsor_renew(self):
self.assertEqual(str(out['all_row_categories'][2]['title']), 'Expired sponsorships')
self.assertEqual([r.OTT_ID for r in out['all_row_categories'][2]['rows']], [r.OTT_ID for r in rs])

def test_sponsor_renew_request(self):
email_1, user_1 = '[email protected]', '1_bettyunittestexamplecom'

def srr(user_identifier):
current.request.scheme = True
current.request.extension = 'html'
current.request.controller = 'default'
current.request.function = 'sponsor_renew_request'
current.request.vars.clear()
current.session.flash = None
current.globalenv['myconf']['smtp'] = dict(autosend_email=0)
if user_identifier:
current.request.vars['user_identifier'] = user_identifier
current.request.vars['_formname'] = 'default'
try:
out = default.sponsor_renew_request()
except HTTP as e:
return dict(
status=e.status,
location=e.headers.get('Location'),
flash=current.session.flash,
)
return dict(
status=current.response.status,
flash=current.session.flash,
form_errors=dict(out['form'].errors),
form_latest=dict(out['form'].latest),
)

# Empty form, no message
self.assertEqual(srr(None), dict(
status=200,
flash=None,
form_errors={},
form_latest={'user_identifier': None},
))
# Sumbit something, get told we'll send an e-mail in a redirect (not a 200)
self.assertEqual(srr(user_1), dict(
status=303,
location='/sponsor_renew_request',
flash='If the user %s exists in our database, we will send them an email' % user_1,
))
self.assertEqual(srr(email_1), dict(
status=303,
location='/sponsor_renew_request',
flash='If the user %s exists in our database, we will send them an email' % email_1,
))


if __name__ == '__main__':
import sys
Expand Down

0 comments on commit aa550ec

Please sign in to comment.