from lettuce import step, world from django.contrib.auth.models import User @step('I am an unactivated user$') def i_am_an_unactivated_user(step): user_is_an_unactivated_user('robot') @step('I am an activated user$') def i_am_an_activated_user(step): user_is_an_activated_user('robot') @step('I submit my credentials on the login form') def i_submit_my_credentials_on_the_login_form(step): fill_in_the_login_form('email', 'robot@edx.org') fill_in_the_login_form('password', 'test') login_form = world.browser.find_by_css('form#login_form') login_form.find_by_value('Access My Courses').click() @step(u'I should see the login error message "([^"]*)"$') def i_should_see_the_login_error_message(step, msg): login_error_div = world.browser.find_by_css('form#login_form #login_error') assert (msg in login_error_div.text) @step(u'click the dropdown arrow$') def click_the_dropdown(step): css = ".dropdown" e = world.browser.find_by_css(css) e.click() #### helper functions def user_is_an_unactivated_user(uname): u = User.objects.get(username=uname) u.is_active = False u.save() def user_is_an_activated_user(uname): u = User.objects.get(username=uname) u.is_active = True u.save() def fill_in_the_login_form(field, value): login_form = world.browser.find_by_css('form#login_form') form_field = login_form.find_by_name(field) form_field.fill(value)