CHAPTER 21
The Token Social Bit, the Page Pattern, and
an Exercise for the Reader
Are jokes about how “everything has to be social now” slightly old hat? Everything has
to be all A/B tested big data get-more-clicks lists of 10 Things This Inspiring Teacher
Said That Will Make You Change Your Mind About Blah Blah now… anyway. Lists, be
they Inspirational or otherwise, are often better shared. Let’s allow our users to collab‐
orate on their lists with other users.
Along thewaywe’ll improve our FTs by starting to implement the interact/wait Selenium
pattern that we learned in the last chapter. We’ll also experiment with something called
the Page Object pattern.
Then, rather than showing you explicitly what to do, I’m going to let you write your unit
tests and application code by yourself. Don’t worry, you won’t be totally on your own!
I’ll give an outline of the steps to take, as well as some hints and tips.
An FT with Multiple Users, and addCleanup
Let’s get started—we’ll need two users for this FT:
functional_tests/test_sharing.py.
from
selenium
import
webdriver
from
.base
import
FunctionalTest
def
quit_if_possible
(
browser
):
try
:
browser
.
quit
()
except
:
pass
class
SharingTest
(
FunctionalTest
):
def
test_logged_in_users_lists_are_saved_as_my_lists
(
self
):
# Edith is a logged-in user
self
.
create_pre_authenticated_session
(
'edith@example.com')
387