def test_send_verification_code_email(mock_submit):
    email = '*****@*****.**'
    verification_code = {
        'code': 12345,
        'expiration_date': '2019-02-10T13:19:51.167097Z'
    }
    form_url = 'test'
    verification_link = 'test/url/'

    mock_submit.return_value = create_response(status_code=201)
    helpers.send_verification_code_email(email=email,
                                         verification_code=verification_code,
                                         form_url=form_url,
                                         verification_link=verification_link)

    expected = {
        'data': {
            'code': 12345,
            'expiry_date': '10 Feb 2019, 1:19 p.m.',
            'verification_link': verification_link
        },
        'meta': {
            'action_name': 'gov-notify-email',
            'form_url': form_url,
            'sender': {},
            'spam_control': {},
            'template_id': 'a1eb4b0c-9bab-44d3-ac2f-7585bf7da24c',
            'email_address': email
        }
    }
    assert mock_submit.call_count == 1
    assert mock_submit.call_args == mock.call(expected)
def test_send_verification_code_email(mock_submit):
    email = '*****@*****.**'
    verification_code = {
        'code': 12345,
        'expiration_date': '2019-02-10T13:19:51.167097Z'
    }
    form_url = 'test'

    mock_submit.return_value = create_response(201)
    helpers.send_verification_code_email(
        email=email,
        verification_code=verification_code,
        form_url=form_url,
    )

    expected = {
        'data': {
            'code': 12345,
            'expiry_date': '10 Feb 2019, 1:19 p.m.'
        },
        'meta': {
            'action_name': 'gov-notify-email',
            'form_url': form_url,
            'sender': {},
            'spam_control': {},
            'template_id': 'aa4bb8dc-0e54-43d1-bcc7-a8b29d2ecba6',
            'email_address': email
        }
    }
    assert mock_submit.call_count == 1
    assert mock_submit.call_args == mock.call(expected)
 def process_step(self, form):
     if form.prefix == constants.USER_ACCOUNT:
         response = sso_api_client.user.create_user(
             email=form.cleaned_data['email'],
             password=form.cleaned_data['password'],
         )
         if response.status_code == 400:
             errors = response.json()
             if 'password' in errors:
                 self.storage.set_step_data(
                     constants.USER_ACCOUNT, {
                         form.add_prefix('remote_password_error'):
                         errors['password']
                     })
                 raise RemotePasswordValidationError(form)
             elif 'email' in errors:
                 helpers.notify_already_registered(
                     email=form.cleaned_data['email'],
                     form_url=self.request.path)
         else:
             response.raise_for_status()
             user_details = response.json()
             helpers.send_verification_code_email(
                 email=user_details['email'],
                 verification_code=user_details['verification_code'],
                 form_url=self.request.path,
                 verification_link=self.verification_link_url)
     return super().process_step(form)
 def process_step(self, form):
     if form.prefix == constants.RESEND_VERIFICATION:
         email = form.cleaned_data['email']
         verification_code = helpers.regenerate_verification_code(email)
         if verification_code:
             helpers.send_verification_code_email(
                 email=email,
                 verification_code=verification_code,
                 form_url=self.request.path,
                 verification_link=self.verification_link_url,
             )
     return super().process_step(form)
Esempio n. 5
0
 def render_next_step(self, form, **kwargs):
     response = super().render_next_step(form, **kwargs)
     if form.prefix == RESEND_VERIFICATION:
         email = form.cleaned_data['email']
         verification_code = helpers.regenerate_verification_code(email)
         if verification_code:
             helpers.send_verification_code_email(
                 email=email,
                 verification_code=verification_code,
                 form_url=self.request.path,
             )
     return response
Esempio n. 6
0
 def render_next_step(self, form, **kwargs):
     response = super().render_next_step(form, **kwargs)
     if form.prefix == USER_ACCOUNT:
         # Check if we have a user, else the user is already registered
         if form.cleaned_data['user_details']:
             user_details = form.cleaned_data['user_details']
             helpers.send_verification_code_email(
                 email=user_details['email'],
                 verification_code=user_details['verification_code'],
                 form_url=self.request.path,
             )
         else:
             helpers.notify_already_registered(
                 email=form.cleaned_data['email'],
                 form_url=self.request.path)
     elif form.prefix == VERIFICATION:
         response.cookies.update(form.cleaned_data['cookies'])
     return response