You can also use sequences, like so:

sequence :date do |n|
    (n % 10).days.ago
  end
This will go 0,1,2,3,4,5,6,7,8,9,0,1,2,3,4,5,6,7,8,9,0,1…  You get the picture. 
 What Adam is saying about using a set up method is also really solid.  The 
last thing I’d ask is - can you break your test down a little more so that you 
don’t need quite so much data just to have a single valid data piece to test 
against?

Best,
Rob

On August 18, 2014 at 11:51:58 , Adam Grant ([email protected]) wrote:

Yes! 
(http://rubydoc.info/gems/factory_girl/file/GETTING_STARTED.md#Defining_factories)




On Mon, Aug 18, 2014 at 11:30 AM, Megan Byrne <[email protected]> wrote:
just a quick clarification... on the first line of code, what I actually have 
is: 
FactoryGirl.define do

I just wanted to clarify that I can, at least, start out a factory correctly ;)

Thanks,
Megan


On Monday, August 18, 2014 11:22:04 AM UTC-7, Megan Byrne wrote:
Hello all,

I'm relatively new to testing and this has been tripping me up for a bit.

I'm working in a code base that contains a Calendar Model (only contains a date 
field) which is used to help find other data from models with an SQL join for 
relevant date-ranges.

I need to create a FactoryGirl factory which will be about 10 days worth of 
sequential dates (10 days back from whatever today's date is) so that I can use 
that to help test a method on another model which needs to join with the 
Calendar dates in order to find what it needs.

So, the problem is that I cannot seem to figure out how to create a factory 
that loops through a set range of things.  Using sequence doesn't seem to work 
with a range and the blocks I've been using are just plain wrong.  Please help.

I've been doing things like:

FactoryGirl.define
  factory :calander do  
    factory :dates do |d|
      10.times do
        d = 10
        date {d.days.ago}
        d -= 1
      end
    end
  end
end

but this is clearly wrong...I guess I'm very confused about FactoryGirl in 
general 

Any help is greatly appreciated,

Megan
--
--
SD Ruby mailing list
[email protected]
http://groups.google.com/group/sdruby
---
You received this message because you are subscribed to the Google Groups "SD 
Ruby" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
For more options, visit https://groups.google.com/d/optout.

--
--
SD Ruby mailing list
[email protected]
http://groups.google.com/group/sdruby
---
You received this message because you are subscribed to the Google Groups "SD 
Ruby" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
For more options, visit https://groups.google.com/d/optout.

-- 
-- 
SD Ruby mailing list
[email protected]
http://groups.google.com/group/sdruby
--- 
You received this message because you are subscribed to the Google Groups "SD 
Ruby" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
For more options, visit https://groups.google.com/d/optout.

Reply via email to