codeforamerica/intake

View on GitHub
features/steps/user_accounts_steps.py

Summary

Maintainability
A
0 mins
Test Coverage
from urllib.parse import urljoin
from behave import given, when
from user_accounts.tests import factories
from user_accounts.models import Organization
from intake import groups
from django.conf import settings
from features.steps import form_input_steps


@given('an applicant support user')
def load_applicant_support_user(context):
    org = Organization.objects.get(slug='cfa')
    factories.profile_for_org_and_group_names(
        org, group_names=[groups.FOLLOWUP_STAFF, groups.APPLICATION_REVIEWERS],
        is_staff=True)


@given('an org user')
@given('an org user at "{org_slug}"')
def load_org_user(context, org_slug='ebclc'):
    org = Organization.objects.get(slug=org_slug)
    factories.profile_for_org_and_group_names(
        org, group_names=[groups.APPLICATION_REVIEWERS])


@when('I log in as "{email}"')
def login_as(context, email):
    context.browser.get(
        urljoin(context.test.live_server_url, '/accounts/login/'))
    form_input_steps.fill_text_input(context, 'login', email)
    form_input_steps.fill_text_input(
        context, 'password', settings.TEST_USER_PASSWORD)
    form_input_steps.click_submit_button(context)
    context.execute_steps('''Then it should load "accounts/profile/"''')


@given('I log in as an applicant support user')
def login_as_applicant_support_user(context):
    login_as(context, "cmrtestuser+cfa@gmail.com")


@given('I log in as an org user')
@given('I log in as an org user at "{org_slug}"')
@when('I log in as an org user at "{org_slug}"')
def login_as_org_user(context, org_slug='ebclc'):
    login_as(
        context, "cmrtestuser+{}@gmail.com".format(org_slug))


@given('a superuser')
def load_superuser(context):
    org = Organization.objects.get(slug='cfa')
    factories.profile_for_org_and_group_names(
        org, group_names=[groups.FOLLOWUP_STAFF, groups.APPLICATION_REVIEWERS],
        is_staff=True, is_superuser=True, username='superuser')


@given('I log in as a superuser')
def login_as_superuser(context):
    login_as(context, "cmrtestuser+superuser@gmail.com")