From 9de74581a582c9394a90bceb603e1450ec44ef79 Mon Sep 17 00:00:00 2001 From: tnicolas1 Date: Thu, 10 Oct 2024 11:26:15 +0200 Subject: [PATCH] Ajout de tests unitaires --- spec/models/asp/payment_request_spec.rb | 35 ++++++++++++++++++++++++- 1 file changed, 34 insertions(+), 1 deletion(-) diff --git a/spec/models/asp/payment_request_spec.rb b/spec/models/asp/payment_request_spec.rb index d116ce741..aba221e9b 100644 --- a/spec/models/asp/payment_request_spec.rb +++ b/spec/models/asp/payment_request_spec.rb @@ -133,6 +133,7 @@ end end + # rubocop:disable RSpec/MultipleMemoizedHelpers describe "eligible_for_auto_retry?" do let(:p_r_incomplete_for_abrogation) do create(:asp_payment_request, :incomplete, incomplete_reason: :needs_abrogated_attributive_decision) @@ -146,6 +147,15 @@ end let(:p_r_ready) { create(:asp_payment_request, :ready) } + let(:p_r_rejected) { create(:asp_payment_request, :rejected) } + let(:p_r_rejected_rib) do + create(:asp_payment_request, :rejected, reason: "Test d'une raison de blocage d'un paiement bancaire") + end + let(:p_r_unpaid) { create(:asp_payment_request, :unpaid) } + let(:p_r_unpaid_rib) do + create(:asp_payment_request, :unpaid, reason: "Test d'une raison de blocage d'un paiement bancaire") + end + context "when the payment request is in 'incomplete' state with the abrogation specific error message" do it "returns true" do expect(p_r_incomplete_for_abrogation.eligible_for_auto_retry?).to be true @@ -164,6 +174,29 @@ end end - # TODO: Ajouter un contexte pour le cas 'rejected' et 'unpaid' + context "when the payment request is in 'rejected' state without a RIB reason" do + it "returns false" do + expect(p_r_rejected.eligible_for_auto_retry?).to be false + end + end + + context "when the payment request is in 'rejected' state with a RIB reason" do + it "returns true" do + expect(p_r_rejected_rib.eligible_for_auto_retry?).to be true + end + end + + context "when the payment request is in 'unpaid' state without a RIB reason" do + it "returns false" do + expect(p_r_unpaid.eligible_for_auto_retry?).to be false + end + end + + context "when the payment request is in 'unpaid' state with a RIB reason" do + it "returns true" do + expect(p_r_unpaid_rib.eligible_for_auto_retry?).to be true + end + end end + # rubocop:enable RSpec/MultipleMemoizedHelpers end