require "rails_helper" describe "shared errors" do before do dummy_model = Class.new do include ActiveModel::Model attr_accessor :title, :description, :days validates :title, presence: true validates :description, presence: true, length: { in: 10..100 } validates :days, numericality: { greater_than: 10 } end stub_const("DummyModel", dummy_model) end it "counts the number of fields with errors" do resource = DummyModel.new(title: "Present", description: "", days: 3) resource.valid? render "shared/errors", resource: resource expect(rendered).to have_content "2 errors" end it "doesn't include `base` errors in new records" do resource = build(:debate, title: "", description: "") resource.valid? render "shared/errors", resource: resource expect(rendered).to have_content "2 errors" end it "doesn't include `base` errors in existing records" do resource = create(:debate) resource.translations << Debate::Translation.new(title: "Title", description: "", locale: "es") resource.valid? render "shared/errors", resource: resource expect(rendered).to have_content "1 error" end end