Sha256: d5e33e45a0eb3d2d048f9bbc6fca267823d03ca919df1a9fb86b8a4bd2f4269c
Contents?: true
Size: 1.19 KB
Versions: 1
Compression:
Stored size: 1.19 KB
Contents
require 'spec_helper' describe GtinValidator do let(:record) { double('model') } before do allow(record).to receive(:errors).and_return([]) allow(record.errors).to receive(:messages).and_return({}) allow(record.errors).to receive(:add) do |attribute, error| record.errors.messages[attribute] = [error] end end subject { GtinValidator.new(attributes: 'gtin') } context 'when GTIN code is valid' do before { subject.validate_each(record, 'gtin', '1243658721548') } it "doesn't add errors in model" do expect(record.errors.messages).to be_empty end end context 'when GTIN is blank' do before { subject.validate_each(record, 'gtin', '') } it "doesn't add errors in model" do expect(record.errors.messages).to be_empty end end context 'when GTIN is nil' do before { subject.validate_each(record, 'gtin', nil) } it "doesn't add errors in model" do expect(record.errors.messages).to be_empty end end context 'when GTIN is invalid' do before { subject.validate_each(record, 'gtin', '253667853') } it 'adds errors in model' do expect(record.errors.messages).to include 'gtin' => [:invalid] end end end
Version data entries
1 entries across 1 versions & 1 rubygems
Version | Path |
---|---|
br_documents-0.2.0 | spec/gtin_validator_spec.rb |