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
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
-------------- next part --------------
An HTML attachment was scrubbed...
URL:
<http://rubyforge.org/pipermail/rspec-users/attachments/20081217/703b0ce7/attachment-0001.html>
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.50Hi 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
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
-------------- next part --------------
An HTML attachment was scrubbed...
URL:
<http://rubyforge.org/pipermail/rspec-users/attachments/20081217/fbd79d71/attachment.html>
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
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>
You are loading the users fixtures. You need to change your fixtures line to read fixtures :properties, :users (and any other models'' fixtures you want to use) I highly recommend ditching fixtures all together. You avoid funky shit like this, and you won''t have coupling between tests that occurs with fixtures, and you''ll be able to create more clear specs because you do all the setup in the spec itself. If you''re interested, look into something like fixtures_replacement, factory girl, object daddy, etc. Personally, I use a little 15-line homebrew framework. Pat "Daniel Lopes" <danielvlopes at gmail.com> writes:> 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 > > _______________________________________________ > rspec-users mailing list > rspec-users at rubyforge.org > http://rubyforge.org/mailman/listinfo/rspec-users
Hello Pat, even I load all my fixtures it still not reading anything from
users.yml ...
I will look at factory_girl but before I need understand what happening.
I try this:
require File.expand_path(File.dirname(__FILE__) +
''/../spec_helper'')
describe Tenant do
fixtures :properties, :users , :owners
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
p properties(:two).errors
properties(:two).should be_valid
# @tenant.errors.should be_empty
end
end
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 7:07 PM, Pat Maddox <pergesu at gmail.com> wrote:
> You are loading the users fixtures. You need to change your fixtures
> line to read
>
> fixtures :properties, :users
>
> (and any other models'' fixtures you want to use)
>
> I highly recommend ditching fixtures all together. You avoid funky shit
> like this, and you won''t have coupling between tests that occurs
with
> fixtures, and you''ll be able to create more clear specs because
you do
> all the setup in the spec itself. If you''re interested, look into
> something like fixtures_replacement, factory girl, object daddy, etc.
> Personally, I use a little 15-line homebrew framework.
>
> Pat
>
>
> "Daniel Lopes" <danielvlopes at gmail.com> writes:
>
> > 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
> >
> > _______________________________________________
> > 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/e31690b9/attachment-0001.html>
On 17 Dec 2008, at 21:07, Pat Maddox wrote:> I highly recommend ditching fixtures all together. You avoid funky > shit > like this, and you won''t have coupling between tests that occurs with > fixtures, and you''ll be able to create more clear specs because you do > all the setup in the spec itself. If you''re interested, look into > something like fixtures_replacement, factory girl, object daddy, etc.+1 You''ll never look back. Matt Wynne http://blog.mattwynne.net http://www.songkick.com
On Wed, Dec 17, 2008 at 2:13 PM, Daniel Lopes <danielvlopes at gmail.com> wrote:> Hello Pat, even I load all my fixtures it still not reading anything from > users.yml ... > I will look at factory_girl but before I need understand what happening. > I try this: > require File.expand_path(File.dirname(__FILE__) + ''/../spec_helper'') > describe Tenant do > fixtures :properties, :users , :owners > 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 > p properties(:two).errors > properties(:two).should be_valid > # @tenant.errors.should be_empty > end > endWhat error are you getting now? Please post whatever error you''re experiencing...when we change this code, I expect a different error, and would not know what it is. If it''s the same, that''s strange. Also, I noticed you have p properties(:two).errors properties(:two).should be_valid That''s not going to show you anything, because errors don''t get added until you call #valid? So change that to properties(:two).valid? p properties(:two).errors Pat
Hello Pat, the error still the same. at
errors={"user"=>["can''t be blank"]}
But if we look on @base we have user:
@base=#<Property id: 996332877, user_id: 317248456, owner_id: 465176508,
...>
And my code is:
describe Tenant do
fixtures :properties, :users ,:owners
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
properties(:two).valid?
p properties(:two).errors
# @tenant.errors.should be_empty
end
And my fixtures still the same... I don''t know what''s
happening, when I try
run on console or in browser everything ok... I think is something strange
with fixtures.
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 10:14 PM, Pat Maddox <pergesu at gmail.com> wrote:
> On Wed, Dec 17, 2008 at 2:13 PM, Daniel Lopes <danielvlopes at
gmail.com>
> wrote:
> > Hello Pat, even I load all my fixtures it still not reading anything
from
> > users.yml ...
> > I will look at factory_girl but before I need understand what
happening.
> > I try this:
> > require File.expand_path(File.dirname(__FILE__) +
''/../spec_helper'')
> > describe Tenant do
> > fixtures :properties, :users , :owners
> > 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
> > p properties(:two).errors
> > properties(:two).should be_valid
> > # @tenant.errors.should be_empty
> > end
> > end
>
> What error are you getting now? Please post whatever error you''re
> experiencing...when we change this code, I expect a different error,
> and would not know what it is. If it''s the same, that''s
strange.
>
> Also, I noticed you have
> p properties(:two).errors
> properties(:two).should be_valid
>
> That''s not going to show you anything, because errors
don''t get added
> until you call #valid? So change that to
>
> properties(:two).valid?
> p properties(:two).errors
>
> Pat
> _______________________________________________
> 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/6765606e/attachment-0001.html>
On Thu, Dec 18, 2008 at 1:38 AM, Daniel Lopes <danielvlopes at gmail.com>wrote:> Hello Pat, the error still the same. at errors={"user"=>["can''t be blank"]} > > But if we look on @base we have user: > @base=#<Property id: 996332877, user_id: 317248456, owner_id: 465176508, > ... > > > And my code is: > describe Tenant do > fixtures :properties, :users ,:owners > > def create_tenant(options = {}) > record = Tenant.create({ >Just a small tip. Always, always use create! in specs. You want an error to be raised in case creation is unsuccessful, and create doesn''t do that - it just returns false. Aslak> :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 > properties(:two).valid? > p properties(:two).errors > # @tenant.errors.should be_empty > end > > And my fixtures still the same... I don''t know what''s happening, when I try > run on console or in browser everything ok... I think is something strange > with fixtures. > > 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 10:14 PM, Pat Maddox <pergesu at gmail.com> wrote: > >> On Wed, Dec 17, 2008 at 2:13 PM, Daniel Lopes <danielvlopes at gmail.com> >> wrote: >> > Hello Pat, even I load all my fixtures it still not reading anything >> from >> > users.yml ... >> > I will look at factory_girl but before I need understand what happening. >> > I try this: >> > require File.expand_path(File.dirname(__FILE__) + ''/../spec_helper'') >> > describe Tenant do >> > fixtures :properties, :users , :owners >> > 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 >> > p properties(:two).errors >> > properties(:two).should be_valid >> > # @tenant.errors.should be_empty >> > end >> > end >> >> What error are you getting now? Please post whatever error you''re >> experiencing...when we change this code, I expect a different error, >> and would not know what it is. If it''s the same, that''s strange. >> >> Also, I noticed you have >> p properties(:two).errors >> properties(:two).should be_valid >> >> That''s not going to show you anything, because errors don''t get added >> until you call #valid? So change that to >> >> properties(:two).valid? >> p properties(:two).errors >> >> Pat >> _______________________________________________ >> 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/20081218/3c06218b/attachment.html>
I know... I just don''t use create!, in this special case, because it
will be
more complicate to know what field have the error .
I''m still scratching my head, my @tenant instance var on spec has
values for
user_id and owner_id and don''t understand why my validates_associated
:property raise an error.
And if I mock model on model spec will not be a good thing.
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 10:45 PM, aslak hellesoy
<aslak.hellesoy at gmail.com>wrote:
>
>
> On Thu, Dec 18, 2008 at 1:38 AM, Daniel Lopes <danielvlopes at
gmail.com>wrote:
>
>> Hello Pat, the error still the same. at
errors={"user"=>["can''t be blank"]}
>>
>> But if we look on @base we have user:
>> @base=#<Property id: 996332877, user_id: 317248456, owner_id:
465176508,
>> ... >
>>
>> And my code is:
>> describe Tenant do
>> fixtures :properties, :users ,:owners
>>
>> def create_tenant(options = {})
>> record = Tenant.create({
>>
>
> Just a small tip. Always, always use create! in specs. You want an error to
> be raised in case creation is unsuccessful, and create doesn''t do
that - it
> just returns false.
>
> Aslak
>
>
>> :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
>> properties(:two).valid?
>> p properties(:two).errors
>> # @tenant.errors.should be_empty
>> end
>>
>> And my fixtures still the same... I don''t know what''s
happening, when I
>> try run on console or in browser everything ok... I think is something
>> strange with fixtures.
>>
>> 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 10:14 PM, Pat Maddox <pergesu at
gmail.com> wrote:
>>
>>> On Wed, Dec 17, 2008 at 2:13 PM, Daniel Lopes <danielvlopes at
gmail.com>
>>> wrote:
>>> > Hello Pat, even I load all my fixtures it still not reading
anything
>>> from
>>> > users.yml ...
>>> > I will look at factory_girl but before I need understand what
>>> happening.
>>> > I try this:
>>> > require File.expand_path(File.dirname(__FILE__) +
''/../spec_helper'')
>>> > describe Tenant do
>>> > fixtures :properties, :users , :owners
>>> > 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
>>> > p properties(:two).errors
>>> > properties(:two).should be_valid
>>> > # @tenant.errors.should be_empty
>>> > end
>>> > end
>>>
>>> What error are you getting now? Please post whatever error
you''re
>>> experiencing...when we change this code, I expect a different
error,
>>> and would not know what it is. If it''s the same,
that''s strange.
>>>
>>> Also, I noticed you have
>>> p properties(:two).errors
>>> properties(:two).should be_valid
>>>
>>> That''s not going to show you anything, because errors
don''t get added
>>> until you call #valid? So change that to
>>>
>>> properties(:two).valid?
>>> p properties(:two).errors
>>>
>>> Pat
>>> _______________________________________________
>>> 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/ca94c149/attachment-0001.html>
On Thu, Dec 18, 2008 at 2:02 AM, Daniel Lopes <danielvlopes at gmail.com>wrote:> I know... I just don''t use create!, in this special case, because it will > be more complicate to know what field have the error . >No it won''t. The error message tells you what field has the error, and if creation is unsuccessful you *need* to know about it. Otherwise you''ll get tons of false positives. I can''t think of a single case where it makes sense to use create inside a spec. Aslak> I''m still scratching my head, my @tenant instance var on spec has values > for user_id and owner_id and don''t understand why my validates_associated > :property raise an error. > > And if I mock model on model spec will not be a good thing. > > 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 10:45 PM, aslak hellesoy <aslak.hellesoy at gmail.com > > wrote: > >> >> >> On Thu, Dec 18, 2008 at 1:38 AM, Daniel Lopes <danielvlopes at gmail.com>wrote: >> >>> Hello Pat, the error still the same. at errors={"user"=>["can''t be blank"]} >>> >>> But if we look on @base we have user: >>> @base=#<Property id: 996332877, user_id: 317248456, owner_id: 465176508, >>> ... > >>> >>> And my code is: >>> describe Tenant do >>> fixtures :properties, :users ,:owners >>> >>> def create_tenant(options = {}) >>> record = Tenant.create({ >>> >> >> Just a small tip. Always, always use create! in specs. You want an error >> to be raised in case creation is unsuccessful, and create doesn''t do that - >> it just returns false. >> >> Aslak >> >> >>> :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 >>> properties(:two).valid? >>> p properties(:two).errors >>> # @tenant.errors.should be_empty >>> end >>> >>> And my fixtures still the same... I don''t know what''s happening, when I >>> try run on console or in browser everything ok... I think is something >>> strange with fixtures. >>> >>> 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 10:14 PM, Pat Maddox <pergesu at gmail.com> wrote: >>> >>>> On Wed, Dec 17, 2008 at 2:13 PM, Daniel Lopes <danielvlopes at gmail.com> >>>> wrote: >>>> > Hello Pat, even I load all my fixtures it still not reading anything >>>> from >>>> > users.yml ... >>>> > I will look at factory_girl but before I need understand what >>>> happening. >>>> > I try this: >>>> > require File.expand_path(File.dirname(__FILE__) + ''/../spec_helper'') >>>> > describe Tenant do >>>> > fixtures :properties, :users , :owners >>>> > 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 >>>> > p properties(:two).errors >>>> > properties(:two).should be_valid >>>> > # @tenant.errors.should be_empty >>>> > end >>>> > end >>>> >>>> What error are you getting now? Please post whatever error you''re >>>> experiencing...when we change this code, I expect a different error, >>>> and would not know what it is. If it''s the same, that''s strange. >>>> >>>> Also, I noticed you have >>>> p properties(:two).errors >>>> properties(:two).should be_valid >>>> >>>> That''s not going to show you anything, because errors don''t get added >>>> until you call #valid? So change that to >>>> >>>> properties(:two).valid? >>>> p properties(:two).errors >>>> >>>> Pat >>>> _______________________________________________ >>>> 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 >> > > > _______________________________________________ > 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/20081218/30b89701/attachment-0001.html>
I think I was misunderstood. I am not saying to use create rather than
create! ... In this case, I just use it because will help me with puts for
debug my own error in spec.
In this case a really don''t know what is going on, if I use create! I
can''t
store the value in a var and then try to look what is the message of the
failed attribute with puts.
I using puts to print the error object to debug who is the wrong attribute.
If I use create! I will have this message:
Validation failed: Property is not valid => and cant use puts to know the
content of @errors
If I use create and print the result of fixture I will get:
<ActiveRecord::Errors:0x23af4b0 @errors={"user"=>["n?o pode
ser vazio"]},
@base=#<Property id: 996332877, user_id: 317248456, ...
And find the problem, it is just for debugging and help me to find where is
the problem, after fix this I will change to create! again.
--
Anyone can figure why even property_id and owner_id are defined still raise
"can''t be blank" ?
Thanks a lot for all help.
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 Thu, Dec 18, 2008 at 12:10 AM, aslak hellesoy
<aslak.hellesoy at gmail.com>wrote:
>
>
> On Thu, Dec 18, 2008 at 2:02 AM, Daniel Lopes <danielvlopes at
gmail.com>wrote:
>
>> I know... I just don''t use create!, in this special case,
because it will
>> be more complicate to know what field have the error .
>>
>
> No it won''t. The error message tells you what field has the error,
and if
> creation is unsuccessful you *need* to know about it. Otherwise
you''ll get
> tons of false positives. I can''t think of a single case where it
makes sense
> to use create inside a spec.
>
> Aslak
>
>
>> I''m still scratching my head, my @tenant instance var on spec
has values
>> for user_id and owner_id and don''t understand why my
validates_associated
>> :property raise an error.
>>
>> And if I mock model on model spec will not be a good thing.
>>
>> 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 10:45 PM, aslak hellesoy <
>> aslak.hellesoy at gmail.com> wrote:
>>
>>>
>>>
>>> On Thu, Dec 18, 2008 at 1:38 AM, Daniel Lopes <danielvlopes at
gmail.com>wrote:
>>>
>>>> Hello Pat, the error still the same. at
errors={"user"=>["can''t be
>>>> blank"]}
>>>>
>>>> But if we look on @base we have user:
>>>> @base=#<Property id: 996332877, user_id: 317248456,
owner_id: 465176508,
>>>> ... >
>>>>
>>>> And my code is:
>>>> describe Tenant do
>>>> fixtures :properties, :users ,:owners
>>>>
>>>> def create_tenant(options = {})
>>>> record = Tenant.create({
>>>>
>>>
>>> Just a small tip. Always, always use create! in specs. You want an
error
>>> to be raised in case creation is unsuccessful, and create
doesn''t do that -
>>> it just returns false.
>>>
>>> Aslak
>>>
>>>
>>>> :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
>>>> properties(:two).valid?
>>>> p properties(:two).errors
>>>> # @tenant.errors.should be_empty
>>>> end
>>>>
>>>> And my fixtures still the same... I don''t know
what''s happening, when I
>>>> try run on console or in browser everything ok... I think is
something
>>>> strange with fixtures.
>>>>
>>>> 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 10:14 PM, Pat Maddox <pergesu at
gmail.com> wrote:
>>>>
>>>>> On Wed, Dec 17, 2008 at 2:13 PM, Daniel Lopes
<danielvlopes at gmail.com>
>>>>> wrote:
>>>>> > Hello Pat, even I load all my fixtures it still not
reading anything
>>>>> from
>>>>> > users.yml ...
>>>>> > I will look at factory_girl but before I need
understand what
>>>>> happening.
>>>>> > I try this:
>>>>> > require File.expand_path(File.dirname(__FILE__) +
''/../spec_helper'')
>>>>> > describe Tenant do
>>>>> > fixtures :properties, :users , :owners
>>>>> > 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
>>>>> > p properties(:two).errors
>>>>> > properties(:two).should be_valid
>>>>> > # @tenant.errors.should be_empty
>>>>> > end
>>>>> > end
>>>>>
>>>>> What error are you getting now? Please post whatever error
you''re
>>>>> experiencing...when we change this code, I expect a
different error,
>>>>> and would not know what it is. If it''s the same,
that''s strange.
>>>>>
>>>>> Also, I noticed you have
>>>>> p properties(:two).errors
>>>>> properties(:two).should be_valid
>>>>>
>>>>> That''s not going to show you anything, because
errors don''t get added
>>>>> until you call #valid? So change that to
>>>>>
>>>>> properties(:two).valid?
>>>>> p properties(:two).errors
>>>>>
>>>>> Pat
>>>>> _______________________________________________
>>>>> 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
>>>
>>
>>
>> _______________________________________________
>> 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/20081218/da3768c6/attachment.html>
I really don''t know what''s going on with those hell fixtures,
and start
thinking I will never find... I will try migrate all my fixtures to
factory-girl, the only problem are my six hundred examples and no time to
change all. Somebody have any link about rspec + factory-girl ? or maybe
link to any project on github that use factory-girl and rspec ?
Thanks for all help.
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 Thu, Dec 18, 2008 at 12:36 AM, Daniel Lopes <danielvlopes at
gmail.com>wrote:
> I think I was misunderstood. I am not saying to use create rather than
> create! ... In this case, I just use it because will help me with puts for
> debug my own error in spec.
> In this case a really don''t know what is going on, if I use
create! I can''t
> store the value in a var and then try to look what is the message of the
> failed attribute with puts.
> I using puts to print the error object to debug who is the wrong attribute.
> If I use create! I will have this message:
> Validation failed: Property is not valid => and cant use puts to know
the
> content of @errors
>
> If I use create and print the result of fixture I will get:
>
> <ActiveRecord::Errors:0x23af4b0 @errors={"user"=>["n?o
pode ser vazio"]},
> @base=#<Property id: 996332877, user_id: 317248456, ...
>
> And find the problem, it is just for debugging and help me to find where is
> the problem, after fix this I will change to create! again.
>
> --
>
> Anyone can figure why even property_id and owner_id are defined still raise
> "can''t be blank" ?
>
> Thanks a lot for all help.
>
> 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 Thu, Dec 18, 2008 at 12:10 AM, aslak hellesoy <aslak.hellesoy at
gmail.com
> > wrote:
>
>>
>>
>> On Thu, Dec 18, 2008 at 2:02 AM, Daniel Lopes <danielvlopes at
gmail.com>wrote:
>>
>>> I know... I just don''t use create!, in this special case,
because it will
>>> be more complicate to know what field have the error .
>>>
>>
>> No it won''t. The error message tells you what field has the
error, and if
>> creation is unsuccessful you *need* to know about it. Otherwise
you''ll get
>> tons of false positives. I can''t think of a single case where
it makes sense
>> to use create inside a spec.
>>
>> Aslak
>>
>>
>>> I''m still scratching my head, my @tenant instance var on
spec has values
>>> for user_id and owner_id and don''t understand why my
validates_associated
>>> :property raise an error.
>>>
>>> And if I mock model on model spec will not be a good thing.
>>>
>>> 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 10:45 PM, aslak hellesoy <
>>> aslak.hellesoy at gmail.com> wrote:
>>>
>>>>
>>>>
>>>> On Thu, Dec 18, 2008 at 1:38 AM, Daniel Lopes <danielvlopes
at gmail.com>wrote:
>>>>
>>>>> Hello Pat, the error still the same. at
errors={"user"=>["can''t be
>>>>> blank"]}
>>>>>
>>>>> But if we look on @base we have user:
>>>>> @base=#<Property id: 996332877, user_id: 317248456,
owner_id:
>>>>> 465176508, ... >
>>>>>
>>>>> And my code is:
>>>>> describe Tenant do
>>>>> fixtures :properties, :users ,:owners
>>>>>
>>>>> def create_tenant(options = {})
>>>>> record = Tenant.create({
>>>>>
>>>>
>>>> Just a small tip. Always, always use create! in specs. You want
an error
>>>> to be raised in case creation is unsuccessful, and create
doesn''t do that -
>>>> it just returns false.
>>>>
>>>> Aslak
>>>>
>>>>
>>>>> :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
>>>>> properties(:two).valid?
>>>>> p properties(:two).errors
>>>>> # @tenant.errors.should be_empty
>>>>> end
>>>>>
>>>>> And my fixtures still the same... I don''t know
what''s happening, when I
>>>>> try run on console or in browser everything ok... I think
is something
>>>>> strange with fixtures.
>>>>>
>>>>> 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 10:14 PM, Pat Maddox <pergesu at
gmail.com>wrote:
>>>>>
>>>>>> On Wed, Dec 17, 2008 at 2:13 PM, Daniel Lopes
<danielvlopes at gmail.com>
>>>>>> wrote:
>>>>>> > Hello Pat, even I load all my fixtures it still
not reading anything
>>>>>> from
>>>>>> > users.yml ...
>>>>>> > I will look at factory_girl but before I need
understand what
>>>>>> happening.
>>>>>> > I try this:
>>>>>> > require File.expand_path(File.dirname(__FILE__) +
''/../spec_helper'')
>>>>>> > describe Tenant do
>>>>>> > fixtures :properties, :users , :owners
>>>>>> > 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
>>>>>> > p properties(:two).errors
>>>>>> > properties(:two).should be_valid
>>>>>> > # @tenant.errors.should be_empty
>>>>>> > end
>>>>>> > end
>>>>>>
>>>>>> What error are you getting now? Please post whatever
error you''re
>>>>>> experiencing...when we change this code, I expect a
different error,
>>>>>> and would not know what it is. If it''s the
same, that''s strange.
>>>>>>
>>>>>> Also, I noticed you have
>>>>>> p properties(:two).errors
>>>>>> properties(:two).should be_valid
>>>>>>
>>>>>> That''s not going to show you anything, because
errors don''t get added
>>>>>> until you call #valid? So change that to
>>>>>>
>>>>>> properties(:two).valid?
>>>>>> p properties(:two).errors
>>>>>>
>>>>>> Pat
>>>>>> _______________________________________________
>>>>>> 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
>>>>
>>>
>>>
>>> _______________________________________________
>>> 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/20081218/8939a8c9/attachment-0001.html>
So, I think the problem is my fixture became crazy with id''s and not
assign
the right id for the right object in association when I try use Rails 2
sintax for fixtures ( omitting the ids and using the name of the fixture in
the association instead of id ) ... when I change everything to fixed id in
my yml files everything works.
Crazy. I''m still want to migrate to factory-girl, if anybody has
material or
links on github about projects using rspec and factory-girl will help alot.
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 Thu, Dec 18, 2008 at 1:24 PM, Daniel Lopes <danielvlopes at
gmail.com>wrote:
> I really don''t know what''s going on with those hell
fixtures, and start
> thinking I will never find... I will try migrate all my fixtures to
> factory-girl, the only problem are my six hundred examples and no time to
> change all. Somebody have any link about rspec + factory-girl ? or maybe
> link to any project on github that use factory-girl and rspec ?
> Thanks for all help.
>
> 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 Thu, Dec 18, 2008 at 12:36 AM, Daniel Lopes <danielvlopes at
gmail.com>wrote:
>
>> I think I was misunderstood. I am not saying to use create rather than
>> create! ... In this case, I just use it because will help me with puts
for
>> debug my own error in spec.
>> In this case a really don''t know what is going on, if I use
create! I
>> can''t store the value in a var and then try to look what is
the message of
>> the failed attribute with puts.
>> I using puts to print the error object to debug who is the wrong
>> attribute.
>> If I use create! I will have this message:
>> Validation failed: Property is not valid => and cant use puts to
know the
>> content of @errors
>>
>> If I use create and print the result of fixture I will get:
>>
>> <ActiveRecord::Errors:0x23af4b0
@errors={"user"=>["n?o pode ser vazio"]},
>> @base=#<Property id: 996332877, user_id: 317248456, ...
>>
>> And find the problem, it is just for debugging and help me to find
where
>> is the problem, after fix this I will change to create! again.
>>
>> --
>>
>> Anyone can figure why even property_id and owner_id are defined still
>> raise "can''t be blank" ?
>>
>> Thanks a lot for all help.
>>
>> 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 Thu, Dec 18, 2008 at 12:10 AM, aslak hellesoy <
>> aslak.hellesoy at gmail.com> wrote:
>>
>>>
>>>
>>> On Thu, Dec 18, 2008 at 2:02 AM, Daniel Lopes <danielvlopes at
gmail.com>wrote:
>>>
>>>> I know... I just don''t use create!, in this special
case, because it
>>>> will be more complicate to know what field have the error .
>>>>
>>>
>>> No it won''t. The error message tells you what field has
the error, and if
>>> creation is unsuccessful you *need* to know about it. Otherwise
you''ll get
>>> tons of false positives. I can''t think of a single case
where it makes sense
>>> to use create inside a spec.
>>>
>>> Aslak
>>>
>>>
>>>> I''m still scratching my head, my @tenant instance var
on spec has values
>>>> for user_id and owner_id and don''t understand why my
validates_associated
>>>> :property raise an error.
>>>>
>>>> And if I mock model on model spec will not be a good thing.
>>>>
>>>> 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 10:45 PM, aslak hellesoy <
>>>> aslak.hellesoy at gmail.com> wrote:
>>>>
>>>>>
>>>>>
>>>>> On Thu, Dec 18, 2008 at 1:38 AM, Daniel Lopes
<danielvlopes at gmail.com>wrote:
>>>>>
>>>>>> Hello Pat, the error still the same. at
errors={"user"=>["can''t be
>>>>>> blank"]}
>>>>>>
>>>>>> But if we look on @base we have user:
>>>>>> @base=#<Property id: 996332877, user_id: 317248456,
owner_id:
>>>>>> 465176508, ... >
>>>>>>
>>>>>> And my code is:
>>>>>> describe Tenant do
>>>>>> fixtures :properties, :users ,:owners
>>>>>>
>>>>>> def create_tenant(options = {})
>>>>>> record = Tenant.create({
>>>>>>
>>>>>
>>>>> Just a small tip. Always, always use create! in specs. You
want an
>>>>> error to be raised in case creation is unsuccessful, and
create doesn''t do
>>>>> that - it just returns false.
>>>>>
>>>>> Aslak
>>>>>
>>>>>
>>>>>> :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
>>>>>> properties(:two).valid?
>>>>>> p properties(:two).errors
>>>>>> # @tenant.errors.should be_empty
>>>>>> end
>>>>>>
>>>>>> And my fixtures still the same... I don''t know
what''s happening, when
>>>>>> I try run on console or in browser everything ok... I
think is something
>>>>>> strange with fixtures.
>>>>>>
>>>>>> 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 10:14 PM, Pat Maddox
<pergesu at gmail.com>wrote:
>>>>>>
>>>>>>> On Wed, Dec 17, 2008 at 2:13 PM, Daniel Lopes <
>>>>>>> danielvlopes at gmail.com> wrote:
>>>>>>> > Hello Pat, even I load all my fixtures it
still not reading
>>>>>>> anything from
>>>>>>> > users.yml ...
>>>>>>> > I will look at factory_girl but before I need
understand what
>>>>>>> happening.
>>>>>>> > I try this:
>>>>>>> > require
File.expand_path(File.dirname(__FILE__) +
>>>>>>> ''/../spec_helper'')
>>>>>>> > describe Tenant do
>>>>>>> > fixtures :properties, :users , :owners
>>>>>>> > 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
>>>>>>> > p properties(:two).errors
>>>>>>> > properties(:two).should be_valid
>>>>>>> > # @tenant.errors.should be_empty
>>>>>>> > end
>>>>>>> > end
>>>>>>>
>>>>>>> What error are you getting now? Please post
whatever error you''re
>>>>>>> experiencing...when we change this code, I expect a
different error,
>>>>>>> and would not know what it is. If it''s
the same, that''s strange.
>>>>>>>
>>>>>>> Also, I noticed you have
>>>>>>> p properties(:two).errors
>>>>>>> properties(:two).should be_valid
>>>>>>>
>>>>>>> That''s not going to show you anything,
because errors don''t get added
>>>>>>> until you call #valid? So change that to
>>>>>>>
>>>>>>> properties(:two).valid?
>>>>>>> p properties(:two).errors
>>>>>>>
>>>>>>> Pat
>>>>>>> _______________________________________________
>>>>>>> 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
>>>>>
>>>>
>>>>
>>>> _______________________________________________
>>>> 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/20081218/35840abc/attachment-0001.html>
http://toolmantim.com/article/2008/10/27/fixtureless_datas_with_machinist_and_sham http://www.slideshare.net/toolmantim/cucumbers-presentation http://github.com/tpope/pickler/tree/master On Thu, Dec 18, 2008 at 7:24 AM, Daniel Lopes <danielvlopes at gmail.com>wrote:> I really don''t know what''s going on with those hell fixtures, and start > thinking I will never find... I will try migrate all my fixtures to > factory-girl, the only problem are my six hundred examples and no time to > change all. Somebody have any link about rspec + factory-girl ? or maybe > link to any project on github that use factory-girl and rspec ? > Thanks for all help. > > 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 Thu, Dec 18, 2008 at 12:36 AM, Daniel Lopes <danielvlopes at gmail.com>wrote: > >> I think I was misunderstood. I am not saying to use create rather than >> create! ... In this case, I just use it because will help me with puts for >> debug my own error in spec. >> In this case a really don''t know what is going on, if I use create! I >> can''t store the value in a var and then try to look what is the message of >> the failed attribute with puts. >> I using puts to print the error object to debug who is the wrong >> attribute. >> If I use create! I will have this message: >> Validation failed: Property is not valid => and cant use puts to know the >> content of @errors >> >> If I use create and print the result of fixture I will get: >> >> <ActiveRecord::Errors:0x23af4b0 @errors={"user"=>["n?o pode ser vazio"]}, >> @base=#<Property id: 996332877, user_id: 317248456, ... >> >> And find the problem, it is just for debugging and help me to find where >> is the problem, after fix this I will change to create! again. >> >> -- >> >> Anyone can figure why even property_id and owner_id are defined still >> raise "can''t be blank" ? >> >> Thanks a lot for all help. >> >> 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 Thu, Dec 18, 2008 at 12:10 AM, aslak hellesoy < >> aslak.hellesoy at gmail.com> wrote: >> >>> >>> >>> On Thu, Dec 18, 2008 at 2:02 AM, Daniel Lopes <danielvlopes at gmail.com>wrote: >>> >>>> I know... I just don''t use create!, in this special case, because it >>>> will be more complicate to know what field have the error . >>>> >>> >>> No it won''t. The error message tells you what field has the error, and if >>> creation is unsuccessful you *need* to know about it. Otherwise you''ll get >>> tons of false positives. I can''t think of a single case where it makes sense >>> to use create inside a spec. >>> >>> Aslak >>> >>> >>>> I''m still scratching my head, my @tenant instance var on spec has values >>>> for user_id and owner_id and don''t understand why my validates_associated >>>> :property raise an error. >>>> >>>> And if I mock model on model spec will not be a good thing. >>>> >>>> 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 10:45 PM, aslak hellesoy < >>>> aslak.hellesoy at gmail.com> wrote: >>>> >>>>> >>>>> >>>>> On Thu, Dec 18, 2008 at 1:38 AM, Daniel Lopes <danielvlopes at gmail.com>wrote: >>>>> >>>>>> Hello Pat, the error still the same. at errors={"user"=>["can''t be >>>>>> blank"]} >>>>>> >>>>>> But if we look on @base we have user: >>>>>> @base=#<Property id: 996332877, user_id: 317248456, owner_id: >>>>>> 465176508, ... > >>>>>> >>>>>> And my code is: >>>>>> describe Tenant do >>>>>> fixtures :properties, :users ,:owners >>>>>> >>>>>> def create_tenant(options = {}) >>>>>> record = Tenant.create({ >>>>>> >>>>> >>>>> Just a small tip. Always, always use create! in specs. You want an >>>>> error to be raised in case creation is unsuccessful, and create doesn''t do >>>>> that - it just returns false. >>>>> >>>>> Aslak >>>>> >>>>> >>>>>> :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 >>>>>> properties(:two).valid? >>>>>> p properties(:two).errors >>>>>> # @tenant.errors.should be_empty >>>>>> end >>>>>> >>>>>> And my fixtures still the same... I don''t know what''s happening, when >>>>>> I try run on console or in browser everything ok... I think is something >>>>>> strange with fixtures. >>>>>> >>>>>> 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 10:14 PM, Pat Maddox <pergesu at gmail.com>wrote: >>>>>> >>>>>>> On Wed, Dec 17, 2008 at 2:13 PM, Daniel Lopes < >>>>>>> danielvlopes at gmail.com> wrote: >>>>>>> > Hello Pat, even I load all my fixtures it still not reading >>>>>>> anything from >>>>>>> > users.yml ... >>>>>>> > I will look at factory_girl but before I need understand what >>>>>>> happening. >>>>>>> > I try this: >>>>>>> > require File.expand_path(File.dirname(__FILE__) + >>>>>>> ''/../spec_helper'') >>>>>>> > describe Tenant do >>>>>>> > fixtures :properties, :users , :owners >>>>>>> > 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 >>>>>>> > p properties(:two).errors >>>>>>> > properties(:two).should be_valid >>>>>>> > # @tenant.errors.should be_empty >>>>>>> > end >>>>>>> > end >>>>>>> >>>>>>> What error are you getting now? Please post whatever error you''re >>>>>>> experiencing...when we change this code, I expect a different error, >>>>>>> and would not know what it is. If it''s the same, that''s strange. >>>>>>> >>>>>>> Also, I noticed you have >>>>>>> p properties(:two).errors >>>>>>> properties(:two).should be_valid >>>>>>> >>>>>>> That''s not going to show you anything, because errors don''t get added >>>>>>> until you call #valid? So change that to >>>>>>> >>>>>>> properties(:two).valid? >>>>>>> p properties(:two).errors >>>>>>> >>>>>>> Pat >>>>>>> _______________________________________________ >>>>>>> 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 >>>>> >>>> >>>> >>>> _______________________________________________ >>>> 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/20081218/a1a157de/attachment-0001.html>
oops that last one was supposed to be http://github.com/ianwhite/pickle/tree/master similar names On Thu, Dec 18, 2008 at 8:16 AM, Mischa Fierer <f.mischa at gmail.com> wrote:> > http://toolmantim.com/article/2008/10/27/fixtureless_datas_with_machinist_and_sham > > http://www.slideshare.net/toolmantim/cucumbers-presentation > > http://github.com/tpope/pickler/tree/master > > > > On Thu, Dec 18, 2008 at 7:24 AM, Daniel Lopes <danielvlopes at gmail.com>wrote: > >> I really don''t know what''s going on with those hell fixtures, and start >> thinking I will never find... I will try migrate all my fixtures to >> factory-girl, the only problem are my six hundred examples and no time to >> change all. Somebody have any link about rspec + factory-girl ? or maybe >> link to any project on github that use factory-girl and rspec ? >> Thanks for all help. >> >> 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 Thu, Dec 18, 2008 at 12:36 AM, Daniel Lopes <danielvlopes at gmail.com>wrote: >> >>> I think I was misunderstood. I am not saying to use create rather than >>> create! ... In this case, I just use it because will help me with puts for >>> debug my own error in spec. >>> In this case a really don''t know what is going on, if I use create! I >>> can''t store the value in a var and then try to look what is the message of >>> the failed attribute with puts. >>> I using puts to print the error object to debug who is the wrong >>> attribute. >>> If I use create! I will have this message: >>> Validation failed: Property is not valid => and cant use puts to know the >>> content of @errors >>> >>> If I use create and print the result of fixture I will get: >>> >>> <ActiveRecord::Errors:0x23af4b0 @errors={"user"=>["n?o pode ser vazio"]}, >>> @base=#<Property id: 996332877, user_id: 317248456, ... >>> >>> And find the problem, it is just for debugging and help me to find where >>> is the problem, after fix this I will change to create! again. >>> >>> -- >>> >>> Anyone can figure why even property_id and owner_id are defined still >>> raise "can''t be blank" ? >>> >>> Thanks a lot for all help. >>> >>> 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 Thu, Dec 18, 2008 at 12:10 AM, aslak hellesoy < >>> aslak.hellesoy at gmail.com> wrote: >>> >>>> >>>> >>>> On Thu, Dec 18, 2008 at 2:02 AM, Daniel Lopes <danielvlopes at gmail.com>wrote: >>>> >>>>> I know... I just don''t use create!, in this special case, because it >>>>> will be more complicate to know what field have the error . >>>>> >>>> >>>> No it won''t. The error message tells you what field has the error, and >>>> if creation is unsuccessful you *need* to know about it. Otherwise you''ll >>>> get tons of false positives. I can''t think of a single case where it makes >>>> sense to use create inside a spec. >>>> >>>> Aslak >>>> >>>> >>>>> I''m still scratching my head, my @tenant instance var on spec has >>>>> values for user_id and owner_id and don''t understand why >>>>> my validates_associated :property raise an error. >>>>> >>>>> And if I mock model on model spec will not be a good thing. >>>>> >>>>> 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 10:45 PM, aslak hellesoy < >>>>> aslak.hellesoy at gmail.com> wrote: >>>>> >>>>>> >>>>>> >>>>>> On Thu, Dec 18, 2008 at 1:38 AM, Daniel Lopes <danielvlopes at gmail.com >>>>>> > wrote: >>>>>> >>>>>>> Hello Pat, the error still the same. at errors={"user"=>["can''t be >>>>>>> blank"]} >>>>>>> >>>>>>> But if we look on @base we have user: >>>>>>> @base=#<Property id: 996332877, user_id: 317248456, owner_id: >>>>>>> 465176508, ... > >>>>>>> >>>>>>> And my code is: >>>>>>> describe Tenant do >>>>>>> fixtures :properties, :users ,:owners >>>>>>> >>>>>>> def create_tenant(options = {}) >>>>>>> record = Tenant.create({ >>>>>>> >>>>>> >>>>>> Just a small tip. Always, always use create! in specs. You want an >>>>>> error to be raised in case creation is unsuccessful, and create doesn''t do >>>>>> that - it just returns false. >>>>>> >>>>>> Aslak >>>>>> >>>>>> >>>>>>> :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 >>>>>>> properties(:two).valid? >>>>>>> p properties(:two).errors >>>>>>> # @tenant.errors.should be_empty >>>>>>> end >>>>>>> >>>>>>> And my fixtures still the same... I don''t know what''s happening, when >>>>>>> I try run on console or in browser everything ok... I think is something >>>>>>> strange with fixtures. >>>>>>> >>>>>>> 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 10:14 PM, Pat Maddox <pergesu at gmail.com>wrote: >>>>>>> >>>>>>>> On Wed, Dec 17, 2008 at 2:13 PM, Daniel Lopes < >>>>>>>> danielvlopes at gmail.com> wrote: >>>>>>>> > Hello Pat, even I load all my fixtures it still not reading >>>>>>>> anything from >>>>>>>> > users.yml ... >>>>>>>> > I will look at factory_girl but before I need understand what >>>>>>>> happening. >>>>>>>> > I try this: >>>>>>>> > require File.expand_path(File.dirname(__FILE__) + >>>>>>>> ''/../spec_helper'') >>>>>>>> > describe Tenant do >>>>>>>> > fixtures :properties, :users , :owners >>>>>>>> > 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 >>>>>>>> > p properties(:two).errors >>>>>>>> > properties(:two).should be_valid >>>>>>>> > # @tenant.errors.should be_empty >>>>>>>> > end >>>>>>>> > end >>>>>>>> >>>>>>>> What error are you getting now? Please post whatever error you''re >>>>>>>> experiencing...when we change this code, I expect a different error, >>>>>>>> and would not know what it is. If it''s the same, that''s strange. >>>>>>>> >>>>>>>> Also, I noticed you have >>>>>>>> p properties(:two).errors >>>>>>>> properties(:two).should be_valid >>>>>>>> >>>>>>>> That''s not going to show you anything, because errors don''t get >>>>>>>> added >>>>>>>> until you call #valid? So change that to >>>>>>>> >>>>>>>> properties(:two).valid? >>>>>>>> p properties(:two).errors >>>>>>>> >>>>>>>> Pat >>>>>>>> _______________________________________________ >>>>>>>> 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 >>>>>> >>>>> >>>>> >>>>> _______________________________________________ >>>>> 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/20081218/7b428148/attachment-0001.html>
On Thu, Dec 18, 2008 at 7:24 AM, Daniel Lopes <danielvlopes at gmail.com>wrote:> I really don''t know what''s going on with those hell fixtures, and start > thinking I will never find... I will try migrate all my fixtures to > factory-girl, the only problem are my six hundred examples and no time to > change all.You don''t have to change all your fixtures to factories right now, of course, and, indeed, you should not. Just change the ones that are giving you problems for now; and later, maybe, change each on as you work on it. /// -------------- next part -------------- An HTML attachment was scrubbed... URL: <http://rubyforge.org/pipermail/rspec-users/attachments/20081218/8689cc4b/attachment.html>
Thanks everybody...
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 Thu, Dec 18, 2008 at 2:18 PM, Mischa Fierer <f.mischa at gmail.com>
wrote:
> oops
> that last one was supposed to be
>
> http://github.com/ianwhite/pickle/tree/master
>
> similar names
>
> On Thu, Dec 18, 2008 at 8:16 AM, Mischa Fierer <f.mischa at
gmail.com> wrote:
>
>>
>>
http://toolmantim.com/article/2008/10/27/fixtureless_datas_with_machinist_and_sham
>>
>> http://www.slideshare.net/toolmantim/cucumbers-presentation
>>
>> http://github.com/tpope/pickler/tree/master
>>
>>
>>
>> On Thu, Dec 18, 2008 at 7:24 AM, Daniel Lopes <danielvlopes at
gmail.com>wrote:
>>
>>> I really don''t know what''s going on with those
hell fixtures, and start
>>> thinking I will never find... I will try migrate all my fixtures to
>>> factory-girl, the only problem are my six hundred examples and no
time to
>>> change all. Somebody have any link about rspec + factory-girl ? or
maybe
>>> link to any project on github that use factory-girl and rspec ?
>>> Thanks for all help.
>>>
>>> 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 Thu, Dec 18, 2008 at 12:36 AM, Daniel Lopes <danielvlopes at
gmail.com>wrote:
>>>
>>>> I think I was misunderstood. I am not saying to use create
rather than
>>>> create! ... In this case, I just use it because will help me
with puts for
>>>> debug my own error in spec.
>>>> In this case a really don''t know what is going on, if
I use create! I
>>>> can''t store the value in a var and then try to look
what is the message of
>>>> the failed attribute with puts.
>>>> I using puts to print the error object to debug who is the
wrong
>>>> attribute.
>>>> If I use create! I will have this message:
>>>> Validation failed: Property is not valid => and cant use
puts to know
>>>> the content of @errors
>>>>
>>>> If I use create and print the result of fixture I will get:
>>>>
>>>> <ActiveRecord::Errors:0x23af4b0
@errors={"user"=>["n?o pode ser
>>>> vazio"]}, @base=#<Property id: 996332877, user_id:
317248456, ...
>>>>
>>>> And find the problem, it is just for debugging and help me to
find where
>>>> is the problem, after fix this I will change to create! again.
>>>>
>>>> --
>>>>
>>>> Anyone can figure why even property_id and owner_id are defined
still
>>>> raise "can''t be blank" ?
>>>>
>>>> Thanks a lot for all help.
>>>>
>>>> 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 Thu, Dec 18, 2008 at 12:10 AM, aslak hellesoy <
>>>> aslak.hellesoy at gmail.com> wrote:
>>>>
>>>>>
>>>>>
>>>>> On Thu, Dec 18, 2008 at 2:02 AM, Daniel Lopes
<danielvlopes at gmail.com>wrote:
>>>>>
>>>>>> I know... I just don''t use create!, in this
special case, because it
>>>>>> will be more complicate to know what field have the
error .
>>>>>>
>>>>>
>>>>> No it won''t. The error message tells you what
field has the error, and
>>>>> if creation is unsuccessful you *need* to know about it.
Otherwise you''ll
>>>>> get tons of false positives. I can''t think of a
single case where it makes
>>>>> sense to use create inside a spec.
>>>>>
>>>>> Aslak
>>>>>
>>>>>
>>>>>> I''m still scratching my head, my @tenant
instance var on spec has
>>>>>> values for user_id and owner_id and don''t
understand why
>>>>>> my validates_associated :property raise an error.
>>>>>>
>>>>>> And if I mock model on model spec will not be a good
thing.
>>>>>>
>>>>>> 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 10:45 PM, aslak hellesoy <
>>>>>> aslak.hellesoy at gmail.com> wrote:
>>>>>>
>>>>>>>
>>>>>>>
>>>>>>> On Thu, Dec 18, 2008 at 1:38 AM, Daniel Lopes <
>>>>>>> danielvlopes at gmail.com> wrote:
>>>>>>>
>>>>>>>> Hello Pat, the error still the same. at
errors={"user"=>["can''t be
>>>>>>>> blank"]}
>>>>>>>>
>>>>>>>> But if we look on @base we have user:
>>>>>>>> @base=#<Property id: 996332877, user_id:
317248456, owner_id:
>>>>>>>> 465176508, ... >
>>>>>>>>
>>>>>>>> And my code is:
>>>>>>>> describe Tenant do
>>>>>>>> fixtures :properties, :users ,:owners
>>>>>>>>
>>>>>>>> def create_tenant(options = {})
>>>>>>>> record = Tenant.create({
>>>>>>>>
>>>>>>>
>>>>>>> Just a small tip. Always, always use create! in
specs. You want an
>>>>>>> error to be raised in case creation is
unsuccessful, and create doesn''t do
>>>>>>> that - it just returns false.
>>>>>>>
>>>>>>> Aslak
>>>>>>>
>>>>>>>
>>>>>>>> :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
>>>>>>>> properties(:two).valid?
>>>>>>>> p properties(:two).errors
>>>>>>>> # @tenant.errors.should be_empty
>>>>>>>> end
>>>>>>>>
>>>>>>>> And my fixtures still the same... I
don''t know what''s happening,
>>>>>>>> when I try run on console or in browser
everything ok... I think is
>>>>>>>> something strange with fixtures.
>>>>>>>>
>>>>>>>> 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 10:14 PM, Pat Maddox
<pergesu at gmail.com>wrote:
>>>>>>>>
>>>>>>>>> On Wed, Dec 17, 2008 at 2:13 PM, Daniel
Lopes <
>>>>>>>>> danielvlopes at gmail.com> wrote:
>>>>>>>>> > Hello Pat, even I load all my fixtures
it still not reading
>>>>>>>>> anything from
>>>>>>>>> > users.yml ...
>>>>>>>>> > I will look at factory_girl but before
I need understand what
>>>>>>>>> happening.
>>>>>>>>> > I try this:
>>>>>>>>> > require
File.expand_path(File.dirname(__FILE__) +
>>>>>>>>> ''/../spec_helper'')
>>>>>>>>> > describe Tenant do
>>>>>>>>> > fixtures :properties, :users ,
:owners
>>>>>>>>> > 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
>>>>>>>>> > p properties(:two).errors
>>>>>>>>> > properties(:two).should be_valid
>>>>>>>>> > # @tenant.errors.should be_empty
>>>>>>>>> > end
>>>>>>>>> > end
>>>>>>>>>
>>>>>>>>> What error are you getting now? Please
post whatever error you''re
>>>>>>>>> experiencing...when we change this code, I
expect a different
>>>>>>>>> error,
>>>>>>>>> and would not know what it is. If
it''s the same, that''s strange.
>>>>>>>>>
>>>>>>>>> Also, I noticed you have
>>>>>>>>> p properties(:two).errors
>>>>>>>>> properties(:two).should be_valid
>>>>>>>>>
>>>>>>>>> That''s not going to show you
anything, because errors don''t get
>>>>>>>>> added
>>>>>>>>> until you call #valid? So change that to
>>>>>>>>>
>>>>>>>>> properties(:two).valid?
>>>>>>>>> p properties(:two).errors
>>>>>>>>>
>>>>>>>>> Pat
>>>>>>>>>
_______________________________________________
>>>>>>>>> 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
>>>>>>>
>>>>>>
>>>>>>
>>>>>> _______________________________________________
>>>>>> 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
>>>
>>
>>
>
> _______________________________________________
> 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/20081218/7333e5ef/attachment-0001.html>