test: assert field pacing wiring; simplify NullField
This commit is contained in:
@@ -85,3 +85,47 @@ class TestNullField:
|
||||
el = NullField(name="missing")
|
||||
if el:
|
||||
pytest.fail("NullField must be falsy")
|
||||
|
||||
|
||||
class TestPacingWiring:
|
||||
def _spy_page(self, page):
|
||||
page.pacing = MagicMock()
|
||||
page.pacing.delay.return_value = 0.0
|
||||
return page
|
||||
|
||||
def test_text_set_value_paces_text(self, page):
|
||||
self._spy_page(page)
|
||||
TextField(page, accessors=ACCESSORS, name="username").set_value("x")
|
||||
page.pacing.delay.assert_called_once_with("text")
|
||||
|
||||
def test_select_set_value_paces_select(self, page, monkeypatch):
|
||||
import wabot.fields as fields_mod
|
||||
|
||||
monkeypatch.setattr(fields_mod, "Select", MagicMock())
|
||||
self._spy_page(page)
|
||||
SelectField(page, accessors=("id", "state"), name="state").set_value(value="CO")
|
||||
page.pacing.delay.assert_called_once_with("select")
|
||||
|
||||
def test_select_by_index_paces_select(self, page, monkeypatch):
|
||||
import wabot.fields as fields_mod
|
||||
|
||||
monkeypatch.setattr(fields_mod, "Select", MagicMock())
|
||||
self._spy_page(page)
|
||||
SelectField(page, accessors=("id", "state"), name="state").select_by_index(2)
|
||||
page.pacing.delay.assert_called_once_with("select")
|
||||
|
||||
def test_set_checked_paces_checkbox(self, page):
|
||||
self._spy_page(page)
|
||||
CheckField(page, accessors=("id", "agree"), name="agree").set_checked(True)
|
||||
page.pacing.delay.assert_called_once_with("checkbox")
|
||||
|
||||
def test_click_and_go_paces_navigate(self, page):
|
||||
self._spy_page(page)
|
||||
PageObject(page, accessors=ACCESSORS, name="username").click_and_go()
|
||||
page.pacing.delay.assert_called_once_with("navigate")
|
||||
|
||||
|
||||
class TestTruthiness:
|
||||
def test_real_field_is_truthy(self, page):
|
||||
# locks the other end of the `if el:` guard contract (NullField is falsy)
|
||||
assert bool(TextField(page, accessors=ACCESSORS, name="username")) is True
|
||||
|
||||
Reference in New Issue
Block a user