Skip to content
Merged
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
46 changes: 46 additions & 0 deletions spec/models/discourse_single_sign_on_spec.rb
Original file line number Diff line number Diff line change
Expand Up @@ -346,6 +346,52 @@ def test_parsed(parsed, sso)
expect(admin.name).to eq "Louis C.K."
end

it "can override username with a number at the end to a simpler username without a number" do
SiteSetting.auth_overrides_username = true

user = Fabricate(:user)
sso = new_discourse_sso
sso.external_id = "A"
sso.email = user.email

username_with_number = "bob1"
username_without_number = "bob"

sso.username = username_with_number
sso.lookup_or_create_user(ip_address)
user.reload
expect(user.username).to eq username_with_number

sso.username = username_without_number
sso.lookup_or_create_user(ip_address)
user.reload
expect(user.username).to eq username_without_number
end

it "can override username after min_username_length was made smaller" do
SiteSetting.auth_overrides_username = true

user = Fabricate(:user)
sso = new_discourse_sso
sso.external_id = "A"
sso.email = user.email

long_username = "bob"
short_username = "bo"

SiteSetting.min_username_length = 3
sso.username = long_username
sso.lookup_or_create_user(ip_address)
user.reload
expect(user.username).to eq long_username

SiteSetting.min_username_length = 2
sso.username = short_username
sso.lookup_or_create_user(ip_address)
user.reload
expect(user.username).to eq short_username
end

it "can fill in data on way back" do
sso = make_sso

Expand Down