Improved tests structure in files#355
Conversation
… element__lazy_search_test.py
yashaka
left a comment
There was a problem hiding this comment.
please refactor according to comments;)
| </h1> | ||
| ''' | ||
| ) | ||
| answer = element().is_displayed() |
There was a problem hiding this comment.
this is an act, it need an empty line before... (the load_body is not an act, it's an arrange clause)
| ).element('.will-exist-inner') | ||
| page = GivenPage(session_browser.driver) | ||
| page.opened_empty() | ||
|
|
There was a problem hiding this comment.
this emply line is wrong, the next page load is also an arrange
| page = GivenPage(session_browser.driver) | ||
| page.opened_empty() | ||
|
|
||
| page.load_body( |
There was a problem hiding this comment.
you don't need in this case separation between opened_empty() and load_page(), you can use the .opened_with_body() instead, that covers both previous ones
the separation was needed when element = ... was after opened_empty(), but not it is in the beginning of the test...
| @@ -57,17 +58,19 @@ def test_search_is_postponed_until_actual_action_like_questioning_displayed( | |||
| def test_search_is_updated_on_next_actual_action_like_questioning_displayed( | |||
There was a problem hiding this comment.
please watch this: https://youtu.be/47yhzbiCJSw?t=1147
and refactor the test below, it should have same structure as in video;
assert should be broken into ACT and ASSERT clauses, and all previous page loading including first store of "answer" should be in ARRANGE
also
I would use the update word instead of new for consistency with test name; all this was in video;) watch it!
| <h1 id="first">Heading 1</h1> | ||
| <h2 id="second">Heading 2</h2> | ||
| /p>''' | ||
| /p> |
| ''' | ||
| ) | ||
|
|
||
| assert element().is_displayed() is True |
There was a problem hiding this comment.
should be brokent into ACT + ASSERT with additional variable with answer
| @@ -50,11 +59,22 @@ def test_search_is_updated_on_next_actual_action_like_questioning_displayed( | |||
| page = GivenPage(session_browser.driver) | |||
There was a problem hiding this comment.
same logic should be applied as in video mentioned earlier
| '<h1 id="will-be-existing-element-id" style="display:none">Hello kitty:*</h1>' | ||
| ''' | ||
| <h1 id="will-be-existing-element-id" style="display:none">Hello kitty: | ||
| *</h1> |
There was a problem hiding this comment.
should be broken with a common sense, not just at some point...
good version is more like this:
<h1 id="will-be-existing-element-id" style="display:none">
Hello kitty:*
</h1>
| ''' | ||
| ) | ||
|
|
||
| assert element().is_displayed() is False |
Improved tests' structure in element__element__lazy_search_test.py and element__lazy_search_test.py