Sha256: db1753cf78826fc3c1f59f8cfd376aec23361c278b3061cd648a64501e204272
Contents?: true
Size: 1.2 KB
Versions: 4
Compression:
Stored size: 1.2 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
4 entries across 4 versions & 1 rubygems