Testando "Postar criação" com o Rspec
Eu estou tentando testar uma ação "Post criar" com Rspec. O código é o seguinte:
<code> def valid_attributes { :zone => Flymgr::Zone.new(:countries => Flymgr::ZoneCountry.first, :name => 'USA', :description => 'USA Flight', :zipcodes => ''), :price => '100.00', :class => 'first', } end def valid_session {} end before(:each) do @request.env["devise.mapping"] = Devise.mappings[:admin] admin = FactoryGirl.create(:admin) sign_in admin end describe "POST create" do describe "with valid params" do it "creates a new Flymgr::Rule" do expect { post :create, {:Flymgr_rule => valid_attributes} }.to change(Flymgr::Rule, :count).by(1) end </code>
Um dos atributos necessários para o formulário é uma 'zona', essa é uma caixa suspensa e as opções para a lista suspensa são criadas com um formulário diferente. Eu não sei como criar uma entrada de formulário usando o Rspec. Como você pode ver, eu tentei chamar um método de um controlador diferenteFlymgr::Zone.new
. Eu não acho que isso está funcionando e está quebrando meu teste.
Alguém pode aconselhar sobre a melhor maneira de fazer isso? Talvez eu deva usar o FactoryGirl para criar uma entrada de zona e regra?