Testen von "Post Create" mit Rspec
Ich versuche, eine Aktion "Post erstellen" mit Rspec zu testen. Der Code lautet wie folgt:
<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>
Eines der erforderlichen Attribute für das Formular ist eine 'Zone'. Dies ist ein Dropdown-Feld, und die Optionen für das Dropdown werden mit einem anderen Formular erstellt. Ich kann keinen Formulareintrag mit Rspec erstellen. Wie Sie sehen, habe ich versucht, eine Methode von einem anderen Controller aufzurufenFlymgr::Zone.new
. Ich glaube nicht, dass das funktioniert und es meinen Test bricht.
Kann jemand einen Rat geben, wie man das am besten macht? Vielleicht sollte ich FactoryGirl verwenden, um einen Zonen- und Regeleintrag zu erstellen?