1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
|
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))
|