jam-cloud/ruby/spec/jam_ruby/models/sale_spec.rb

73 lines
2.2 KiB
Ruby
Raw Normal View History

require 'spec_helper'
describe Sale do
describe "check_integrity" do
let(:user) {FactoryGirl.create(:user)}
let(:jam_track) {FactoryGirl.create(:jam_track)}
it "empty" do
check_integrity = Sale.check_integrity
check_integrity.length.should eq(1)
r = check_integrity[0]
r.total.to_i.should eq(0)
r.not_known.to_i.should eq(0)
r.succeeded.to_i.should eq(0)
r.failed.to_i.should eq(0)
r.refunded.to_i.should eq(0)
r.voided.to_i.should eq(0)
end
it "one unknown sale" do
sale = Sale.create(user)
shopping_cart = ShoppingCart.create(user, jam_track)
SaleLineItem.create_from_shopping_cart(sale, shopping_cart, 'some_recurly_uuid')
check_integrity = Sale.check_integrity
r = check_integrity[0]
r.total.to_i.should eq(1)
r.not_known.to_i.should eq(1)
r.succeeded.to_i.should eq(0)
r.failed.to_i.should eq(0)
r.refunded.to_i.should eq(0)
r.voided.to_i.should eq(0)
end
it "one succeeded sale" do
sale = Sale.create(user)
shopping_cart = ShoppingCart.create(user, jam_track)
SaleLineItem.create_from_shopping_cart(sale, shopping_cart, 'some_recurly_uuid')
FactoryGirl.create(:recurly_transaction_web_hook, subscription_id: 'some_recurly_uuid')
check_integrity = Sale.check_integrity
r = check_integrity[0]
r.total.to_i.should eq(1)
r.not_known.to_i.should eq(0)
r.succeeded.to_i.should eq(1)
r.failed.to_i.should eq(0)
r.refunded.to_i.should eq(0)
r.voided.to_i.should eq(0)
end
it "one failed sale" do
sale = Sale.create(user)
shopping_cart = ShoppingCart.create(user, jam_track)
SaleLineItem.create_from_shopping_cart(sale, shopping_cart, 'some_recurly_uuid')
FactoryGirl.create(:recurly_transaction_web_hook_failed, subscription_id: 'some_recurly_uuid')
check_integrity = Sale.check_integrity
r = check_integrity[0]
r.total.to_i.should eq(1)
r.not_known.to_i.should eq(0)
r.succeeded.to_i.should eq(0)
r.failed.to_i.should eq(1)
r.refunded.to_i.should eq(0)
r.voided.to_i.should eq(0)
end
end
end