mirror of
https://github.com/Growstuff/growstuff.git
synced 2026-03-24 09:43:24 -04:00
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
34 lines
860 B
Ruby
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
|