33 lines
803 B
Ruby
33 lines
803 B
Ruby
require "rails_helper"
|
|
|
|
RSpec.describe User do
|
|
it "has a valid factory" do
|
|
expect(build(:user)).to be_valid
|
|
end
|
|
|
|
it "requires a name and email" do
|
|
user = build(:user, name: nil, email: nil)
|
|
|
|
expect(user).not_to be_valid
|
|
expect(user.errors[:name]).to be_present
|
|
expect(user.errors[:email]).to be_present
|
|
end
|
|
|
|
it "requires email to be unique case-insensitively" do
|
|
create(:user, email: "driver@example.com")
|
|
|
|
user = build(:user, email: "DRIVER@example.com")
|
|
|
|
expect(user).not_to be_valid
|
|
expect(user.errors[:email]).to be_present
|
|
end
|
|
|
|
it "cannot be destroyed when entries reference it" do
|
|
user = create(:user)
|
|
create(:fuel_entry, updated_by_user: user)
|
|
|
|
expect(user.destroy).to be(false)
|
|
expect(user.errors[:base]).to be_present
|
|
end
|
|
end
|