Files
growstuff/spec/controllers/shop_controller_spec.rb
milesgould d8bf8ae4df De-deprecate controller and view specs
We deprecated controller and view specs on the grounds that they were
brittle, and were a poorer measure of user experience than feature
specs. However, feature specs have their own problems: they're much
slower to run, and flakier (see #901). We also ran into a few cases
where feature specs erroneously passed because they were checking for
the presence of a string that occurred in the error page!

Hence, we're cautiously un-deprecating controller and view specs.

Fixes #1132
2017-11-17 16:51:24 +00:00

34 lines
860 B
Ruby

require 'rails_helper'
describe ShopController do
before :each do
@product1 = FactoryBot.create(:product)
@product2 = FactoryBot.create(:product)
end
describe "GET index" do
it "assigns all products as @products" do
get :index, {}
assigns(:products).should eq([@product1, @product2])
end
it "assigns a new @order_item to build forms" do
get :index, {}
assigns(:order_item).should be_an_instance_of OrderItem
end
it "assigns @order as nil if the user doesn't have one" do
get :index, {}
assigns(:order).should be_nil
end
it "assigns @order as current_order if there is one" do
@member = FactoryBot.create(:member)
sign_in @member
@order = FactoryBot.create(:order, member: @member)
get :index, {}
assigns(:order).should eq @order
end
end
end