import json from lettuce import step, world from nose.tools import assert_false, assert_true from steps import login, get_fixture, create_poll_result_file, click_on from polls.models import Poll @step(u'Given I am logged in as "([^"]*)"') def given_i_am_logged_in_as_rol(step, rol): roles2generic_users = { 'Administrator': 'admin', 'Researcher': 'researcher' } browser = world.browser username = roles2generic_users[rol] password = username login(browser, username, password) assert_true(browser.is_text_present(username)) @step(u'And "([^"]*)" has "([^"]*)"') def and_poll_has_poll_result(step, poll_name, poll_result_name): poll_result_path = get_fixture(poll_result_name) poll_id = world.poll_id.__str__() with open(poll_result_path) as f: poll_result_data = json.load(f, "utf-8") poll_result_data['poll_id'] = poll_id poll_result_data['pollster_username'] = "encuestador" poll_result_data['pollster_id'] = '1' poll_result_path = create_poll_result_file(poll_result_data, poll_result_name) poll = Poll.get(poll_id) path_and_name = (poll_result_path, poll_result_name) poll.add_result_files([path_and_name]) @step(u'click on "([^"]*)"') def click_on_name(step, name): b = world.browser click_on(b, name) @step(u'And There is no text "([^"]*)"') def and_there_is_no_text(step, text): b = world.browser assert_false(b.is_text_present(text))