Is it possible for FactoryGirl to define a random number say from 0-10?
factory :rating do
ranking 1 #random number?
recipe
end
I'd really like the ranking number generated to be a random value between 0-10.
I want to generate ratings with different numbers, but don't want to explicitly define them in rspec. This would be used to display the average and other stats from the rating numbers. Ex: How many 10's, How many 0's, average etc.
As of version 4.4, the following works for me...
factory :rating do
ranking {rand(1..10)}
recipe
end
And for a slightly different use of randomization:
FactoryGirl.define do
factory :plan do
name {["Free", "Standard", "Enterprise"].sample}
price {Faker::numerify('$##')}
end
end
Creating a few instances, you can see the randomization of name, and the randomization of the price:
2.0.0-p247 :010 > 4.times.each {FactoryGirl.create(:plan)}
2.0.0-p247 :011 > ap Plan.to_list
[
[0] [
[0] "Free: $48",
[1] BSON::ObjectId('549f6da466e76c8f5300000e')
],
[1] [
[0] "Standard: $69",
[1] BSON::ObjectId('549f6da466e76c8f5300000f')
],
[2] [
[0] "Enterprise: $52",
[1] BSON::ObjectId('549f6da466e76c8f53000010')
],
[3] [
[0] "Free: $84",
[1] BSON::ObjectId('549f6da466e76c8f53000011')
]
]
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