57 lines
1.5 KiB
Ruby
57 lines
1.5 KiB
Ruby
require 'rails_helper'
|
|
|
|
describe Verification::Residence do
|
|
|
|
let(:residence) { build(:verification_residence) }
|
|
|
|
describe "validations" do
|
|
|
|
it "should be valid" do
|
|
expect(residence).to be_valid
|
|
end
|
|
|
|
describe "dates" do
|
|
it "should be valid with a valid date of birth" do
|
|
residence = Verification::Residence.new({"date_of_birth(3i)"=>"1", "date_of_birth(2i)"=>"1", "date_of_birth(1i)"=>"1980"})
|
|
expect(residence.errors[:date_of_birth].size).to eq(0)
|
|
end
|
|
|
|
it "should not be valid without a date of birth" do
|
|
residence = Verification::Residence.new({"date_of_birth(3i)"=>"", "date_of_birth(2i)"=>"", "date_of_birth(1i)"=>""})
|
|
residence.valid?
|
|
expect(residence.errors[:date_of_birth]).to include("can't be blank")
|
|
end
|
|
end
|
|
|
|
it "should validate uniquness of document_number" do
|
|
user = create(:user)
|
|
residence.user = user
|
|
residence.save
|
|
|
|
residence2 = build(:verification_residence)
|
|
|
|
residence.valid?
|
|
expect(residence.errors[:document_number]).to include("Already in use")
|
|
end
|
|
|
|
it "should validate census terms" do
|
|
residence.terms_of_service = nil
|
|
expect(residence).to_not be_valid
|
|
end
|
|
end
|
|
|
|
describe "save" do
|
|
|
|
it "should store document number and type" do
|
|
user = create(:user)
|
|
residence.user = user
|
|
residence.save
|
|
|
|
user.reload
|
|
expect(user.document_number).to eq('12345678Z')
|
|
expect(user.document_type).to eq("1")
|
|
end
|
|
|
|
end
|
|
|
|
end |