Commit a28faf92 by vulehuan

rspec: card - step 3: when not pass step 1 and step 2

parent 80df58aa
...@@ -147,8 +147,14 @@ class CardsController < ApplicationController ...@@ -147,8 +147,14 @@ class CardsController < ApplicationController
if !session[:SHOPPING_CARD_SESSION_NAME].nil? if !session[:SHOPPING_CARD_SESSION_NAME].nil?
@card_infos = session[:SHOPPING_CARD_SESSION_NAME] @card_infos = session[:SHOPPING_CARD_SESSION_NAME]
end end
if @card_infos.empty? if @card_infos.empty? || @card_infos[:card_items].empty? || @card_infos[:customer_info].empty?
redirect_to cards_path if @card_infos[:card_items].empty?
flash[:error] = "Please order before check out"
redirect_to products_path and return
else
flash[:error] = "Please enter your shipping information before check out"
redirect_to url_for(action: 'checkout') and return
end
end end
if request.post? if request.post?
customer_info = @card_infos[:customer_info] customer_info = @card_infos[:customer_info]
......
...@@ -83,8 +83,8 @@ describe "CardPages" do ...@@ -83,8 +83,8 @@ describe "CardPages" do
it do it do
should have_xpath("//input[@id='cart-quantity-#{product.id}'][@value='#{amount}']") should have_xpath("//input[@id='cart-quantity-#{product.id}'][@value='#{amount}']")
should have_selector(".cart-unit-price-#{product.id}", text: ActionController::Base.helpers.number_with_delimiter(product.price)) should have_selector("#cart-unit-price-#{product.id}", text: ActionController::Base.helpers.number_with_delimiter(product.price))
should have_selector(".cart-total-price-#{product.id}", text: ActionController::Base.helpers.number_with_delimiter(product.price * amount)) should have_selector("#cart-total-price-#{product.id}", text: ActionController::Base.helpers.number_with_delimiter(product.price * amount))
total = 0 total = 0
Product.all.each do |obj| Product.all.each do |obj|
...@@ -297,7 +297,24 @@ describe "CardPages" do ...@@ -297,7 +297,24 @@ describe "CardPages" do
end end
describe "step 3" do describe "step 3" do
describe "when not pass step 1 and step 2" do describe "when not pass step 1" do
before do
Product.all.each do |product|
visit cards_path(card_action: 'remove', product_id: product.id)
end
visit url_for(controller: 'cards', action: 'confirm_checkout')
end
it { should have_selector('.alert.alert-error', text: 'Please order') }
end
describe "when not pass step 2" do
before do
visit url_for(controller: 'cards', action: 'confirm_checkout')
end
it { should have_selector('.alert.alert-error', text: 'Please enter your shipping information') }
end end
describe "when click product name" do describe "when click product name" do
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment