Files
grecia/spec/models/site_customization/content_block_spec.rb
taitus ecde8c6439 Add lambda to the validations that use model constants
In this way when we need modify the constants model value in the
model/custom folder, adding lambda it will be possible load the new
values.
2022-03-22 15:52:36 +01:00

31 lines
938 B
Ruby

require "rails_helper"
RSpec.describe SiteCustomization::ContentBlock, type: :model do
let(:block) { build(:site_customization_content_block) }
it "is valid" do
expect(block).to be_valid
end
it "name is unique per locale" do
create(:site_customization_content_block, name: "top_links", locale: "en")
invalid_block = build(:site_customization_content_block, name: "top_links", locale: "en")
expect(invalid_block).to be_invalid
expect(invalid_block.errors.full_messages).to include("Name has already been taken")
valid_block = build(:site_customization_content_block, name: "top_links", locale: "es")
expect(valid_block).to be_valid
end
it "dynamically validates the valid blocks" do
stub_const("#{SiteCustomization::ContentBlock}::VALID_BLOCKS", %w[custom])
block.name = "custom"
expect(block).to be_valid
block.name = "top_links"
expect(block).not_to be_valid
end
end