Я пытаюсь протестировать вложенный контроллер с Rspec и моделями, но я получаю следующие ошибки:
Failure/Error: it { assigns[:store].should equal(mock_store) }
expected #<Store:2198414660> => #<Store:0x83092544 @name="Store_1008">
got #<User:2198383140> => #<User:0x8308aa24 @name="User_1009">
и я не могу понять, почему это происходит.
routes.rb
namespace :api do
namespace :v1 do
devise_for :users, :controllers => { :sessions => "devise/sessions",
:passwords => "devise/passwords",
:registrations => "devise/registrations" }
resources :categories, :only => [ :index, :show ]
resources :users, :only => [ :index, :show ] do
resources :stores
end
resources :stores do
resources :products
end
resources :products
end
end
приложение / контроллеры / API / v1 / stores_controller.rb
class Api::V1::StoresController < Api::ApiController
belongs_to :user
actions :all
end
app / controllers / api / api_controller.rb
class Api::ApiController < InheritedResources::Base
respond_to :json
end
Мои спецификации / контроллеры / api / v1 / stores_controller_spec.rb -> http://www.pastie.org/2118818 выдают мне эти странные ошибки -> http://www.pastie.org/2118825.
Почему я всегда получаю издевательского пользователя вместо Магазина.
Если я удаляю строку own_to: user из app / controllers / api / v1 / stores_controller.rb на всех этапах моего тестирования, но мне интересно проверить маршруты "users /: user_id / stores / *".
Как я могу их правильно протестировать и почему вместо Магазина у меня появляется Насмешливый пользователь.
Я использую
* inherited_resources (1.2.2)
* rails (3.0.7)
* rspec (2.5.0)
* rspec-core (2.5.2)
* rspec-expectations (2.5.0)
* rspec-mocks (2.5.0)
* rspec-rails (2.5.0)
Спасибо за ваше время.