1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28
|
describe FactoryBot, "aliases" do
it "for an attribute should include the original attribute and a version suffixed with '_id'" do
aliases = FactoryBot.aliases_for(:test)
expect(aliases).to include(:test, :test_id)
end
it "for a foreign key should include both the suffixed and un-suffixed variants" do
aliases = FactoryBot.aliases_for(:test_id)
expect(aliases).to include(:test, :test_id)
end
it "for an attribute which starts with an underscore should not include a non-underscored version" do
aliases = FactoryBot.aliases_for(:_id)
expect(aliases).not_to include(:id)
end
end
describe FactoryBot, "after defining an alias" do
it "the list of aliases should include a variant with no suffix at all, and one with an '_id' suffix" do
FactoryBot.aliases << [/(.*)_suffix/, '\1']
aliases = FactoryBot.aliases_for(:test_suffix)
expect(aliases).to include(:test, :test_suffix_id)
end
end
|