Merge pull request #199 from jyapayne/case_insensitive_usernames

Case insensitive usernames
This commit is contained in:
Dominik Picheta 2018-08-16 12:06:29 +01:00 committed by GitHub
commit bedaec3540
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
3 changed files with 23 additions and 8 deletions

View file

@ -608,7 +608,7 @@ proc executeRegister(c: TForumData, name, pass, antibot, userIp,
raise newForumError("Invalid username", @["username"])
if getValue(
db,
sql"select name from person where name = ? and isDeleted = 0",
sql"select name from person where name = ? collate nocase and isDeleted = 0",
name
).len > 0:
raise newForumError("Username already exists", @["username"])

View file

@ -115,7 +115,7 @@ proc login*(session: Session, user, password: string) =
checkText "#profile-btn #profile-name", user
click "#profile-btn"
proc register*(session: Session, user, password: string) =
proc register*(session: Session, user, password: string, verify = true) =
with session:
click "#signup-btn"
@ -130,11 +130,13 @@ proc register*(session: Session, user, password: string) =
click "#signup-modal .create-account-btn"
wait()
# Verify that the user menu has been initialised properly.
click "#profile-btn"
checkText "#profile-btn #profile-name", user
# close menu
click "#profile-btn"
if verify:
with session:
# Verify that the user menu has been initialised properly.
click "#profile-btn"
checkText "#profile-btn #profile-name", user
# close menu
click "#profile-btn"
proc createThread*(session: Session, title, content: string) =
with session:

View file

@ -30,5 +30,18 @@ proc test*(session: Session, baseUrl: string) =
test "can register":
with session:
register("test", "test")
logout()
session.logout()
test "can't register same username with different case":
with session:
register "test1", "test1", verify = false
logout()
navigate baseUrl
wait()
register "TEst1", "test1", verify = false
ensureExists "#signup-form .has-error"
navigate baseUrl
wait()