I have model (event.rb) method, that retrieves a list of all recurrence 
dates for the named period

      def self.dates_between(start_date, end_date)
         dates = (start_date..end_date).step(7).to_a
      end

than I specify the following in event_spec.rb

      before(:each) do
        @event = FactoryGirl.create(:event)
      end    
      subject { @event }

      ... other working tests ...
    
      describe '#dates_between' do
        context 'finds recurrences dates of a event' do
          start_date = "2012-12-01 18:25:25"
          end_date = "2012-12-15 18:25:25"
          output_dates = ["2012-12-01 18:25:25", "2012-12-08 18:25:25", 
"2012-12-15 18:25:25"]
    
          it 'should call Event with method dates_between' do
            @event.should_receive(:dates_between).with(start_date, end_date)
            @event.dates_between(start_date, end_date)
          end
    
          it 'should find and return the RIGHT recurrences dates' do
            @event.dates_between(start_date, end_date).should 
eq(output_dates)
          end
        end
      end

and get this failure:

    1) Event#dates_between finds recurrences dates of a event should find 
and return the RIGHT recurrences dates
     Failure/Error: @event.dates_between(start_date, end_date).should 
eq(output_dates)
     NoMethodError:
       undefined method `dates_between' for #<Event:0xb99e9f8>
     # ./spec/models/event_spec.rb:52:in `block (4 levels) in <top 
(required)>'

when I change in the model from a class method to an instance method 
(removing "self.") the console just prints out "wild data":

> 22:93:55", "2012-12-01 22:93:62", "2012-12-01 22:93:69", "2012-12-01
> 22:93:76", "2012-12-01 22:93:83", "2012-12-01 22:93:90", "2012-12-01
> 22:93:97", "2012-12-01 22:94:04", "2012-12-01 22:94:11", "2012-12-01
> 22:94:18", "2012-12-01 22:94:25", "2012-12-01 22:94:32", ...

any ideas?

-- 
You received this message because you are subscribed to the Google Groups 
"rspec" group.
To post to this group, send email to [email protected].
To unsubscribe from this group, send email to 
[email protected].
To view this discussion on the web visit 
https://groups.google.com/d/msg/rspec/-/3IGyX6x6qGgJ.
For more options, visit https://groups.google.com/groups/opt_out.


Reply via email to