5
Próbuję użyć FactoryGirl, aby utworzyć listę przedmiotów, ale potrzebuję elementów, aby nie były w porządku. To jest to, co mam, ale chciałbym, żeby to był DRYER.FactoryGirl create_list z różnymi wartościami
spec.rb
context "three out of order" do
before do
FactoryGirl.create(:thing, ordering: 3)
FactoryGirl.create(:thing, ordering: 1)
FactoryGirl.create(:thing, ordering: 2)
end
it "should sort the things in order" do
expect(Thing.all.map(&:ordering)).to eq([1, 2, 3])
end
end
Wiem, że można utworzyć kilka pozycji z:
FactoryGirl.create_list(:thing, ordering: 3)
ale chciałem stworzyć przedmioty więc przetestowane ich kolejność, a oni tworzyć wszystko z nich w kolejności, ponieważ mam sekwencję ustawioną w fabryce.
Jest to klasyczny przypadek rozwiązania problemu, ale nie odpowiada na pytanie. Oczywiście można to zrobić, jest bardzo podobny do oryginalnego przykładu, ale celem jest tutaj użytkownik 'create_list' i utrzymanie go w prostszy sposób. Pytanie nie brzmiało: "Jak utworzyć trzy modele o różnych nazwach", ale raczej "Czy mogę użyć create_list do utworzenia trzech modeli o różnych nazwach", co niestety nie jest możliwe. –