Sha256: 160ba67f2f0d6343ac1d3f71c4c19fd32ac92150bf70933d5b006de31c7c06ab
Contents?: true
Size: 1.31 KB
Versions: 1
Compression:
Stored size: 1.31 KB
Contents
require 'spec_helper' class Employee include ActiveModel::Validations attr_accessor :company, :individual validates :company, person: :company, allow_blank: true validates :individual, person: :individual, allow_blank: true end describe PersonValidator do subject do Employee.new end let :individual do double(personable: Individual.new(cpf: '003.218.345-34')) end let :company do double(personable: Company.new(cnpj: '00.000.000/9999-62')) end context 'validates company' do it 'should be valid with company as a person' do allow(subject).to receive(:company).and_return(company) expect(subject).to be_valid end it 'should not accept individual as a person' do allow(subject).to receive(:company).and_return(individual) subject.valid? expect(subject.errors[:company]).to eq ['must be a company'] end end context 'validates individual' do it 'should be valid with individual as a person' do allow(subject).to receive(:individual).and_return(individual) expect(subject).to be_valid end it 'should not accept company as a individual' do allow(subject).to receive(:individual).and_return(company) subject.valid? expect(subject.errors[:individual]).to eq ['must be an individual'] end end end
Version data entries
1 entries across 1 versions & 1 rubygems
Version | Path |
---|---|
unico-training-7.8.0 | spec/validators/person_validator_spec.rb |