mirror of
https://github.com/Growstuff/growstuff.git
synced 2026-01-26 18:28:02 -05:00
We needed a bogus paypal gateway as per http://infotrope.net/2013/05/31/testing-paypal-express-with-activemerchants-bogusgateway-and-how-to-make-it-work/ Tests now pass usefully.
76 lines
1.9 KiB
Ruby
76 lines
1.9 KiB
Ruby
require 'spec_helper'
|
|
|
|
describe OrdersController do
|
|
|
|
login_member(:admin_member)
|
|
|
|
def valid_attributes
|
|
{ "member_id" => 1 }
|
|
end
|
|
|
|
def valid_session
|
|
{}
|
|
end
|
|
|
|
describe "GET index" do
|
|
it "assigns all orders as @orders" do
|
|
member = FactoryGirl.create(:member)
|
|
sign_in member
|
|
order = Order.create!(:member_id => member.id)
|
|
get :index, {}
|
|
assigns(:orders).should eq([order])
|
|
end
|
|
end
|
|
|
|
describe "GET show" do
|
|
it "assigns the requested order as @order" do
|
|
member = FactoryGirl.create(:member)
|
|
sign_in member
|
|
order = Order.create!(:member_id => member.id)
|
|
get :show, {:id => order.to_param}
|
|
assigns(:order).should eq(order)
|
|
end
|
|
end
|
|
|
|
describe "GET checkout" do
|
|
it "redirects to Paypal" do
|
|
member = FactoryGirl.create(:member)
|
|
sign_in member
|
|
order = Order.create!(:member_id => member.id)
|
|
get :checkout, {:id => order.to_param}
|
|
response.status.should eq 302
|
|
response.redirect_url.should match /paypal\.com/
|
|
end
|
|
end
|
|
|
|
describe "GET complete" do
|
|
it "assigns the requested order as @order" do
|
|
member = FactoryGirl.create(:member)
|
|
sign_in member
|
|
order = Order.create!(:member_id => member.id)
|
|
get :complete, {:id => order.to_param}
|
|
assigns(:order).should eq(order)
|
|
end
|
|
end
|
|
|
|
describe "DELETE destroy" do
|
|
it "destroys the requested order" do
|
|
member = FactoryGirl.create(:member)
|
|
sign_in member
|
|
order = Order.create!(:member_id => member.id)
|
|
expect {
|
|
delete :destroy, {:id => order.id}
|
|
}.to change(Order, :count).by(-1)
|
|
end
|
|
|
|
it "redirects to the posts list" do
|
|
member = FactoryGirl.create(:member)
|
|
sign_in member
|
|
order = Order.create!(:member_id => member.id)
|
|
delete :destroy, {:id => order.id}
|
|
response.should redirect_to(shop_url)
|
|
end
|
|
end
|
|
|
|
end
|