51 lines
1.1 KiB
Ruby
51 lines
1.1 KiB
Ruby
require 'rails_helper'
|
|
|
|
describe User do
|
|
subject { build(:user) }
|
|
|
|
it "is valid" do
|
|
expect(subject).to be_valid
|
|
end
|
|
|
|
describe 'use_nickname' do
|
|
describe 'when true' do
|
|
before { subject.use_nickname = true }
|
|
|
|
it "activates the validation of nickname" do
|
|
subject.nickname = nil
|
|
expect(subject).to_not be_valid
|
|
|
|
subject.nickname = "dredd"
|
|
expect(subject).to be_valid
|
|
end
|
|
|
|
it "calculates the name using the nickname" do
|
|
subject.nickname = "dredd"
|
|
expect(subject.name).to eq("dredd")
|
|
end
|
|
end
|
|
|
|
describe 'when false' do
|
|
before { subject.use_nickname = false }
|
|
|
|
it "activates the validation of first_name and last_name" do
|
|
subject.first_name = nil
|
|
subject.last_name = nil
|
|
expect(subject).to_not be_valid
|
|
|
|
subject.first_name = "Joseph"
|
|
subject.last_name = "Dredd"
|
|
expect(subject).to be_valid
|
|
end
|
|
|
|
it "calculates the name using first_name and last_name" do
|
|
subject.first_name = "Joseph"
|
|
subject.last_name = "Dredd"
|
|
expect(subject.name).to eq("Joseph Dredd")
|
|
end
|
|
end
|
|
end
|
|
|
|
|
|
end
|