mirror of
https://github.com/manyfold3d/manyfold.git
synced 2026-10-23 12:12:21 -05:00
45 lines
1.1 KiB
Ruby
45 lines
1.1 KiB
Ruby
require "rails_helper"
|
|
|
|
RSpec.describe User do
|
|
it_behaves_like "Follower"
|
|
it_behaves_like "Caber::Subject"
|
|
|
|
it "requires a username" do
|
|
expect(build(:user, username: nil)).not_to be_valid
|
|
end
|
|
|
|
it "doesn't allow single-character usernames" do
|
|
expect(build(:user, username: "a")).not_to be_valid
|
|
end
|
|
|
|
it "doesn't allow two-character usernames" do
|
|
expect(build(:user, username: "ab")).not_to be_valid
|
|
end
|
|
|
|
it "allow three-character usernames" do
|
|
expect(build(:user, username: "abc")).to be_valid
|
|
end
|
|
|
|
it "allows numbers in usernames" do
|
|
expect(build(:user, username: "3jane")).to be_valid
|
|
end
|
|
|
|
it "allows non-ASCII usernames" do
|
|
expect(build(:user, username: "إعلانات")).to be_valid
|
|
end
|
|
|
|
it "doesn't allows punctuation in usernames" do
|
|
expect(build(:user, username: "user-name")).not_to be_valid
|
|
end
|
|
|
|
it "doesn't allow usernames that differ by case" do
|
|
create(:user, username: "userName")
|
|
expect(build(:user, username: "USERNAME")).not_to be_valid
|
|
end
|
|
|
|
it "gets member role by default" do
|
|
u = create(:user)
|
|
expect(u).to have_role(:member)
|
|
end
|
|
end
|