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.
31 lines
938 B
Ruby
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
|