[rspec-users] fixtures and associations

Daniel Lopes danielvlopes at gmail.com
Wed Dec 17 15:26:44 EST 2008


I get cannot be null error user in active record object... like below:
 properties(:two).valid? return false, but I don't understand why... because
my properties.yml file is like below:

two:
  user: aaron
  owner: tania
  address: Rua de teste
  address_number: 250
  neighborhood: Bairro ABC
...

and my users.yml is:

aaron:
  id:                        2
  login:                     aaron
  name:                      aaron lorem
  email:                     aaron at rspectest.com
...

But my activerecord object return this:

#<ActiveRecord::Errors:0x239be10 @errors={"user"=>["can't be blank"]},
@base=#<Property id: 996332877,
user_id: 317248456,
owner_id: 465176508,
address: "Rua de teste",
address_number: "250",
neighborhood: "Bairro ABC",
country: "Brasil",
city: "Belo Horizonte",
area: "150m",
constructed_area: "120m",
category: "galpão",
usage: "comercial",
owner_code: "AS341ADV",
condominium_value: #<BigDecimal:2389274,'0.0',4(8)>,
iptu_value: #<BigDecimal:2389238,'0.905E2',8(8)>,
garage: 2,
description: "Casa com 3 quartos",
observation: nil,
cep: "30566500",
country_state: "MG",
created_at: "2008-12-17 20:11:11",
updated_at: "2008-12-17 20:11:11",
zoning: "z10" >>

But it is not blank. What i'm doing wrong on my fixtures files? I think I
don't get the message yet in other model spec because this is the fist model
that use properties.yml ( in properties_spec I only use fixtures for users )

Atenciosamente,

Daniel Lopes    Area Criações
Design, Websites e Sistemas Web

Visite:  http://www.areacriacoes.com.br/projects
          http://blog.areacriacoes.com.br/

* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
*
55 (31) 3077-4560  /  55 (31) 8808-8748  /  55 (31) 8737-7501


On Wed, Dec 17, 2008 at 6:02 PM, Pat Maddox <pergesu at gmail.com> wrote:

> Hi Daniel,
>
> What happens when you do
>
> properties(:two).valid?
> p properties(:two).errors
>
> It looks like that fixture is not valid.
>
> Pat
>
> "Daniel Lopes" <danielvlopes at gmail.com> writes:
>
> > Hello David, the error is only in tenant_spec ... in property_spec all my
> examples passed. The error is in "@tenant.errors.should be_empty"
> > line and the message is expected empty? to return true, got false
> >
> > If I use puts to print my @tenant object before the assertion I get those
> values:
> >
> > #<ActiveRecord::Errors:0x23aabf4
> > @errors={"property"=>["is not valid"]},
> > @base=#<Tenant id: nil,
> > property_id: 996332877,
> > renters: "value for renters",
> > guarantor: "value for guarantor",
> > contact_name: "value for contact_name",
> > contact_phone: "value for contact_phone",
> > end_date: "2008-12-17",
> > beginning_date: "2008-12-17",
> > initial_value: #<BigDecimal:239a4fc,'0.999E1',8(8)>,
> > created_at: nil,
> > updated_at: nil,
> > contact_email: "teste at hosttest.com">>
> >
> > Atenciosamente,
> >
> > Daniel Lopes    Area Criações
> > Design, Websites e Sistemas Web
> >
> > Visite:  http://www.areacriacoes.com.br/projects
> >           http://blog.areacriacoes.com.br/
> >
> > * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
> * *
> > 55 (31) 3077-4560  /  55 (31) 8808-8748  /  55 (31) 8737-7501
> >
> > On Wed, Dec 17, 2008 at 5:18 PM, David Chelimsky <dchelimsky at gmail.com>
> wrote:
> >
> >     On Wed, Dec 17, 2008 at 12:37 PM, Daniel Lopes <
> danielvlopes at gmail.com> wrote:
> >     > Hello... I want ask for a help in error that don't understand.
> >     > I have properties model and tenants model. Tenant belongs to
> Property and
> >     > Property has many Tenants... I try this test association but
> allways get
> >     > "not valid" error for association. Anyone can help? I post all my
> classes
> >     > below:
> >     > My Tenant class:
> >     > class Tenant < ActiveRecord::Base
> >     >   belongs_to :property
> >     >
> >     >   validates_associated  :property
> >     >   validates_presence_of :property
> >     >   ...
> >     > My tenant_spec.rb
> >     > describe Tenant do
> >     >   fixtures :properties
> >     >   def create_tenant(options = {})
> >     >     record = Tenant.create({
> >     >       :property => properties(:two),
> >     >       :renters => "value for renters",
> >     >       :guarantor => "value for guarantor",
> >     >       :contact_name => "value for contact_name",
> >     >       :contact_phone => "value for contact_phone",
> >     >       :contact_email => "teste at hosttest.com",
> >     >       :end_date => Date.today,
> >     >       :beginning_date => Date.today,
> >     >       :initial_value => "9.99"
> >     >     }.merge(options))
> >     >   end
> >     >
> >     >   before(:each) do
> >     >     @tenant = create_tenant
> >     >   end
> >     >
> >     >   it "should create a new instance given valid attributes" do
> >     >     @tenant.errors.should be_blank
> >     >   end
> >     > ...
> >     > My property_spec.rb
> >     > class Property < ActiveRecord::Base
> >     >   has_many :tenants
> >     > ...
> >     > My properties.yml:
> >     > two:
> >     >   user: aaron
> >     >   owner: tania
> >     >   address: Rua de teste
> >     >   address_number: 250
> >     >   neighborhood: Bairro ABC
> >     >   country_state: MG
> >     >   country: Brasil
> >     >   city: Belo Horizonte
> >     >   cep: 30566500
> >     >   area: 150m
> >     >   constructed_area: 120m
> >     >   category: galpão
> >     >   usage: comercial
> >     >   owner_code: AS341ADV
> >     >   garage: 2
> >     >   description: Casa com 3 quartos
> >     >   observation:
> >     >   condominium_value: 0
> >     >   iptu_value: 90.50
> >
> >     Hi Daniel,
> >
> >     Are both tenant_spec and property_spec failing? What are the failure
> >     messages you're getting?
> >
> >     >
> >     > Atenciosamente,
> >     >
> >     > Daniel Lopes    Area Criações
> >     > Design, Websites e Sistemas Web
> >     >
> >     > Visite:  http://www.areacriacoes.com.br/projects
> >     >           http://blog.areacriacoes.com.br/
> >     >
> >     > * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
> * * * *
> >     > *
> >     > 55 (31) 3077-4560  /  55 (31) 8808-8748  /  55 (31) 8737-7501
> >     _______________________________________________
> >     rspec-users mailing list
> >     rspec-users at rubyforge.org
> >     http://rubyforge.org/mailman/listinfo/rspec-users
> >
> > _______________________________________________
> > rspec-users mailing list
> > rspec-users at rubyforge.org
> > http://rubyforge.org/mailman/listinfo/rspec-users
> _______________________________________________
> 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/20081217/75fde581/attachment.html>


More information about the rspec-users mailing list