Тестирование «Post create» с помощью Rspec
Я пытаюсь протестировать & quot; Опубликовать создание & quot; действие с Rspec. Код выглядит следующим образом:
<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>
Одним из обязательных атрибутов для формы является «зона», это раскрывающийся список, и параметры раскрывающегося списка создаются в другой форме. Я не знаю, как создать форму записи с помощью Rspec. Как видите, я пытался вызвать метод из другого контроллераFlymgr::Zone.new
, Я не думаю, что это работает, и это нарушает мой тест.
Кто-нибудь может посоветовать лучший способ сделать это? Возможно, мне следует использовать FactoryGirl для создания зоны и записи правил?