From 2dcc8ea4bb5ce4a25daf8083be9818ee76dc32e0 Mon Sep 17 00:00:00 2001 From: Matt-Yorkley <9029026+Matt-Yorkley@users.noreply.github.com> Date: Tue, 25 Sep 2018 10:05:32 +0100 Subject: [PATCH] Add spec for pending payments service --- .../services/pending_payments_service_spec.rb | 28 +++++++++++++++++++ 1 file changed, 28 insertions(+) create mode 100644 spec/services/pending_payments_service_spec.rb diff --git a/spec/services/pending_payments_service_spec.rb b/spec/services/pending_payments_service_spec.rb new file mode 100644 index 0000000000..eb3af6007c --- /dev/null +++ b/spec/services/pending_payments_service_spec.rb @@ -0,0 +1,28 @@ +require 'spec_helper' + +describe PendingPayments do + let(:order1) { + create(:order_with_totals_and_distribution, + completed_at: 1.day.ago, state: "complete", + payments: [create(:payment, state: 'checkout')]) + } + let(:order2) { + create(:order_with_totals_and_distribution, + completed_at: 1.day.ago, state: "complete", + payments: [create(:payment, state: 'completed')]) + } + + describe "#can_be_captured?" do + it "responds with a boolean; if an order has payments that can be captured or not" do + expect(PendingPayments.new(order1).can_be_captured?).to be_truthy + expect(PendingPayments.new(order2).can_be_captured?).to_not be_truthy + end + end + + describe "#payment_object" do + it "returns a capturable payment object if there is one present" do + expect(PendingPayments.new(order1).payment_object).to be_a Spree::Payment + expect(PendingPayments.new(order2).payment_object).to be_nil + end + end +end