J'essaie de créer un test rspec pour un modèle pour les États. Ce modèle d'état est associé à un modèle de pays. Mes usines ressemblent àrspec association de modèles avec Factory Girl
Factory.define :country do |country|
country.name "Test Country"
end
Factory.define :state do |state|
state.name "Test State"
state.association :country
end
J'ai fait un rspec modèle d'état fonctionnel mais je ne sais pas si la façon dont je mis en place le @attr d'état est correct ou un hack
require 'spec_helper'
describe State do
before(:each) do
country = Factory(:country)
@attr = { :name => 'Test State', :country_id => country.id }
end
it "should create a new state given valid attributes" do
State.create!(@attr)
end
end
Être nouveau sur les rails/rspec Je ne suis pas sûr si force dire :country_id => country.id
est correct ou un moyen pas cher de résoudre le problème. J'apprécie toute aide ou suggestion que je peux obtenir.
J'inclus également les deux modèles juste au cas où.
class Country < ActiveRecord::Base
has_many :states
attr_accessible :name
validates :name, :presence => true,
:uniqueness => {:case_sensitive => false}
end
class State < ActiveRecord::Base
belongs_to :country
attr_accessible :name, :country_id
validates :name, :presence => true,
:uniqueness => {:case_sensitive => false, :scope => :country_id}
validates :country_id, :presence => true
end
Merci, fonctionne très bien maintenant! – rrivas