Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- from selene import config
- from selene.support.conditions import be
- from selene.support.conditions import have
- from selene.tools import visit, s, ss, wait_to
- def test_tasks_life_cycle():
- config.browser_name = 'chrome'
- visit('https://todomvc4tasj.herokuapp.com/')
- clear_completed_js_loaded = "return $._data($('#clear-completed').get(0), 'events').hasOwnProperty('click')"
- wait_to(have.js_returned_true(clear_completed_js_loaded), config.timeout * 2)
- add('task1', 'task2', 'task3', 'task4')
- tasks_should_be('task1', 'task2', 'task3', 'task4')
- destroy('task2')
- toggle('task4')
- clear_completed()
- tasks_should_be('task1', 'task3')
- toggle_all()
- clear_completed()
- tasks_should_be()
- # можна і так... буде працювати... але читається поганувато... тому краще окремий метод створити tasks_should_be_empty
- # і в ньому і реалізацію підтюнити до should(be.empty)
- tasks = ss('#todo-list li')
- def add(*texts):
- for text in texts:
- s('#new-todo').set(text).press_enter()
- def destroy(task_text):
- tasks.element_by(have.exact_text(task_text)).click().element('.destroy').click()
- def toggle(task_text):
- tasks.element_by(have.exact_text(task_text)).element('.toggle').click()
- def toggle_all():
- s('#toggle-all').click()
- def clear_completed():
- s('#clear-completed').click()
- def tasks_should_be(*text):
- tasks.filtered_by(be.visible).should(have.exact_texts(*text))
Advertisement
Add Comment
Please, Sign In to add comment