管理面板狂欢中的产品规格

时间:2016-09-12 19:20:44

标签: ruby-on-rails ruby rspec spree rspec-rails

我有一些规格代码: https://gist.github.com/mPanasiewicz/9751c1de65e9920d8ad6d6f866ef0ae5 有问题因为我得到302代码而不是200或404(如果出错了)。我认为302是因为它重定向了我。

require 'rails_helper'

    RSpec.describe Spree::Admin::ProductsController, type: :controller do
      describe 'GET synchronize' do
        stub_authorization!
        let!(:variant) { create(:variant) }

    it 'updates @products pkb starpacks details' do
      spree_get :synchronize, id: variant
      expect(response).to have_http_status(200)
    end

    it 'returns record not found if product not exist' do
      spree_get :synchronize, id: 0
      expect(response).to have_http_status(404)
    end
  end
end

我已经获得了stub_authorization!'但我认为它不起作用 任何想法我的代码有什么问题? 谢谢!

1 个答案:

答案 0 :(得分:0)

我认为您的redirect_to方法中有update方法。重定向响应302代码。如果您想获取代码200,则应使用render方法而不是redirect_to,但更新后这是个坏主意。所以在你的例子中一切都很好。继续,并在200或:

上更改302
expect(response).to redirect_to 'your_url'