Files
openfoodnetwork/spec/controllers/cart_controller_spec.rb
2013-08-08 18:31:56 +10:00

47 lines
1.2 KiB
Ruby

require 'spec_helper'
require 'spree/api/testing_support/helpers'
module OpenFoodWeb
describe CartController do
render_views
let(:user) { FactoryGirl.create(:user) }
let(:product1) { FactoryGirl.create(:product) }
let(:cart) { Cart.create(user: user) }
before do
end
context "as a normal user" do
context 'with an existing cart' do
it "retrieves an empty cart" do
get :show, {id: cart, :format => :json }
json_response = JSON.parse(response.body)
json_response['id'].should == cart.id
json_response['orders'].size.should == 0
end
context 'with an order' do
let(:order) { FactoryGirl.create(:order_with_totals_and_distributor) }
before(:each) do
cart.orders << order
cart.save!
end
it "retrieves a cart with a single order and line item" do
get :show, {id: cart, :format => :json }
json_response = JSON.parse(response.body)
json_response['orders'].size.should == 1
json_response['orders'].first['distributor'].should == order.distributor.name
end
end
end
end
end
end