From b07fbec8c6919e728c3d4416f830e45d265fa3c7 Mon Sep 17 00:00:00 2001 From: Arun Kumar Mohan Date: Fri, 9 Oct 2020 02:09:35 -0500 Subject: [PATCH] Improve credit card specs' performance --- spec/models/spree/credit_card_spec.rb | 32 +++++---------------------- 1 file changed, 6 insertions(+), 26 deletions(-) diff --git a/spec/models/spree/credit_card_spec.rb b/spec/models/spree/credit_card_spec.rb index c1d8b8ae82..38e9701e6f 100644 --- a/spec/models/spree/credit_card_spec.rb +++ b/spec/models/spree/credit_card_spec.rb @@ -22,35 +22,15 @@ module Spree let(:credit_card) { Spree::CreditCard.new } - before(:each) do - @order = create(:order) - @payment = create(:payment, amount: 100, order: @order) - - @success_response = double('gateway_response', success?: true, - authorization: '123', - avs_result: { 'code' => 'avs-code' }) - @fail_response = double('gateway_response', success?: false) - - @payment_gateway = create(:payment_method, - environment: 'test') - allow(@payment_gateway).to receive_messages :payment_profiles_supported? => true, - :authorize => @success_response, - :purchase => @success_response, - :capture => @success_response, - :void => @success_response, - :credit => @success_response - allow(@payment).to receive_messages payment_method: @payment_gateway - end - context "#can_capture?" do it "should be true if payment is pending" do - payment = create(:payment, created_at: Time.zone.now) + payment = build_stubbed(:payment, created_at: Time.zone.now) allow(payment).to receive(:pending?) { true } expect(credit_card.can_capture?(payment)).to be_truthy end it "should be true if payment is checkout" do - payment = create(:payment, created_at: Time.zone.now) + payment = build_stubbed(:payment, created_at: Time.zone.now) allow(payment).to receive_messages :pending? => false, :checkout? => true expect(credit_card.can_capture?(payment)).to be_truthy @@ -59,7 +39,7 @@ module Spree context "#can_void?" do it "should be true if payment is not void" do - payment = create(:payment) + payment = build_stubbed(:payment) allow(payment).to receive(:void?) { false } expect(credit_card.can_void?(payment)).to be_truthy end @@ -67,20 +47,20 @@ module Spree context "#can_credit?" do it "should be false if payment is not completed" do - payment = create(:payment) + payment = build_stubbed(:payment) allow(payment).to receive(:completed?) { false } expect(credit_card.can_credit?(payment)).to be_falsy end it "should be false when order payment_state is not 'credit_owed'" do - payment = create(:payment, + payment = build_stubbed(:payment, order: create(:order, payment_state: 'paid')) allow(payment).to receive(:completed?) { true } expect(credit_card.can_credit?(payment)).to be_falsy end it "should be false when credit_allowed is zero" do - payment = create(:payment, + payment = build_stubbed(:payment, order: create(:order, payment_state: 'credit_owed')) allow(payment).to receive_messages :completed? => true, :credit_allowed => 0