我有一些规格代码: 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!'但我认为它不起作用 任何想法我的代码有什么问题? 谢谢!
答案 0 :(得分:0)
我认为您的redirect_to
方法中有update
方法。重定向响应302
代码。如果您想获取代码200
,则应使用render
方法而不是redirect_to
,但更新后这是个坏主意。所以在你的例子中一切都很好。继续,并在200
或:
302
expect(response).to redirect_to 'your_url'