[rspec-users] RSPEC and RoR undefined method for hash when running model tests

Matt Riches mattriches at gmail.com
Mon Dec 14 16:28:42 EST 2009


Fair point, thought you could also assume that the omissions are down to my
newness at RSpec and RoR :-)

The whole of the code is rather large, I am being asked to retrofit rspec
onto the code base as things are changed, so I am only showing what I think
are the relevent things..

Code Section

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34

 class Address < ActiveRecord::Base


  #Status Codes as Constants
  JUST_REGISTERED = 0
  DELETED = 1
  DECLINED = 2
  APPROVED = 3

def status
  DELETED
end

  def reset
    #We don't actually delete the record
    #Instead a status field is set
    #And all the data is blanked for data protection reasons

    self.status = DELETED
    self.business_name = ''
    self.first_line = ''
    self.second_line = ''
    self.town = ''
    self.county = ''
    self.postcode = ''
    #MR - added in the following fields
    self.lat = 0.0
    self.lng = 0.0
    self.route_id = 0
    self.save
  end
#.. other code elided
end

  ------------------------------
RSpec

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20

 require 'spec_helper'

describe Address do
  #Test Fixture - Before Each test Create a Standard Bread with the
following attributes and properties
  before(:each) do
    @address = {
      :business_name => 'business', :first_line => '10, This Street',
:second_line=> 'erewhon', :town=> 'town', :county=>'county',
      :postcode =>'AB12 3CD', :user_id => 1, :lat=>1.01, :lng=>2.02,
:status=>Address::JUST_REGISTERED, :route_id=>1
    }
  end


  it "should have a status of deleted after reset" do

    @address.reset

    @address.status.should == :Address::DELETED
  end


end



Thanks David as well, but Tom was right, it was my typing that caused that
issue.

Regards

Matt

2009/12/14 Tom Stuart <tom at experthuman.com>

> On 14 Dec 2009, at 20:36, Matt Riches wrote:
> > 1) Why are my methods undefined, when they are there (I can create the
> object via script/console and call the status and reset methods and see them
> work)
> > 2) What is the best way of resolving the issue
>
> You'd be much better off using pastie.org to show us the real code that's
> having the problem, because your example contains all sorts of omissions and
> typos (which is likely to be the sort of thing that causes your problem!)
> and it's impossible to tell how much of it is wrong in the original code
> versus how much was introduced by you rewriting it as an example.
>
> Cheers,
> -Tom
> _______________________________________________
> rspec-users mailing list
> rspec-users at rubyforge.org
> http://rubyforge.org/mailman/listinfo/rspec-users
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://rubyforge.org/pipermail/rspec-users/attachments/20091214/abf515ba/attachment.html>


More information about the rspec-users mailing list