I'm trying to user FactoryGirl to create a list of items, but I need the items to not be in order. This is what I have, but I would like it to be DRYer.
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
I know that you can create multiple items with:
FactoryGirl.create_list(:thing, ordering: 3 )
but I wanted to create items so it tested their order, and they would create all of them in order since I have sequence set up in the factory.
What about this?
before do
(1..3).to_a.shuffle.each do |order|
FactoryGirl.create(:thing, ordering: order)
end
end
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With