Skip to content

Commit a19a02a

Browse files
committed
final code
1 parent 10ad43f commit a19a02a

File tree

1 file changed

+18
-20
lines changed

1 file changed

+18
-20
lines changed

days/049-selenium/final/test_pbreadinglist.py

Lines changed: 18 additions & 20 deletions
Original file line numberDiff line numberDiff line change
@@ -66,12 +66,6 @@ def test_has_login_link(driver_home):
6666
pytest.fail('Should have a link called Login')
6767

6868

69-
def _get_number_books_read(driver):
70-
driver.find_element_by_link_text(MY_BOOKS).click()
71-
stats = driver.find_element_by_class_name('mui--text-subhead')
72-
return int(re.sub(r'Status: (\d+) books.*', r'\1', stats.text))
73-
74-
7569
def test_book_page_title(driver_first_book):
7670
expected = ("PyBites My Reading List | The Hitchhiker's "
7771
"Guide to Python")
@@ -105,54 +99,58 @@ def test_search_box_auto_direct(driver_first_book):
10599

106100

107101
def test_login_to_site(driver_login):
108-
# logged in links
109102
try:
110-
driver_login.find_element_by_link_text('5-Hour Challenge')
111103
driver_login.find_element_by_link_text('Logout')
112104
driver_login.find_element_by_link_text(MY_BOOKS)
105+
driver_login.find_element_by_link_text('5-Hour Challenge')
113106
except NoSuchElementException:
114107
pytest.fail('Missing private links in navbar')
115108

116109
try:
117110
driver_login.find_element_by_link_text('Login')
118-
pytest.fail('Should not have a Login link when logged in')
111+
pytest.fail('Should not have a link called Login when logged in')
119112
except NoSuchElementException:
120113
pass
121114

122115

116+
def _get_number_books_read(driver):
117+
driver.find_element_by_link_text(MY_BOOKS).click()
118+
stats = driver.find_element_by_class_name('mui--text-subhead')
119+
return int(re.sub(r'Status: (\d+) books.*', r'\1', stats.text))
120+
121+
123122
def test_add_delete_book(driver_login):
124123
num_books_read_start = _get_number_books_read(driver_login)
125124

126-
# adding a book should increase book counter by 1
125+
# adding a book should increase the book counter by 1
127126
driver_login.get(SECOND_BOOK)
128127
driver_login.find_element_by_name('bookSubmit').click()
129-
driver_login.find_element_by_link_text(MY_BOOKS).click()
130-
num_books_read_after_add = _get_number_books_read(driver_login)
131-
assert num_books_read_after_add == num_books_read_start + 1
128+
num_books_after_add = _get_number_books_read(driver_login)
129+
assert num_books_after_add == num_books_read_start + 1
132130

133-
# deleting the book should bring counter back to initial count
131+
# deleting the book should bring the counter back to the initial count
134132
driver_login.get(SECOND_BOOK)
135133
driver_login.find_element_by_name('deleteBook').click()
136-
num_books_read_after_delete = _get_number_books_read(driver_login)
137-
assert num_books_read_after_delete == num_books_read_start
134+
num_books_after_delete = _get_number_books_read(driver_login)
135+
assert num_books_after_delete == num_books_read_start
138136

139137

140138
def test_logout(driver_login):
141139
driver_login.find_element_by_link_text('Logout').click()
142140

143141
src = driver_login.page_source
144-
assert 'Logged out' in src
142+
assert "Logged out" in src
145143

146144
# logged out links
147145
try:
148146
driver_login.find_element_by_link_text('Login')
149147
except NoSuchElementException:
150-
pytest.fail('Should see Login link in navbar')
148+
pytest.fail('Should see Login link in navbar when logged out')
151149

152150
try:
153-
driver_login.find_element_by_link_text('5-Hour Challenge')
154151
driver_login.find_element_by_link_text('Logout')
155152
driver_login.find_element_by_link_text(MY_BOOKS)
156-
pytest.fail('Should not private links in navbar when logged out')
153+
driver_login.find_element_by_link_text('5-Hour Challenge')
154+
pytest.fail('Should not show private links when logged out')
157155
except NoSuchElementException:
158156
pass

0 commit comments

Comments
 (0)