Remove navigate from login/logout and add clear command

This commit is contained in:
Joey Yakimowich-Payne 2018-07-23 10:13:06 +09:00
commit 7925c4b8b1
4 changed files with 43 additions and 24 deletions

View file

@ -22,6 +22,11 @@ template sendKeys*(session: Session, element, keys: string) =
check el.isSome()
el.get().sendKeys(keys)
template clear*(session: Session, element: string) =
let el = session.findElement(element)
check el.isSome()
el.get().clear()
template sendKeys*(session: Session, element: string, keys: varargs[Key]) =
let el = session.findElement(element)
check el.isSome()
@ -82,10 +87,8 @@ proc setUserRank*(session: Session, baseUrl, user, rank: string) =
click "#save-btn"
wait()
proc logout*(session: Session, baseUrl: string) =
proc logout*(session: Session) =
with session:
navigate baseUrl
wait()
click "#profile-btn"
click "#profile-btn #logout-btn"
wait()
@ -93,12 +96,13 @@ proc logout*(session: Session, baseUrl: string) =
# Verify we have logged out by looking for the log in button.
ensureExists "#login-btn"
proc login*(session: Session, baseUrl, user, password: string) =
proc login*(session: Session, user, password: string) =
with session:
navigate baseUrl
wait()
click "#login-btn"
clear "#login-form input[name='username']"
clear "#login-form input[name='password']"
sendKeys "#login-form input[name='username']", user
sendKeys "#login-form input[name='password']", password
@ -115,6 +119,10 @@ proc register*(session: Session, user, password: string) =
with session:
click "#signup-btn"
clear "#signup-form input[name='email']"
clear "#signup-form input[name='username']"
clear "#signup-form input[name='password']"
sendKeys "#signup-form input[name='email']", user & "@" & user & ".com"
sendKeys "#signup-form input[name='username']", user
sendKeys "#signup-form input[name='password']", password

View file

@ -10,21 +10,23 @@ proc test*(session: Session, baseUrl: string) =
test "can see banned posts":
with session:
register("issue181", "issue181")
logout(baseUrl)
logout()
# Change rank to `user` so they can post.
login(baseUrl, "admin", "admin")
login("admin", "admin")
setUserRank(baseUrl, "issue181", "user")
logout(baseUrl)
logout()
login(baseUrl, "issue181", "issue181")
login("issue181", "issue181")
navigate(baseUrl)
wait()
const title = "Testing issue 181."
createThread(title, "Test for issue #181")
logout(baseUrl)
logout()
login(baseUrl, "admin", "admin")
login("admin", "admin")
# Ban our user.
setUserRank(baseUrl, "issue181", "banned")
@ -34,5 +36,5 @@ proc test*(session: Session, baseUrl: string) =
wait()
ensureExists("tr.banned")
checkText("tr.banned .thread-title > a", title)
logout(baseUrl)
logout()
checkText("tr.banned .thread-title > a", title)

View file

@ -20,10 +20,10 @@ proc test*(session: Session, baseUrl: string) =
# Logging in
test "can login/logout":
with session:
login(baseUrl, "admin", "admin")
login("admin", "admin")
# Check whether we can log out.
logout(baseUrl)
logout()
# Verify we have logged out by looking for the log in button.
ensureExists "#login-btn"
@ -31,4 +31,4 @@ proc test*(session: Session, baseUrl: string) =
with session:
register("test", "test")
session.logout(baseUrl)
session.logout()

View file

@ -11,13 +11,13 @@ let
proc banUser(session: Session, baseUrl: string) =
with session:
login baseUrl, "admin", "admin"
login "admin", "admin"
setUserRank baseUrl, "user", "banned"
logout baseUrl
logout()
proc userTests(session: Session, baseUrl: string) =
suite "user thread tests":
session.login(baseUrl, "user", "user")
session.login("user", "user")
setup:
session.navigate(baseUrl)
@ -37,7 +37,7 @@ proc userTests(session: Session, baseUrl: string) =
checkText "#thread-title", userTitleStr
checkText ".original-post div.post-content", userContentStr
session.logout(baseUrl)
session.logout()
proc anonymousTests(session: Session, baseUrl: string) =
@ -56,7 +56,10 @@ proc anonymousTests(session: Session, baseUrl: string) =
proc bannedTests(session: Session, baseUrl: string) =
suite "banned user thread tests":
session.login(baseUrl, "banned", "banned")
with session:
navigate baseUrl
wait()
login "banned", "banned"
test "can't start thread":
with session:
@ -71,11 +74,11 @@ proc bannedTests(session: Session, baseUrl: string) =
ensureExists "#new-thread p.text-error"
session.logout(baseUrl)
session.logout()
proc adminTests(session: Session, baseUrl: string) =
suite "admin thread tests":
session.login(baseUrl, "admin", "admin")
session.login("admin", "admin")
setup:
session.navigate(baseUrl)
@ -155,9 +158,12 @@ proc adminTests(session: Session, baseUrl: string) =
# Make sure the forum post is gone
checkIsNone adminTitleStr, LinkTextSelector
session.logout(baseUrl)
session.logout()
proc test*(session: Session, baseUrl: string) =
session.navigate(baseUrl)
session.wait()
userTests(session, baseUrl)
banUser(session, baseUrl)
@ -165,3 +171,6 @@ proc test*(session: Session, baseUrl: string) =
bannedTests(session, baseUrl)
anonymousTests(session, baseUrl)
adminTests(session, baseUrl)
session.navigate(baseUrl)
session.wait()