From 9ae8b9db52fc94ae2ff5a8f86004b7a56fce2437 Mon Sep 17 00:00:00 2001 From: Roman Pushkov Date: Fri, 4 Dec 2020 00:20:19 +0300 Subject: [PATCH 01/35] add chargeback clock event --- apps/hellgate/include/payment_events.hrl | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/apps/hellgate/include/payment_events.hrl b/apps/hellgate/include/payment_events.hrl index 8adc8cb1b..12605ade0 100644 --- a/apps/hellgate/include/payment_events.hrl +++ b/apps/hellgate/include/payment_events.hrl @@ -291,6 +291,10 @@ }} ). +-define(chargeback_clock_update(Clock), + {invoice_payment_chargeback_clock_update, #payproc_InvoicePaymentClockUpdate{clock = Clock}} +). + -define(chargeback_stage_chargeback(), {chargeback, #domain_InvoicePaymentChargebackStageChargeback{}} ). From 6435b7e4dadb16d0312c1c1dad755f98409c06d5 Mon Sep 17 00:00:00 2001 From: Roman Pushkov Date: Fri, 4 Dec 2020 00:21:01 +0300 Subject: [PATCH 02/35] add clock event handling to chargeback --- apps/hellgate/src/hg_invoice_payment_chargeback.erl | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/apps/hellgate/src/hg_invoice_payment_chargeback.erl b/apps/hellgate/src/hg_invoice_payment_chargeback.erl index 6c461db62..b6d216626 100644 --- a/apps/hellgate/src/hg_invoice_payment_chargeback.erl +++ b/apps/hellgate/src/hg_invoice_payment_chargeback.erl @@ -54,6 +54,7 @@ -record(chargeback_st, { chargeback :: undefined | chargeback(), + clock :: undefined | clock(), target_status :: undefined | status(), cash_flow = [] :: cash_flow(), cash_flow_plans = #{ @@ -81,6 +82,9 @@ -type payment_state() :: hg_invoice_payment:st(). +-type clock() :: + hg_accounting_new:clock(). + -type party() :: dmsl_domain_thrift:'Party'(). @@ -263,6 +267,8 @@ merge_change(?chargeback_target_status_changed(Status), State) -> set_target_status(Status, State); merge_change(?chargeback_status_changed(Status), State) -> set_target_status(undefined, set_status(Status, State)); +merge_change(?chargeback_clock_update(Clock), State) -> + set_clock(Clock, State); merge_change(?chargeback_cash_flow_changed(CashFlow), State) -> set_cash_flow(CashFlow, State). @@ -702,6 +708,10 @@ set_cash_flow(CashFlow, #chargeback_st{cash_flow_plans = Plans} = State) -> Plan = build_updated_plan(CashFlow, State), State#chargeback_st{cash_flow_plans = Plans#{Stage := Plan}, cash_flow = CashFlow}. +-spec set_clock(clock(), state()) -> state(). +set_clock(Clock, #chargeback_st{} = State) -> + State#chargeback_st{clock = Clock}. + -spec set_target_status(status() | undefined, state()) -> state(). set_target_status(TargetStatus, #chargeback_st{} = State) -> State#chargeback_st{target_status = TargetStatus}. From 6c950db0332a2d43307fd7fe8947c509114d587b Mon Sep 17 00:00:00 2001 From: Roman Pushkov Date: Fri, 4 Dec 2020 13:59:29 +0300 Subject: [PATCH 03/35] update some tests --- apps/hellgate/test/hg_invoice_tests_SUITE.erl | 94 +++++++++++-------- 1 file changed, 54 insertions(+), 40 deletions(-) diff --git a/apps/hellgate/test/hg_invoice_tests_SUITE.erl b/apps/hellgate/test/hg_invoice_tests_SUITE.erl index 23bfe76a4..9217f14c0 100644 --- a/apps/hellgate/test/hg_invoice_tests_SUITE.erl +++ b/apps/hellgate/test/hg_invoice_tests_SUITE.erl @@ -184,22 +184,22 @@ cfg(Key, C) -> -spec all() -> [test_case_name() | {group, group_name()}]. all() -> [ - invalid_party_status, - invalid_shop_status, + % invalid_party_status, + % invalid_shop_status, - % With constant domain config - {group, all_non_destructive_tests}, + % % With constant domain config + % {group, all_non_destructive_tests}, - payments_w_bank_card_issuer_conditions, - payments_w_bank_conditions, + % payments_w_bank_card_issuer_conditions, + % payments_w_bank_conditions, - % With variable domain config - {group, adjustments}, - {group, holds_management_with_custom_config}, - {group, refunds}, + % % With variable domain config + % {group, adjustments}, + % {group, holds_management_with_custom_config}, + % {group, refunds}, {group, chargebacks}, - rounding_cashflow_volume, - terms_retrieval, + % rounding_cashflow_volume, + % terms_retrieval, consistent_account_balances, consistent_history @@ -289,30 +289,30 @@ groups() -> create_chargeback_inconsistent, create_chargeback_exceeded, create_chargeback_idempotency, - cancel_payment_chargeback, - cancel_partial_payment_chargeback, - cancel_partial_payment_chargeback_exceeded, - cancel_payment_chargeback_refund, - reject_payment_chargeback_inconsistent, - reject_payment_chargeback, - reject_payment_chargeback_no_fees, - reject_payment_chargeback_new_levy, - accept_payment_chargeback_inconsistent, - accept_payment_chargeback_exceeded, - accept_payment_chargeback_empty_params, - accept_payment_chargeback_twice, - accept_payment_chargeback_new_body, - accept_payment_chargeback_new_levy, - reopen_accepted_payment_chargeback_fails, - reopen_payment_chargeback_inconsistent, - reopen_payment_chargeback_exceeded, - reopen_payment_chargeback_cancel, - reopen_payment_chargeback_reject, - reopen_payment_chargeback_accept, - reopen_payment_chargeback_skip_stage_accept, - reopen_payment_chargeback_accept_new_levy, - reopen_payment_chargeback_arbitration, - reopen_payment_chargeback_arbitration_reopen_fails + cancel_payment_chargeback + % cancel_partial_payment_chargeback, + % cancel_partial_payment_chargeback_exceeded, + % cancel_payment_chargeback_refund, + % reject_payment_chargeback_inconsistent, + % reject_payment_chargeback, + % reject_payment_chargeback_no_fees, + % reject_payment_chargeback_new_levy, + % accept_payment_chargeback_inconsistent, + % accept_payment_chargeback_exceeded, + % accept_payment_chargeback_empty_params, + % accept_payment_chargeback_twice, + % accept_payment_chargeback_new_body, + % accept_payment_chargeback_new_levy, + % reopen_accepted_payment_chargeback_fails, + % reopen_payment_chargeback_inconsistent, + % reopen_payment_chargeback_exceeded, + % reopen_payment_chargeback_cancel, + % reopen_payment_chargeback_reject, + % reopen_payment_chargeback_accept, + % reopen_payment_chargeback_skip_stage_accept, + % reopen_payment_chargeback_accept_new_levy, + % reopen_payment_chargeback_arbitration, + % reopen_payment_chargeback_arbitration_reopen_fails ]}, {refunds, [], [ @@ -2298,10 +2298,13 @@ create_chargeback_idempotency(C) -> [ ?payment_ev(PID, ?chargeback_ev(CBID, ?chargeback_cash_flow_changed(_))) ] = next_event(IID, Client), + [ + ?payment_ev(PID, ?chargeback_ev(CBID, ?chargeback_clock_update(Clock0))) + ] = next_event(IID, Client), + Settlement0 = hg_accounting_new:get_balance(SID, Clock0), ?assertMatch(CB, hg_client_invoicing:create_chargeback(IID, PID, CBParams, Client)), NewCBParams = make_chargeback_params(Levy), ?assertMatch(?chargeback_pending(), hg_client_invoicing:create_chargeback(IID, PID, NewCBParams, Client)), - Settlement0 = hg_ct_helper:get_balance(SID), CancelParams = make_chargeback_cancel_params(), ok = hg_client_invoicing:cancel_chargeback(IID, PID, CBID, CancelParams, Client), [ @@ -2311,9 +2314,13 @@ create_chargeback_idempotency(C) -> ?payment_ev(PID, ?chargeback_ev(CBID, ?chargeback_cash_flow_changed(_))) ] = next_event(IID, Client), [ + ?payment_ev(PID, ?chargeback_ev(CBID, ?chargeback_clock_update(_))) + ] = next_event(IID, Client), + [ + ?payment_ev(PID, ?chargeback_ev(CBID, ?chargeback_clock_update(Clock1))), ?payment_ev(PID, ?chargeback_ev(CBID, ?chargeback_status_changed(?chargeback_status_cancelled()))) ] = next_event(IID, Client), - Settlement1 = hg_ct_helper:get_balance(SID), + Settlement1 = hg_accounting_new:get_balance(SID, Clock1), ?assertEqual(Paid - Cost - LevyAmount, maps:get(min_available_amount, Settlement0)), ?assertEqual(Paid, maps:get(max_available_amount, Settlement0)), ?assertEqual(Paid, maps:get(min_available_amount, Settlement1)), @@ -2336,7 +2343,10 @@ cancel_payment_chargeback(C) -> [ ?payment_ev(PID, ?chargeback_ev(CBID, ?chargeback_cash_flow_changed(_))) ] = next_event(IID, Client), - Settlement0 = hg_ct_helper:get_balance(SID), + [ + ?payment_ev(PID, ?chargeback_ev(CBID, ?chargeback_clock_update(Clock0))) + ] = next_event(IID, Client), + Settlement0 = hg_accounting_new:get_balance(SID, Clock0), CancelParams = make_chargeback_cancel_params(), ok = hg_client_invoicing:cancel_chargeback(IID, PID, CBID, CancelParams, Client), [ @@ -2346,9 +2356,13 @@ cancel_payment_chargeback(C) -> ?payment_ev(PID, ?chargeback_ev(CBID, ?chargeback_cash_flow_changed(_))) ] = next_event(IID, Client), [ + ?payment_ev(PID, ?chargeback_ev(CBID, ?chargeback_clock_update(_))) + ] = next_event(IID, Client), + [ + ?payment_ev(PID, ?chargeback_ev(CBID, ?chargeback_clock_update(Clock1))), ?payment_ev(PID, ?chargeback_ev(CBID, ?chargeback_status_changed(?chargeback_status_cancelled()))) ] = next_event(IID, Client), - Settlement1 = hg_ct_helper:get_balance(SID), + Settlement1 = hg_accounting_new:get_balance(SID, Clock1), ?assertEqual(Paid - Cost - LevyAmount, maps:get(min_available_amount, Settlement0)), ?assertEqual(Paid, maps:get(max_available_amount, Settlement0)), ?assertEqual(Paid, maps:get(min_available_amount, Settlement1)), From f01c609ae16d871e937bf0f5d0f02776ed7fb559 Mon Sep 17 00:00:00 2001 From: Roman Pushkov Date: Fri, 4 Dec 2020 14:00:18 +0300 Subject: [PATCH 04/35] update chargeback handling --- apps/hellgate/src/hg_invoice_payment.erl | 22 ++++++++++-- .../src/hg_invoice_payment_chargeback.erl | 34 +++++++++++++++---- 2 files changed, 47 insertions(+), 9 deletions(-) diff --git a/apps/hellgate/src/hg_invoice_payment.erl b/apps/hellgate/src/hg_invoice_payment.erl index 711b825ba..a6e93b059 100644 --- a/apps/hellgate/src/hg_invoice_payment.erl +++ b/apps/hellgate/src/hg_invoice_payment.erl @@ -2964,12 +2964,30 @@ merge_change(Change = ?chargeback_ev(ID, Event), St, Opts) -> _ = validate_transition([idle, {chargeback, ID, updating_chargeback}], Change, St, Opts), St#st{activity = {chargeback, ID, updating_chargeback}}; ?chargeback_cash_flow_changed(_) -> - Valid = [{chargeback, ID, Activity} || Activity <- [preparing_initial_cash_flow, updating_cash_flow]], + Valid = [{chargeback, ID, Activity} || Activity <- [ + preparing_initial_cash_flow, + updating_cash_flow + ]], _ = validate_transition(Valid, Change, St, Opts), case St of #st{activity = {chargeback, ID, preparing_initial_cash_flow}} -> - St#st{activity = idle}; + St#st{activity = {chargeback, ID, holding_initial_cash_flow}}; #st{activity = {chargeback, ID, updating_cash_flow}} -> + St#st{activity = {chargeback, ID, holding_updated_cash_flow}} + end; + ?chargeback_clock_update(_) -> + Valid = [{chargeback, ID, Activity} || Activity <- [ + finalising_accounter, + holding_initial_cash_flow, + holding_updated_cash_flow + ]], + _ = validate_transition(Valid, Change, St, Opts), + case St of + #st{activity = {chargeback, ID, holding_initial_cash_flow}} -> + St#st{activity = idle}; + #st{activity = {chargeback, ID, holding_updated_cash_flow}} -> + St#st{activity = {chargeback, ID, finalising_accounter}}; + #st{activity = {chargeback, ID, finalising_accounter}} -> St#st{activity = {chargeback, ID, finalising_accounter}} end; ?chargeback_target_status_changed(?chargeback_status_accepted()) -> diff --git a/apps/hellgate/src/hg_invoice_payment_chargeback.erl b/apps/hellgate/src/hg_invoice_payment_chargeback.erl index b6d216626..4281f3929 100644 --- a/apps/hellgate/src/hg_invoice_payment_chargeback.erl +++ b/apps/hellgate/src/hg_invoice_payment_chargeback.erl @@ -274,9 +274,13 @@ merge_change(?chargeback_cash_flow_changed(CashFlow), State) -> -spec process_timeout(activity(), state(), action(), opts()) -> result(). process_timeout(preparing_initial_cash_flow, State, _Action, Opts) -> - update_cash_flow(State, hg_machine_action:new(), Opts); + update_cash_flow(State, hg_machine_action:instant(), Opts); +process_timeout(holding_initial_cash_flow, State, _Action, Opts) -> + hold_cash_flow(State, hg_machine_action:new(), Opts); process_timeout(updating_cash_flow, State, _Action, Opts) -> update_cash_flow(State, hg_machine_action:instant(), Opts); +process_timeout(holding_updated_cash_flow, State, _Action, Opts) -> + hold_cash_flow(State, hg_machine_action:instant(), Opts); process_timeout(finalising_accounter, State, Action, Opts) -> finalise(State, Action, Opts). @@ -350,10 +354,16 @@ do_reopen(State, PaymentState, ReopenParams = ?reopen_params(Levy, Body)) -> -spec update_cash_flow(state(), action(), opts()) -> result() | no_return(). update_cash_flow(State, Action, Opts) -> FinalCashFlow = build_chargeback_cash_flow(State, Opts), - UpdatedPlan = build_updated_plan(FinalCashFlow, State), - _ = prepare_cash_flow(State, UpdatedPlan, Opts), + % UpdatedPlan = build_updated_plan(FinalCashFlow, State), + % Clock = prepare_cash_flow(State, UpdatedPlan, Opts), {[?chargeback_cash_flow_changed(FinalCashFlow)], Action}. +-spec hold_cash_flow(state(), action(), opts()) -> result() | no_return(). +hold_cash_flow(State, Action, Opts) -> + CashFlowPlan = get_current_plan(State), + Clock = prepare_cash_flow(State, CashFlowPlan, Opts), + {[?chargeback_clock_update(Clock)], Action}. + -spec finalise(state(), action(), opts()) -> result() | no_return(). finalise(#chargeback_st{target_status = Status = ?chargeback_status_pending()}, Action, _Opts) -> {[?chargeback_status_changed(Status)], Action}; @@ -362,8 +372,8 @@ finalise(State = #chargeback_st{target_status = Status}, Action, Opts) when Status =:= ?chargeback_status_accepted(); Status =:= ?chargeback_status_cancelled() -> - _ = commit_cash_flow(State, Opts), - {[?chargeback_status_changed(Status)], Action}. + Clock = commit_cash_flow(State, Opts), + {[?chargeback_clock_update(Clock), ?chargeback_status_changed(Status)], Action}. -spec build_chargeback(opts(), create_params(), revision(), timestamp()) -> chargeback() | no_return(). build_chargeback(Opts, Params = ?chargeback_params(Levy, Body, Reason), Revision, CreatedAt) -> @@ -512,13 +522,19 @@ define_body(Cash, _PaymentState) -> Cash. prepare_cash_flow(State, CashFlowPlan, Opts) -> + #{timestamp := Timestamp} = Opts, + Clock = get_clock(State), PlanID = construct_chargeback_plan_id(State, Opts), - hg_accounting:plan(PlanID, CashFlowPlan). + % hg_accounting:plan(PlanID, CashFlowPlan). + hg_accounting_new:plan(PlanID, CashFlowPlan, Timestamp, Clock). commit_cash_flow(State, Opts) -> + #{timestamp := Timestamp} = Opts, + Clock = get_clock(State), CashFlowPlan = get_current_plan(State), PlanID = construct_chargeback_plan_id(State, Opts), - hg_accounting:commit(PlanID, CashFlowPlan). + % hg_accounting:commit(PlanID, CashFlowPlan). + hg_accounting_new:commit(PlanID, CashFlowPlan, Timestamp, Clock). construct_chargeback_plan_id(State, Opts) -> {Stage, _} = get_stage(State), @@ -629,6 +645,10 @@ get_current_plan(#chargeback_st{cash_flow_plans = Plans} = State) -> #{Stage := Plan} = Plans, Plan. +-spec get_clock(state()) -> clock(). +get_clock(#chargeback_st{clock = Clock}) -> + Clock. + -spec get_reverted_previous_stage(state()) -> [batch()]. get_reverted_previous_stage(State) -> case get_previous_stage(State) of From f9f27ee5f9c9922e7b799dabb7366ac31678dc00 Mon Sep 17 00:00:00 2001 From: Roman Pushkov Date: Fri, 4 Dec 2020 15:46:20 +0300 Subject: [PATCH 05/35] cleanup chargebacks --- apps/hellgate/src/hg_invoice_payment_chargeback.erl | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/apps/hellgate/src/hg_invoice_payment_chargeback.erl b/apps/hellgate/src/hg_invoice_payment_chargeback.erl index 4281f3929..2f9d2720f 100644 --- a/apps/hellgate/src/hg_invoice_payment_chargeback.erl +++ b/apps/hellgate/src/hg_invoice_payment_chargeback.erl @@ -116,7 +116,7 @@ dmsl_domain_thrift:'FinalCashFlow'(). -type batch() :: - hg_accounting:batch(). + hg_accounting_new:batch(). -type create_params() :: dmsl_payment_processing_thrift:'InvoicePaymentChargebackParams'(). @@ -144,8 +144,10 @@ -type activity() :: preparing_initial_cash_flow | + holding_initial_cash_flow | updating_chargeback | updating_cash_flow | + holding_updated_cash_flow | finalising_accounter. -spec get(state()) -> chargeback(). @@ -453,7 +455,7 @@ build_chargeback_cash_flow(State, Opts) -> PaymentInstitutionRef = get_payment_institution_ref(Contract), PaymentInst = hg_payment_institution:compute_payment_institution(PaymentInstitutionRef, VS, Revision), Provider = get_route_provider(Route, Revision), - AccountMap = hg_accounting:collect_account_map(Payment, Shop, PaymentInst, Provider, VS, Revision), + AccountMap = hg_accounting_new:collect_account_map(Payment, Shop, PaymentInst, Provider, VS, Revision), ServiceContext = build_service_cash_flow_context(State), ProviderContext = build_provider_cash_flow_context(State, ProviderFees), ServiceFinalCF = hg_cashflow:finalize(ServiceCashFlow, ServiceContext, AccountMap), @@ -525,7 +527,6 @@ prepare_cash_flow(State, CashFlowPlan, Opts) -> #{timestamp := Timestamp} = Opts, Clock = get_clock(State), PlanID = construct_chargeback_plan_id(State, Opts), - % hg_accounting:plan(PlanID, CashFlowPlan). hg_accounting_new:plan(PlanID, CashFlowPlan, Timestamp, Clock). commit_cash_flow(State, Opts) -> @@ -533,7 +534,6 @@ commit_cash_flow(State, Opts) -> Clock = get_clock(State), CashFlowPlan = get_current_plan(State), PlanID = construct_chargeback_plan_id(State, Opts), - % hg_accounting:commit(PlanID, CashFlowPlan). hg_accounting_new:commit(PlanID, CashFlowPlan, Timestamp, Clock). construct_chargeback_plan_id(State, Opts) -> From 6c30541bf87efa776312a6d94aaf04d00c08c3bb Mon Sep 17 00:00:00 2001 From: Roman Pushkov Date: Fri, 4 Dec 2020 15:50:28 +0300 Subject: [PATCH 06/35] more cleaning up --- apps/hellgate/src/hg_invoice_payment_chargeback.erl | 2 -- 1 file changed, 2 deletions(-) diff --git a/apps/hellgate/src/hg_invoice_payment_chargeback.erl b/apps/hellgate/src/hg_invoice_payment_chargeback.erl index 2f9d2720f..78db45c7e 100644 --- a/apps/hellgate/src/hg_invoice_payment_chargeback.erl +++ b/apps/hellgate/src/hg_invoice_payment_chargeback.erl @@ -356,8 +356,6 @@ do_reopen(State, PaymentState, ReopenParams = ?reopen_params(Levy, Body)) -> -spec update_cash_flow(state(), action(), opts()) -> result() | no_return(). update_cash_flow(State, Action, Opts) -> FinalCashFlow = build_chargeback_cash_flow(State, Opts), - % UpdatedPlan = build_updated_plan(FinalCashFlow, State), - % Clock = prepare_cash_flow(State, UpdatedPlan, Opts), {[?chargeback_cash_flow_changed(FinalCashFlow)], Action}. -spec hold_cash_flow(state(), action(), opts()) -> result() | no_return(). From b8fc370901bbb80b8e1c18ee2fb27016f2bff689 Mon Sep 17 00:00:00 2001 From: Roman Pushkov Date: Fri, 4 Dec 2020 16:18:02 +0300 Subject: [PATCH 07/35] run format --- apps/hellgate/src/hg_invoice_payment.erl | 24 ++++++---- apps/hellgate/test/hg_invoice_tests_SUITE.erl | 48 +++++++++++++++---- 2 files changed, 53 insertions(+), 19 deletions(-) diff --git a/apps/hellgate/src/hg_invoice_payment.erl b/apps/hellgate/src/hg_invoice_payment.erl index a6e93b059..8026dd590 100644 --- a/apps/hellgate/src/hg_invoice_payment.erl +++ b/apps/hellgate/src/hg_invoice_payment.erl @@ -2964,10 +2964,13 @@ merge_change(Change = ?chargeback_ev(ID, Event), St, Opts) -> _ = validate_transition([idle, {chargeback, ID, updating_chargeback}], Change, St, Opts), St#st{activity = {chargeback, ID, updating_chargeback}}; ?chargeback_cash_flow_changed(_) -> - Valid = [{chargeback, ID, Activity} || Activity <- [ - preparing_initial_cash_flow, - updating_cash_flow - ]], + Valid = [ + {chargeback, ID, Activity} + || Activity <- [ + preparing_initial_cash_flow, + updating_cash_flow + ] + ], _ = validate_transition(Valid, Change, St, Opts), case St of #st{activity = {chargeback, ID, preparing_initial_cash_flow}} -> @@ -2976,11 +2979,14 @@ merge_change(Change = ?chargeback_ev(ID, Event), St, Opts) -> St#st{activity = {chargeback, ID, holding_updated_cash_flow}} end; ?chargeback_clock_update(_) -> - Valid = [{chargeback, ID, Activity} || Activity <- [ - finalising_accounter, - holding_initial_cash_flow, - holding_updated_cash_flow - ]], + Valid = [ + {chargeback, ID, Activity} + || Activity <- [ + finalising_accounter, + holding_initial_cash_flow, + holding_updated_cash_flow + ] + ], _ = validate_transition(Valid, Change, St, Opts), case St of #st{activity = {chargeback, ID, holding_initial_cash_flow}} -> diff --git a/apps/hellgate/test/hg_invoice_tests_SUITE.erl b/apps/hellgate/test/hg_invoice_tests_SUITE.erl index 9217f14c0..849e9fefb 100644 --- a/apps/hellgate/test/hg_invoice_tests_SUITE.erl +++ b/apps/hellgate/test/hg_invoice_tests_SUITE.erl @@ -289,12 +289,12 @@ groups() -> create_chargeback_inconsistent, create_chargeback_exceeded, create_chargeback_idempotency, - cancel_payment_chargeback - % cancel_partial_payment_chargeback, - % cancel_partial_payment_chargeback_exceeded, - % cancel_payment_chargeback_refund, - % reject_payment_chargeback_inconsistent, - % reject_payment_chargeback, + cancel_payment_chargeback, + cancel_partial_payment_chargeback, + cancel_partial_payment_chargeback_exceeded, + cancel_payment_chargeback_refund, + reject_payment_chargeback_inconsistent, + reject_payment_chargeback % reject_payment_chargeback_no_fees, % reject_payment_chargeback_new_levy, % accept_payment_chargeback_inconsistent, @@ -2386,7 +2386,10 @@ cancel_partial_payment_chargeback(C) -> [ ?payment_ev(PID, ?chargeback_ev(CBID, ?chargeback_cash_flow_changed(_))) ] = next_event(IID, Client), - Settlement0 = hg_ct_helper:get_balance(SID), + [ + ?payment_ev(PID, ?chargeback_ev(CBID, ?chargeback_clock_update(Clock0))) + ] = next_event(IID, Client), + Settlement0 = hg_accounting_new:get_balance(SID, Clock0), CancelParams = make_chargeback_cancel_params(), ok = hg_client_invoicing:cancel_chargeback(IID, PID, CBID, CancelParams, Client), [ @@ -2396,9 +2399,13 @@ cancel_partial_payment_chargeback(C) -> ?payment_ev(PID, ?chargeback_ev(CBID, ?chargeback_cash_flow_changed(_))) ] = next_event(IID, Client), [ + ?payment_ev(PID, ?chargeback_ev(CBID, ?chargeback_clock_update(_))) + ] = next_event(IID, Client), + [ + ?payment_ev(PID, ?chargeback_ev(CBID, ?chargeback_clock_update(Clock1))), ?payment_ev(PID, ?chargeback_ev(CBID, ?chargeback_status_changed(?chargeback_status_cancelled()))) ] = next_event(IID, Client), - Settlement1 = hg_ct_helper:get_balance(SID), + Settlement1 = hg_accounting_new:get_balance(SID, Clock1), ?assertEqual(Paid - Partial - LevyAmount, maps:get(min_available_amount, Settlement0)), ?assertEqual(Paid, maps:get(max_available_amount, Settlement0)), ?assertEqual(Paid, maps:get(min_available_amount, Settlement1)), @@ -2430,6 +2437,9 @@ cancel_payment_chargeback_refund(C) -> [ ?payment_ev(PID, ?chargeback_ev(CBID, ?chargeback_cash_flow_changed(_))) ] = next_event(IID, Client), + [ + ?payment_ev(PID, ?chargeback_ev(CBID, ?chargeback_clock_update(_))) + ] = next_event(IID, Client), RefundParams = make_refund_params(), RefundError = hg_client_invoicing:refund_payment(IID, PID, RefundParams, Client), CancelParams = make_chargeback_cancel_params(), @@ -2441,6 +2451,10 @@ cancel_payment_chargeback_refund(C) -> ?payment_ev(PID, ?chargeback_ev(CBID, ?chargeback_cash_flow_changed(_))) ] = next_event(IID, Client), [ + ?payment_ev(PID, ?chargeback_ev(CBID, ?chargeback_clock_update(_))) + ] = next_event(IID, Client), + [ + ?payment_ev(PID, ?chargeback_ev(CBID, ?chargeback_clock_update(_))), ?payment_ev(PID, ?chargeback_ev(CBID, ?chargeback_status_changed(?chargeback_status_cancelled()))) ] = next_event(IID, Client), RefundOk = hg_client_invoicing:refund_payment(IID, PID, RefundParams, Client), @@ -2462,6 +2476,9 @@ reject_payment_chargeback_inconsistent(C) -> [ ?payment_ev(PID, ?chargeback_ev(CBID, ?chargeback_cash_flow_changed(_))) ] = next_event(IID, Client), + [ + ?payment_ev(PID, ?chargeback_ev(CBID, ?chargeback_clock_update(_))) + ] = next_event(IID, Client), InconsistentParams = make_chargeback_reject_params(?cash(10, <<"USD">>)), Inconsistent = hg_client_invoicing:reject_chargeback(IID, PID, CBID, InconsistentParams, Client), CancelParams = make_chargeback_cancel_params(), @@ -2473,6 +2490,10 @@ reject_payment_chargeback_inconsistent(C) -> ?payment_ev(PID, ?chargeback_ev(CBID, ?chargeback_cash_flow_changed(_))) ] = next_event(IID, Client), [ + ?payment_ev(PID, ?chargeback_ev(CBID, ?chargeback_clock_update(_))) + ] = next_event(IID, Client), + [ + ?payment_ev(PID, ?chargeback_ev(CBID, ?chargeback_clock_update(_))), ?payment_ev(PID, ?chargeback_ev(CBID, ?chargeback_status_changed(?chargeback_status_cancelled()))) ] = next_event(IID, Client), ?assertMatch(?inconsistent_chargeback_currency(_), Inconsistent). @@ -2494,7 +2515,10 @@ reject_payment_chargeback(C) -> [ ?payment_ev(PID, ?chargeback_ev(CBID, ?chargeback_cash_flow_changed(_))) ] = next_event(IID, Client), - Settlement0 = hg_ct_helper:get_balance(SID), + [ + ?payment_ev(PID, ?chargeback_ev(CBID, ?chargeback_clock_update(Clock0))) + ] = next_event(IID, Client), + Settlement0 = hg_accounting_new:get_balance(SID, Clock0), RejectParams = make_chargeback_reject_params(Levy), ok = hg_client_invoicing:reject_chargeback(IID, PID, CBID, RejectParams, Client), [ @@ -2504,9 +2528,13 @@ reject_payment_chargeback(C) -> ?payment_ev(PID, ?chargeback_ev(CBID, ?chargeback_cash_flow_changed(_))) ] = next_event(IID, Client), [ + ?payment_ev(PID, ?chargeback_ev(CBID, ?chargeback_clock_update(_))) + ] = next_event(IID, Client), + [ + ?payment_ev(PID, ?chargeback_ev(CBID, ?chargeback_clock_update(Clock1))), ?payment_ev(PID, ?chargeback_ev(CBID, ?chargeback_status_changed(?chargeback_status_rejected()))) ] = next_event(IID, Client), - Settlement1 = hg_ct_helper:get_balance(SID), + Settlement1 = hg_accounting_new:get_balance(SID, Clock1), ?assertEqual(Paid - Cost - LevyAmount, maps:get(min_available_amount, Settlement0)), ?assertEqual(Paid, maps:get(max_available_amount, Settlement0)), ?assertEqual(Paid - LevyAmount, maps:get(min_available_amount, Settlement1)), From 5db1283df710354058afe419714730aa82e22775 Mon Sep 17 00:00:00 2001 From: Kehitt Date: Fri, 9 Jul 2021 11:02:28 +0300 Subject: [PATCH 08/35] fix dialyzer --- apps/hellgate/src/hg_invoice_payment_chargeback.erl | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/apps/hellgate/src/hg_invoice_payment_chargeback.erl b/apps/hellgate/src/hg_invoice_payment_chargeback.erl index 514a19cc0..fe98f5143 100644 --- a/apps/hellgate/src/hg_invoice_payment_chargeback.erl +++ b/apps/hellgate/src/hg_invoice_payment_chargeback.erl @@ -76,7 +76,8 @@ -type opts() :: #{ payment_state := payment_state(), party := party(), - invoice := invoice() + invoice := invoice(), + timestamp := hg_datetime:timestamp() }. -type payment_state() :: From 6638feff745d632615017971d6ecdfd128224205 Mon Sep 17 00:00:00 2001 From: Kehitt Date: Mon, 12 Jul 2021 15:20:16 +0300 Subject: [PATCH 09/35] uncomment test --- apps/hellgate/test/hg_invoice_tests_SUITE.erl | 62 +++++++++---------- 1 file changed, 31 insertions(+), 31 deletions(-) diff --git a/apps/hellgate/test/hg_invoice_tests_SUITE.erl b/apps/hellgate/test/hg_invoice_tests_SUITE.erl index 18e005e80..9aaa4ea5f 100644 --- a/apps/hellgate/test/hg_invoice_tests_SUITE.erl +++ b/apps/hellgate/test/hg_invoice_tests_SUITE.erl @@ -202,22 +202,22 @@ cfg(Key, C) -> -spec all() -> [test_case_name() | {group, group_name()}]. all() -> [ - % invalid_party_status, - % invalid_shop_status, + invalid_party_status, + invalid_shop_status, - % % With constant domain config - % {group, all_non_destructive_tests}, + % With constant domain config + {group, all_non_destructive_tests}, - % payments_w_bank_card_issuer_conditions, - % payments_w_bank_conditions, + payments_w_bank_card_issuer_conditions, + payments_w_bank_conditions, - % % With variable domain config - % {group, adjustments}, - % {group, holds_management_with_custom_config}, - % {group, refunds}, + % With variable domain config + {group, adjustments}, + {group, holds_management_with_custom_config}, + {group, refunds}, {group, chargebacks}, - % rounding_cashflow_volume, - % terms_retrieval, + rounding_cashflow_volume, + terms_retrieval, consistent_account_balances, consistent_history @@ -318,25 +318,25 @@ groups() -> cancel_partial_payment_chargeback_exceeded, cancel_payment_chargeback_refund, reject_payment_chargeback_inconsistent, - reject_payment_chargeback - % reject_payment_chargeback_no_fees, - % reject_payment_chargeback_new_levy, - % accept_payment_chargeback_inconsistent, - % accept_payment_chargeback_exceeded, - % accept_payment_chargeback_empty_params, - % accept_payment_chargeback_twice, - % accept_payment_chargeback_new_body, - % accept_payment_chargeback_new_levy, - % reopen_accepted_payment_chargeback_fails, - % reopen_payment_chargeback_inconsistent, - % reopen_payment_chargeback_exceeded, - % reopen_payment_chargeback_cancel, - % reopen_payment_chargeback_reject, - % reopen_payment_chargeback_accept, - % reopen_payment_chargeback_skip_stage_accept, - % reopen_payment_chargeback_accept_new_levy, - % reopen_payment_chargeback_arbitration, - % reopen_payment_chargeback_arbitration_reopen_fails + reject_payment_chargeback, + reject_payment_chargeback_no_fees, + reject_payment_chargeback_new_levy, + accept_payment_chargeback_inconsistent, + accept_payment_chargeback_exceeded, + accept_payment_chargeback_empty_params, + accept_payment_chargeback_twice, + accept_payment_chargeback_new_body, + accept_payment_chargeback_new_levy, + reopen_accepted_payment_chargeback_fails, + reopen_payment_chargeback_inconsistent, + reopen_payment_chargeback_exceeded, + reopen_payment_chargeback_cancel, + reopen_payment_chargeback_reject, + reopen_payment_chargeback_accept, + reopen_payment_chargeback_skip_stage_accept, + reopen_payment_chargeback_accept_new_levy, + reopen_payment_chargeback_arbitration, + reopen_payment_chargeback_arbitration_reopen_fails ]}, {operation_limits, [], [ From 2e12cafd977a95c0d3e4f0c235081a0fc300b5a1 Mon Sep 17 00:00:00 2001 From: Kehitt Date: Mon, 12 Jul 2021 18:29:13 +0300 Subject: [PATCH 10/35] update tests with new get_balance --- apps/hellgate/test/hg_invoice_tests_SUITE.erl | 100 +++++++++--------- 1 file changed, 50 insertions(+), 50 deletions(-) diff --git a/apps/hellgate/test/hg_invoice_tests_SUITE.erl b/apps/hellgate/test/hg_invoice_tests_SUITE.erl index 56a7ec618..4dfc18525 100644 --- a/apps/hellgate/test/hg_invoice_tests_SUITE.erl +++ b/apps/hellgate/test/hg_invoice_tests_SUITE.erl @@ -2239,7 +2239,7 @@ get_cashflow_account(Type, CF) -> } <- CF, T == Type ], - hg_ct_helper:get_balance(ID). + hg_accouning_new:get_balance(ID). -spec invalid_payment_w_deprived_party(config()) -> test_return(). invalid_payment_w_deprived_party(C) -> @@ -2629,7 +2629,7 @@ reject_payment_chargeback_no_fees(C) -> [ ?payment_ev(PID, ?chargeback_ev(CBID, ?chargeback_cash_flow_changed(_))) ] = next_event(IID, Client), - Settlement0 = hg_ct_helper:get_balance(SID), + Settlement0 = hg_accouning_new:get_balance(SID), RejectParams = make_chargeback_reject_params(Levy), ok = hg_client_invoicing:reject_chargeback(IID, PID, CBID, RejectParams, Client), [ @@ -2641,7 +2641,7 @@ reject_payment_chargeback_no_fees(C) -> [ ?payment_ev(PID, ?chargeback_ev(CBID, ?chargeback_status_changed(?chargeback_status_rejected()))) ] = next_event(IID, Client), - Settlement1 = hg_ct_helper:get_balance(SID), + Settlement1 = hg_accouning_new:get_balance(SID), ?assertEqual(Paid - Cost - LevyAmount, maps:get(min_available_amount, Settlement0)), ?assertEqual(Paid, maps:get(max_available_amount, Settlement0)), ?assertEqual(Paid - LevyAmount, maps:get(min_available_amount, Settlement1)), @@ -2664,7 +2664,7 @@ reject_payment_chargeback_new_levy(C) -> [ ?payment_ev(PID, ?chargeback_ev(CBID, ?chargeback_cash_flow_changed(CF0))) ] = next_event(IID, Client), - Settlement0 = hg_ct_helper:get_balance(SID), + Settlement0 = hg_accouning_new:get_balance(SID), RejectAmount = 5000, RejectLevy = ?cash(RejectAmount, <<"RUB">>), RejectParams = make_chargeback_reject_params(RejectLevy), @@ -2679,7 +2679,7 @@ reject_payment_chargeback_new_levy(C) -> [ ?payment_ev(PID, ?chargeback_ev(CBID, ?chargeback_status_changed(?chargeback_status_rejected()))) ] = next_event(IID, Client), - Settlement1 = hg_ct_helper:get_balance(SID), + Settlement1 = hg_accouning_new:get_balance(SID), ?assertNotEqual(CF0, CF1), ?assertEqual(Paid - Cost - LevyAmount, maps:get(min_available_amount, Settlement0)), ?assertEqual(Paid, maps:get(max_available_amount, Settlement0)), @@ -2767,7 +2767,7 @@ accept_payment_chargeback_empty_params(C) -> [ ?payment_ev(PID, ?chargeback_ev(CBID, ?chargeback_cash_flow_changed(_))) ] = next_event(IID, Client), - Settlement0 = hg_ct_helper:get_balance(SID), + Settlement0 = hg_accouning_new:get_balance(SID), AcceptParams = make_chargeback_accept_params(), ok = hg_client_invoicing:accept_chargeback(IID, PID, CBID, AcceptParams, Client), [ @@ -2777,7 +2777,7 @@ accept_payment_chargeback_empty_params(C) -> ?payment_ev(PID, ?chargeback_ev(CBID, ?chargeback_status_changed(?chargeback_status_accepted()))), ?payment_ev(PID, ?payment_status_changed(?charged_back())) ] = next_event(IID, Client), - Settlement1 = hg_ct_helper:get_balance(SID), + Settlement1 = hg_accouning_new:get_balance(SID), ?assertEqual(Paid - Cost - LevyAmount, maps:get(min_available_amount, Settlement0)), ?assertEqual(Paid, maps:get(max_available_amount, Settlement0)), ?assertEqual(Paid - Cost - LevyAmount, maps:get(min_available_amount, Settlement1)), @@ -2802,7 +2802,7 @@ accept_payment_chargeback_twice(C) -> [ ?payment_ev(PID, ?chargeback_ev(CBID, ?chargeback_cash_flow_changed(_))) ] = next_event(IID, Client), - Settlement0 = hg_ct_helper:get_balance(SID), + Settlement0 = hg_accouning_new:get_balance(SID), AcceptParams = make_chargeback_accept_params(), ok = hg_client_invoicing:accept_chargeback(IID, PID, CBID, AcceptParams, Client), [ @@ -2811,7 +2811,7 @@ accept_payment_chargeback_twice(C) -> [ ?payment_ev(PID, ?chargeback_ev(CBID, ?chargeback_status_changed(?chargeback_status_accepted()))) ] = next_event(IID, Client), - Settlement1 = hg_ct_helper:get_balance(SID), + Settlement1 = hg_accouning_new:get_balance(SID), CBParams2 = make_chargeback_params(Levy), Chargeback = hg_client_invoicing:create_chargeback(IID, PID, CBParams2, Client), CBID2 = Chargeback#domain_InvoicePaymentChargeback.id, @@ -2821,7 +2821,7 @@ accept_payment_chargeback_twice(C) -> [ ?payment_ev(PID, ?chargeback_ev(CBID2, ?chargeback_cash_flow_changed(_))) ] = next_event(IID, Client), - Settlement2 = hg_ct_helper:get_balance(SID), + Settlement2 = hg_accouning_new:get_balance(SID), AcceptParams = make_chargeback_accept_params(), ok = hg_client_invoicing:accept_chargeback(IID, PID, CBID2, AcceptParams, Client), [ @@ -2831,7 +2831,7 @@ accept_payment_chargeback_twice(C) -> ?payment_ev(PID, ?chargeback_ev(CBID2, ?chargeback_status_changed(?chargeback_status_accepted()))), ?payment_ev(PID, ?payment_status_changed(?charged_back())) ] = next_event(IID, Client), - Settlement3 = hg_ct_helper:get_balance(SID), + Settlement3 = hg_accouning_new:get_balance(SID), ?assertEqual(Paid - BodyAmount - LevyAmount, maps:get(min_available_amount, Settlement0)), ?assertEqual(Paid, maps:get(max_available_amount, Settlement0)), ?assertEqual(Paid - BodyAmount - LevyAmount, maps:get(min_available_amount, Settlement1)), @@ -2858,7 +2858,7 @@ accept_payment_chargeback_new_body(C) -> [ ?payment_ev(PID, ?chargeback_ev(CBID, ?chargeback_cash_flow_changed(_))) ] = next_event(IID, Client), - Settlement0 = hg_ct_helper:get_balance(SID), + Settlement0 = hg_accouning_new:get_balance(SID), Body = 40000, AcceptParams = make_chargeback_accept_params(undefined, ?cash(Body, <<"RUB">>)), ok = hg_client_invoicing:accept_chargeback(IID, PID, CBID, AcceptParams, Client), @@ -2872,7 +2872,7 @@ accept_payment_chargeback_new_body(C) -> [ ?payment_ev(PID, ?chargeback_ev(CBID, ?chargeback_status_changed(?chargeback_status_accepted()))) ] = next_event(IID, Client), - Settlement1 = hg_ct_helper:get_balance(SID), + Settlement1 = hg_accouning_new:get_balance(SID), ?assertEqual(Paid - Cost - LevyAmount, maps:get(min_available_amount, Settlement0)), ?assertEqual(Paid, maps:get(max_available_amount, Settlement0)), ?assertEqual(Paid - Body - LevyAmount, maps:get(min_available_amount, Settlement1)), @@ -2896,7 +2896,7 @@ accept_payment_chargeback_new_levy(C) -> [ ?payment_ev(PID, ?chargeback_ev(CBID, ?chargeback_cash_flow_changed(_))) ] = next_event(IID, Client), - Settlement0 = hg_ct_helper:get_balance(SID), + Settlement0 = hg_accouning_new:get_balance(SID), AcceptParams = make_chargeback_accept_params(?cash(NewLevyAmount, <<"RUB">>), undefined), ok = hg_client_invoicing:accept_chargeback(IID, PID, CBID, AcceptParams, Client), [ @@ -2910,7 +2910,7 @@ accept_payment_chargeback_new_levy(C) -> ?payment_ev(PID, ?chargeback_ev(CBID, ?chargeback_status_changed(?chargeback_status_accepted()))), ?payment_ev(PID, ?payment_status_changed(?charged_back())) ] = next_event(IID, Client), - Settlement1 = hg_ct_helper:get_balance(SID), + Settlement1 = hg_accouning_new:get_balance(SID), ?assertEqual(Paid - Cost - LevyAmount, maps:get(min_available_amount, Settlement0)), ?assertEqual(Paid, maps:get(max_available_amount, Settlement0)), ?assertEqual(Paid - Cost - NewLevyAmount, maps:get(min_available_amount, Settlement1)), @@ -3026,7 +3026,7 @@ reopen_payment_chargeback_cancel(C) -> [ ?payment_ev(PID, ?chargeback_ev(CBID, ?chargeback_cash_flow_changed(_))) ] = next_event(IID, Client), - Settlement0 = hg_ct_helper:get_balance(SID), + Settlement0 = hg_accouning_new:get_balance(SID), RejectParams = make_chargeback_reject_params(Levy), ok = hg_client_invoicing:reject_chargeback(IID, PID, CBID, RejectParams, Client), [ @@ -3038,7 +3038,7 @@ reopen_payment_chargeback_cancel(C) -> [ ?payment_ev(PID, ?chargeback_ev(CBID, ?chargeback_status_changed(?chargeback_status_rejected()))) ] = next_event(IID, Client), - Settlement1 = hg_ct_helper:get_balance(SID), + Settlement1 = hg_accouning_new:get_balance(SID), ReopenParams = make_chargeback_reopen_params(ReopenLevy), ok = hg_client_invoicing:reopen_chargeback(IID, PID, CBID, ReopenParams, Client), [ @@ -3052,7 +3052,7 @@ reopen_payment_chargeback_cancel(C) -> [ ?payment_ev(PID, ?chargeback_ev(CBID, ?chargeback_status_changed(?chargeback_status_pending()))) ] = next_event(IID, Client), - Settlement2 = hg_ct_helper:get_balance(SID), + Settlement2 = hg_accouning_new:get_balance(SID), CancelParams = make_chargeback_cancel_params(), ok = hg_client_invoicing:cancel_chargeback(IID, PID, CBID, CancelParams, Client), [ @@ -3064,7 +3064,7 @@ reopen_payment_chargeback_cancel(C) -> [ ?payment_ev(PID, ?chargeback_ev(CBID, ?chargeback_status_changed(?chargeback_status_cancelled()))) ] = next_event(IID, Client), - Settlement3 = hg_ct_helper:get_balance(SID), + Settlement3 = hg_accouning_new:get_balance(SID), ?assertEqual(Paid - Cost - LevyAmount, maps:get(min_available_amount, Settlement0)), ?assertEqual(Paid, maps:get(max_available_amount, Settlement0)), ?assertEqual(Paid - LevyAmount, maps:get(min_available_amount, Settlement1)), @@ -3093,7 +3093,7 @@ reopen_payment_chargeback_reject(C) -> [ ?payment_ev(PID, ?chargeback_ev(CBID, ?chargeback_cash_flow_changed(_))) ] = next_event(IID, Client), - Settlement0 = hg_ct_helper:get_balance(SID), + Settlement0 = hg_accouning_new:get_balance(SID), RejectParams = make_chargeback_reject_params(Levy), ok = hg_client_invoicing:reject_chargeback(IID, PID, CBID, RejectParams, Client), [ @@ -3105,7 +3105,7 @@ reopen_payment_chargeback_reject(C) -> [ ?payment_ev(PID, ?chargeback_ev(CBID, ?chargeback_status_changed(?chargeback_status_rejected()))) ] = next_event(IID, Client), - Settlement1 = hg_ct_helper:get_balance(SID), + Settlement1 = hg_accouning_new:get_balance(SID), ReopenParams = make_chargeback_reopen_params(ReopenLevy), ok = hg_client_invoicing:reopen_chargeback(IID, PID, CBID, ReopenParams, Client), [ @@ -3119,7 +3119,7 @@ reopen_payment_chargeback_reject(C) -> [ ?payment_ev(PID, ?chargeback_ev(CBID, ?chargeback_status_changed(?chargeback_status_pending()))) ] = next_event(IID, Client), - Settlement2 = hg_ct_helper:get_balance(SID), + Settlement2 = hg_accouning_new:get_balance(SID), ok = hg_client_invoicing:reject_chargeback(IID, PID, CBID, RejectParams, Client), [ ?payment_ev(PID, ?chargeback_ev(CBID, ?chargeback_levy_changed(Levy))), @@ -3131,7 +3131,7 @@ reopen_payment_chargeback_reject(C) -> [ ?payment_ev(PID, ?chargeback_ev(CBID, ?chargeback_status_changed(?chargeback_status_rejected()))) ] = next_event(IID, Client), - Settlement3 = hg_ct_helper:get_balance(SID), + Settlement3 = hg_accouning_new:get_balance(SID), ?assertEqual(Paid - Cost - LevyAmount, maps:get(min_available_amount, Settlement0)), ?assertEqual(Paid, maps:get(max_available_amount, Settlement0)), ?assertEqual(Paid - LevyAmount, maps:get(min_available_amount, Settlement1)), @@ -3160,7 +3160,7 @@ reopen_payment_chargeback_accept(C) -> [ ?payment_ev(PID, ?chargeback_ev(CBID, ?chargeback_cash_flow_changed(_))) ] = next_event(IID, Client), - Settlement0 = hg_ct_helper:get_balance(SID), + Settlement0 = hg_accouning_new:get_balance(SID), RejectParams = make_chargeback_reject_params(Levy), ok = hg_client_invoicing:reject_chargeback(IID, PID, CBID, RejectParams, Client), [ @@ -3172,7 +3172,7 @@ reopen_payment_chargeback_accept(C) -> [ ?payment_ev(PID, ?chargeback_ev(CBID, ?chargeback_status_changed(?chargeback_status_rejected()))) ] = next_event(IID, Client), - Settlement1 = hg_ct_helper:get_balance(SID), + Settlement1 = hg_accouning_new:get_balance(SID), ReopenParams = make_chargeback_reopen_params(ReopenLevy), ok = hg_client_invoicing:reopen_chargeback(IID, PID, CBID, ReopenParams, Client), [ @@ -3186,7 +3186,7 @@ reopen_payment_chargeback_accept(C) -> [ ?payment_ev(PID, ?chargeback_ev(CBID, ?chargeback_status_changed(?chargeback_status_pending()))) ] = next_event(IID, Client), - Settlement2 = hg_ct_helper:get_balance(SID), + Settlement2 = hg_accouning_new:get_balance(SID), AcceptParams = make_chargeback_accept_params(), ok = hg_client_invoicing:accept_chargeback(IID, PID, CBID, AcceptParams, Client), [ @@ -3196,7 +3196,7 @@ reopen_payment_chargeback_accept(C) -> ?payment_ev(PID, ?chargeback_ev(CBID, ?chargeback_status_changed(?chargeback_status_accepted()))), ?payment_ev(PID, ?payment_status_changed(?charged_back())) ] = next_event(IID, Client), - Settlement3 = hg_ct_helper:get_balance(SID), + Settlement3 = hg_accouning_new:get_balance(SID), ?assertEqual(Paid - Cost - LevyAmount, maps:get(min_available_amount, Settlement0)), ?assertEqual(Paid, maps:get(max_available_amount, Settlement0)), ?assertEqual(Paid - LevyAmount, maps:get(min_available_amount, Settlement1)), @@ -3225,7 +3225,7 @@ reopen_payment_chargeback_skip_stage_accept(C) -> [ ?payment_ev(PID, ?chargeback_ev(CBID, ?chargeback_cash_flow_changed(_))) ] = next_event(IID, Client), - Settlement0 = hg_ct_helper:get_balance(SID), + Settlement0 = hg_accouning_new:get_balance(SID), RejectParams = make_chargeback_reject_params(Levy), ok = hg_client_invoicing:reject_chargeback(IID, PID, CBID, RejectParams, Client), [ @@ -3237,7 +3237,7 @@ reopen_payment_chargeback_skip_stage_accept(C) -> [ ?payment_ev(PID, ?chargeback_ev(CBID, ?chargeback_status_changed(?chargeback_status_rejected()))) ] = next_event(IID, Client), - Settlement1 = hg_ct_helper:get_balance(SID), + Settlement1 = hg_accouning_new:get_balance(SID), NextStage = ?chargeback_stage_arbitration(), ReopenParams = make_chargeback_reopen_params_move_to_stage(ReopenLevy, NextStage), ok = hg_client_invoicing:reopen_chargeback(IID, PID, CBID, ReopenParams, Client), @@ -3252,7 +3252,7 @@ reopen_payment_chargeback_skip_stage_accept(C) -> [ ?payment_ev(PID, ?chargeback_ev(CBID, ?chargeback_status_changed(?chargeback_status_pending()))) ] = next_event(IID, Client), - Settlement2 = hg_ct_helper:get_balance(SID), + Settlement2 = hg_accouning_new:get_balance(SID), AcceptParams = make_chargeback_accept_params(), ok = hg_client_invoicing:accept_chargeback(IID, PID, CBID, AcceptParams, Client), [ @@ -3262,7 +3262,7 @@ reopen_payment_chargeback_skip_stage_accept(C) -> ?payment_ev(PID, ?chargeback_ev(CBID, ?chargeback_status_changed(?chargeback_status_accepted()))), ?payment_ev(PID, ?payment_status_changed(?charged_back())) ] = next_event(IID, Client), - Settlement3 = hg_ct_helper:get_balance(SID), + Settlement3 = hg_accouning_new:get_balance(SID), ?assertEqual(Paid - Cost - LevyAmount, maps:get(min_available_amount, Settlement0)), ?assertEqual(Paid, maps:get(max_available_amount, Settlement0)), ?assertEqual(Paid - LevyAmount, maps:get(min_available_amount, Settlement1)), @@ -3294,7 +3294,7 @@ reopen_payment_chargeback_accept_new_levy(C) -> [ ?payment_ev(PID, ?chargeback_ev(CBID, ?chargeback_cash_flow_changed(_))) ] = next_event(IID, Client), - Settlement0 = hg_ct_helper:get_balance(SID), + Settlement0 = hg_accouning_new:get_balance(SID), RejectParams = make_chargeback_reject_params(Levy), ok = hg_client_invoicing:reject_chargeback(IID, PID, CBID, RejectParams, Client), [ @@ -3306,7 +3306,7 @@ reopen_payment_chargeback_accept_new_levy(C) -> [ ?payment_ev(PID, ?chargeback_ev(CBID, ?chargeback_status_changed(?chargeback_status_rejected()))) ] = next_event(IID, Client), - Settlement1 = hg_ct_helper:get_balance(SID), + Settlement1 = hg_accouning_new:get_balance(SID), ReopenParams = make_chargeback_reopen_params(ReopenLevy), ok = hg_client_invoicing:reopen_chargeback(IID, PID, CBID, ReopenParams, Client), [ @@ -3320,7 +3320,7 @@ reopen_payment_chargeback_accept_new_levy(C) -> [ ?payment_ev(PID, ?chargeback_ev(CBID, ?chargeback_status_changed(?chargeback_status_pending()))) ] = next_event(IID, Client), - Settlement2 = hg_ct_helper:get_balance(SID), + Settlement2 = hg_accouning_new:get_balance(SID), AcceptParams = make_chargeback_accept_params(AcceptLevy, Body), ok = hg_client_invoicing:accept_chargeback(IID, PID, CBID, AcceptParams, Client), [ @@ -3334,7 +3334,7 @@ reopen_payment_chargeback_accept_new_levy(C) -> ?payment_ev(PID, ?chargeback_ev(CBID, ?chargeback_status_changed(?chargeback_status_accepted()))), ?payment_ev(PID, ?payment_status_changed(?charged_back())) ] = next_event(IID, Client), - Settlement3 = hg_ct_helper:get_balance(SID), + Settlement3 = hg_accouning_new:get_balance(SID), ?assertEqual(Paid - Cost - LevyAmount, maps:get(min_available_amount, Settlement0)), ?assertEqual(Paid, maps:get(max_available_amount, Settlement0)), ?assertEqual(Paid - LevyAmount, maps:get(min_available_amount, Settlement1)), @@ -3365,7 +3365,7 @@ reopen_payment_chargeback_arbitration(C) -> [ ?payment_ev(PID, ?chargeback_ev(CBID, ?chargeback_cash_flow_changed(_))) ] = next_event(IID, Client), - Settlement0 = hg_ct_helper:get_balance(SID), + Settlement0 = hg_accouning_new:get_balance(SID), RejectParams = make_chargeback_reject_params(Levy), ok = hg_client_invoicing:reject_chargeback(IID, PID, CBID, RejectParams, Client), [ @@ -3377,7 +3377,7 @@ reopen_payment_chargeback_arbitration(C) -> [ ?payment_ev(PID, ?chargeback_ev(CBID, ?chargeback_status_changed(?chargeback_status_rejected()))) ] = next_event(IID, Client), - Settlement1 = hg_ct_helper:get_balance(SID), + Settlement1 = hg_accouning_new:get_balance(SID), ReopenParams = make_chargeback_reopen_params(ReopenLevy), ok = hg_client_invoicing:reopen_chargeback(IID, PID, CBID, ReopenParams, Client), [ @@ -3391,7 +3391,7 @@ reopen_payment_chargeback_arbitration(C) -> [ ?payment_ev(PID, ?chargeback_ev(CBID, ?chargeback_status_changed(?chargeback_status_pending()))) ] = next_event(IID, Client), - Settlement2 = hg_ct_helper:get_balance(SID), + Settlement2 = hg_accouning_new:get_balance(SID), ok = hg_client_invoicing:reject_chargeback(IID, PID, CBID, RejectParams, Client), [ ?payment_ev(PID, ?chargeback_ev(CBID, ?chargeback_levy_changed(_))), @@ -3403,7 +3403,7 @@ reopen_payment_chargeback_arbitration(C) -> [ ?payment_ev(PID, ?chargeback_ev(CBID, ?chargeback_status_changed(?chargeback_status_rejected()))) ] = next_event(IID, Client), - Settlement3 = hg_ct_helper:get_balance(SID), + Settlement3 = hg_accouning_new:get_balance(SID), ReopenArbParams = make_chargeback_reopen_params(ReopenArbLevy), ok = hg_client_invoicing:reopen_chargeback(IID, PID, CBID, ReopenArbParams, Client), [ @@ -3417,7 +3417,7 @@ reopen_payment_chargeback_arbitration(C) -> [ ?payment_ev(PID, ?chargeback_ev(CBID, ?chargeback_status_changed(?chargeback_status_pending()))) ] = next_event(IID, Client), - Settlement4 = hg_ct_helper:get_balance(SID), + Settlement4 = hg_accouning_new:get_balance(SID), AcceptParams = make_chargeback_accept_params(), ok = hg_client_invoicing:accept_chargeback(IID, PID, CBID, AcceptParams, Client), [ @@ -3427,7 +3427,7 @@ reopen_payment_chargeback_arbitration(C) -> ?payment_ev(PID, ?chargeback_ev(CBID, ?chargeback_status_changed(?chargeback_status_accepted()))), ?payment_ev(PID, ?payment_status_changed(?charged_back())) ] = next_event(IID, Client), - Settlement5 = hg_ct_helper:get_balance(SID), + Settlement5 = hg_accouning_new:get_balance(SID), ?assertEqual(Paid - Cost - LevyAmount, maps:get(min_available_amount, Settlement0)), ?assertEqual(Paid, maps:get(max_available_amount, Settlement0)), ?assertEqual(Paid - LevyAmount, maps:get(min_available_amount, Settlement1)), @@ -3462,7 +3462,7 @@ reopen_payment_chargeback_arbitration_reopen_fails(C) -> [ ?payment_ev(PID, ?chargeback_ev(CBID, ?chargeback_cash_flow_changed(_))) ] = next_event(IID, Client), - Settlement0 = hg_ct_helper:get_balance(SID), + Settlement0 = hg_accouning_new:get_balance(SID), RejectParams = make_chargeback_reject_params(Levy), ok = hg_client_invoicing:reject_chargeback(IID, PID, CBID, RejectParams, Client), [ @@ -3474,7 +3474,7 @@ reopen_payment_chargeback_arbitration_reopen_fails(C) -> [ ?payment_ev(PID, ?chargeback_ev(CBID, ?chargeback_status_changed(?chargeback_status_rejected()))) ] = next_event(IID, Client), - Settlement1 = hg_ct_helper:get_balance(SID), + Settlement1 = hg_accouning_new:get_balance(SID), ReopenParams = make_chargeback_reopen_params(ReopenLevy), ok = hg_client_invoicing:reopen_chargeback(IID, PID, CBID, ReopenParams, Client), [ @@ -3488,7 +3488,7 @@ reopen_payment_chargeback_arbitration_reopen_fails(C) -> [ ?payment_ev(PID, ?chargeback_ev(CBID, ?chargeback_status_changed(?chargeback_status_pending()))) ] = next_event(IID, Client), - Settlement2 = hg_ct_helper:get_balance(SID), + Settlement2 = hg_accouning_new:get_balance(SID), ok = hg_client_invoicing:reject_chargeback(IID, PID, CBID, RejectParams, Client), [ ?payment_ev(PID, ?chargeback_ev(CBID, ?chargeback_levy_changed(_))), @@ -3500,7 +3500,7 @@ reopen_payment_chargeback_arbitration_reopen_fails(C) -> [ ?payment_ev(PID, ?chargeback_ev(CBID, ?chargeback_status_changed(?chargeback_status_rejected()))) ] = next_event(IID, Client), - Settlement3 = hg_ct_helper:get_balance(SID), + Settlement3 = hg_accouning_new:get_balance(SID), ReopenArbParams = make_chargeback_reopen_params(ReopenArbLevy), ok = hg_client_invoicing:reopen_chargeback(IID, PID, CBID, ReopenArbParams, Client), [ @@ -3514,7 +3514,7 @@ reopen_payment_chargeback_arbitration_reopen_fails(C) -> [ ?payment_ev(PID, ?chargeback_ev(CBID, ?chargeback_status_changed(?chargeback_status_pending()))) ] = next_event(IID, Client), - Settlement4 = hg_ct_helper:get_balance(SID), + Settlement4 = hg_accouning_new:get_balance(SID), ok = hg_client_invoicing:reject_chargeback(IID, PID, CBID, RejectParams, Client), [ ?payment_ev(PID, ?chargeback_ev(CBID, ?chargeback_levy_changed(_))), @@ -3526,7 +3526,7 @@ reopen_payment_chargeback_arbitration_reopen_fails(C) -> [ ?payment_ev(PID, ?chargeback_ev(CBID, ?chargeback_status_changed(?chargeback_status_rejected()))) ] = next_event(IID, Client), - Settlement5 = hg_ct_helper:get_balance(SID), + Settlement5 = hg_accouning_new:get_balance(SID), Error = hg_client_invoicing:reopen_chargeback(IID, PID, CBID, ReopenArbParams, Client), ?assertEqual(Paid - Cost - LevyAmount, maps:get(min_available_amount, Settlement0)), ?assertEqual(Paid, maps:get(max_available_amount, Settlement0)), @@ -3555,13 +3555,13 @@ start_chargeback(C, Cost, CBParams, PaymentParams) -> Shop = maps:get(ShopID, Party#domain_Party.shops), Account = Shop#domain_Shop.account, SettlementID = Account#domain_ShopAccount.settlement, - Settlement0 = hg_ct_helper:get_balance(SettlementID), + Settlement0 = hg_accouning_new:get_balance(SettlementID), % 0.045 Fee = 1890, ?assertEqual(0, maps:get(min_available_amount, Settlement0)), InvoiceID = start_invoice(ShopID, <<"rubberduck">>, make_due_date(10), Cost, C), PaymentID = execute_payment(InvoiceID, PaymentParams, Client), - Settlement1 = hg_ct_helper:get_balance(SettlementID), + Settlement1 = hg_accouning_new:get_balance(SettlementID), ?assertEqual(Cost - Fee, maps:get(min_available_amount, Settlement1)), Chargeback = hg_client_invoicing:create_chargeback(InvoiceID, PaymentID, CBParams, Client), {InvoiceID, PaymentID, SettlementID, Chargeback}. @@ -3575,7 +3575,7 @@ start_chargeback_partial_capture(C, Cost, Partial, CBParams) -> Shop = maps:get(ShopID, Party#domain_Party.shops), Account = Shop#domain_Shop.account, SettlementID = Account#domain_ShopAccount.settlement, - Settlement0 = hg_ct_helper:get_balance(SettlementID), + Settlement0 = hg_accouning_new:get_balance(SettlementID), % Fee = 450, % 0.045 ?assertEqual(0, maps:get(min_available_amount, Settlement0)), InvoiceID = start_invoice(ShopID, <<"rubberduck">>, make_due_date(10), Cost, C), From 6da85b10910d313b0bdeb0312f2762b1d8b9e5d4 Mon Sep 17 00:00:00 2001 From: Kehitt Date: Mon, 12 Jul 2021 18:48:55 +0300 Subject: [PATCH 11/35] typo fix --- apps/hellgate/test/hg_invoice_tests_SUITE.erl | 100 +++++++++--------- 1 file changed, 50 insertions(+), 50 deletions(-) diff --git a/apps/hellgate/test/hg_invoice_tests_SUITE.erl b/apps/hellgate/test/hg_invoice_tests_SUITE.erl index 4dfc18525..efaaf605b 100644 --- a/apps/hellgate/test/hg_invoice_tests_SUITE.erl +++ b/apps/hellgate/test/hg_invoice_tests_SUITE.erl @@ -2239,7 +2239,7 @@ get_cashflow_account(Type, CF) -> } <- CF, T == Type ], - hg_accouning_new:get_balance(ID). + hg_accounting_new:get_balance(ID). -spec invalid_payment_w_deprived_party(config()) -> test_return(). invalid_payment_w_deprived_party(C) -> @@ -2629,7 +2629,7 @@ reject_payment_chargeback_no_fees(C) -> [ ?payment_ev(PID, ?chargeback_ev(CBID, ?chargeback_cash_flow_changed(_))) ] = next_event(IID, Client), - Settlement0 = hg_accouning_new:get_balance(SID), + Settlement0 = hg_accounting_new:get_balance(SID), RejectParams = make_chargeback_reject_params(Levy), ok = hg_client_invoicing:reject_chargeback(IID, PID, CBID, RejectParams, Client), [ @@ -2641,7 +2641,7 @@ reject_payment_chargeback_no_fees(C) -> [ ?payment_ev(PID, ?chargeback_ev(CBID, ?chargeback_status_changed(?chargeback_status_rejected()))) ] = next_event(IID, Client), - Settlement1 = hg_accouning_new:get_balance(SID), + Settlement1 = hg_accounting_new:get_balance(SID), ?assertEqual(Paid - Cost - LevyAmount, maps:get(min_available_amount, Settlement0)), ?assertEqual(Paid, maps:get(max_available_amount, Settlement0)), ?assertEqual(Paid - LevyAmount, maps:get(min_available_amount, Settlement1)), @@ -2664,7 +2664,7 @@ reject_payment_chargeback_new_levy(C) -> [ ?payment_ev(PID, ?chargeback_ev(CBID, ?chargeback_cash_flow_changed(CF0))) ] = next_event(IID, Client), - Settlement0 = hg_accouning_new:get_balance(SID), + Settlement0 = hg_accounting_new:get_balance(SID), RejectAmount = 5000, RejectLevy = ?cash(RejectAmount, <<"RUB">>), RejectParams = make_chargeback_reject_params(RejectLevy), @@ -2679,7 +2679,7 @@ reject_payment_chargeback_new_levy(C) -> [ ?payment_ev(PID, ?chargeback_ev(CBID, ?chargeback_status_changed(?chargeback_status_rejected()))) ] = next_event(IID, Client), - Settlement1 = hg_accouning_new:get_balance(SID), + Settlement1 = hg_accounting_new:get_balance(SID), ?assertNotEqual(CF0, CF1), ?assertEqual(Paid - Cost - LevyAmount, maps:get(min_available_amount, Settlement0)), ?assertEqual(Paid, maps:get(max_available_amount, Settlement0)), @@ -2767,7 +2767,7 @@ accept_payment_chargeback_empty_params(C) -> [ ?payment_ev(PID, ?chargeback_ev(CBID, ?chargeback_cash_flow_changed(_))) ] = next_event(IID, Client), - Settlement0 = hg_accouning_new:get_balance(SID), + Settlement0 = hg_accounting_new:get_balance(SID), AcceptParams = make_chargeback_accept_params(), ok = hg_client_invoicing:accept_chargeback(IID, PID, CBID, AcceptParams, Client), [ @@ -2777,7 +2777,7 @@ accept_payment_chargeback_empty_params(C) -> ?payment_ev(PID, ?chargeback_ev(CBID, ?chargeback_status_changed(?chargeback_status_accepted()))), ?payment_ev(PID, ?payment_status_changed(?charged_back())) ] = next_event(IID, Client), - Settlement1 = hg_accouning_new:get_balance(SID), + Settlement1 = hg_accounting_new:get_balance(SID), ?assertEqual(Paid - Cost - LevyAmount, maps:get(min_available_amount, Settlement0)), ?assertEqual(Paid, maps:get(max_available_amount, Settlement0)), ?assertEqual(Paid - Cost - LevyAmount, maps:get(min_available_amount, Settlement1)), @@ -2802,7 +2802,7 @@ accept_payment_chargeback_twice(C) -> [ ?payment_ev(PID, ?chargeback_ev(CBID, ?chargeback_cash_flow_changed(_))) ] = next_event(IID, Client), - Settlement0 = hg_accouning_new:get_balance(SID), + Settlement0 = hg_accounting_new:get_balance(SID), AcceptParams = make_chargeback_accept_params(), ok = hg_client_invoicing:accept_chargeback(IID, PID, CBID, AcceptParams, Client), [ @@ -2811,7 +2811,7 @@ accept_payment_chargeback_twice(C) -> [ ?payment_ev(PID, ?chargeback_ev(CBID, ?chargeback_status_changed(?chargeback_status_accepted()))) ] = next_event(IID, Client), - Settlement1 = hg_accouning_new:get_balance(SID), + Settlement1 = hg_accounting_new:get_balance(SID), CBParams2 = make_chargeback_params(Levy), Chargeback = hg_client_invoicing:create_chargeback(IID, PID, CBParams2, Client), CBID2 = Chargeback#domain_InvoicePaymentChargeback.id, @@ -2821,7 +2821,7 @@ accept_payment_chargeback_twice(C) -> [ ?payment_ev(PID, ?chargeback_ev(CBID2, ?chargeback_cash_flow_changed(_))) ] = next_event(IID, Client), - Settlement2 = hg_accouning_new:get_balance(SID), + Settlement2 = hg_accounting_new:get_balance(SID), AcceptParams = make_chargeback_accept_params(), ok = hg_client_invoicing:accept_chargeback(IID, PID, CBID2, AcceptParams, Client), [ @@ -2831,7 +2831,7 @@ accept_payment_chargeback_twice(C) -> ?payment_ev(PID, ?chargeback_ev(CBID2, ?chargeback_status_changed(?chargeback_status_accepted()))), ?payment_ev(PID, ?payment_status_changed(?charged_back())) ] = next_event(IID, Client), - Settlement3 = hg_accouning_new:get_balance(SID), + Settlement3 = hg_accounting_new:get_balance(SID), ?assertEqual(Paid - BodyAmount - LevyAmount, maps:get(min_available_amount, Settlement0)), ?assertEqual(Paid, maps:get(max_available_amount, Settlement0)), ?assertEqual(Paid - BodyAmount - LevyAmount, maps:get(min_available_amount, Settlement1)), @@ -2858,7 +2858,7 @@ accept_payment_chargeback_new_body(C) -> [ ?payment_ev(PID, ?chargeback_ev(CBID, ?chargeback_cash_flow_changed(_))) ] = next_event(IID, Client), - Settlement0 = hg_accouning_new:get_balance(SID), + Settlement0 = hg_accounting_new:get_balance(SID), Body = 40000, AcceptParams = make_chargeback_accept_params(undefined, ?cash(Body, <<"RUB">>)), ok = hg_client_invoicing:accept_chargeback(IID, PID, CBID, AcceptParams, Client), @@ -2872,7 +2872,7 @@ accept_payment_chargeback_new_body(C) -> [ ?payment_ev(PID, ?chargeback_ev(CBID, ?chargeback_status_changed(?chargeback_status_accepted()))) ] = next_event(IID, Client), - Settlement1 = hg_accouning_new:get_balance(SID), + Settlement1 = hg_accounting_new:get_balance(SID), ?assertEqual(Paid - Cost - LevyAmount, maps:get(min_available_amount, Settlement0)), ?assertEqual(Paid, maps:get(max_available_amount, Settlement0)), ?assertEqual(Paid - Body - LevyAmount, maps:get(min_available_amount, Settlement1)), @@ -2896,7 +2896,7 @@ accept_payment_chargeback_new_levy(C) -> [ ?payment_ev(PID, ?chargeback_ev(CBID, ?chargeback_cash_flow_changed(_))) ] = next_event(IID, Client), - Settlement0 = hg_accouning_new:get_balance(SID), + Settlement0 = hg_accounting_new:get_balance(SID), AcceptParams = make_chargeback_accept_params(?cash(NewLevyAmount, <<"RUB">>), undefined), ok = hg_client_invoicing:accept_chargeback(IID, PID, CBID, AcceptParams, Client), [ @@ -2910,7 +2910,7 @@ accept_payment_chargeback_new_levy(C) -> ?payment_ev(PID, ?chargeback_ev(CBID, ?chargeback_status_changed(?chargeback_status_accepted()))), ?payment_ev(PID, ?payment_status_changed(?charged_back())) ] = next_event(IID, Client), - Settlement1 = hg_accouning_new:get_balance(SID), + Settlement1 = hg_accounting_new:get_balance(SID), ?assertEqual(Paid - Cost - LevyAmount, maps:get(min_available_amount, Settlement0)), ?assertEqual(Paid, maps:get(max_available_amount, Settlement0)), ?assertEqual(Paid - Cost - NewLevyAmount, maps:get(min_available_amount, Settlement1)), @@ -3026,7 +3026,7 @@ reopen_payment_chargeback_cancel(C) -> [ ?payment_ev(PID, ?chargeback_ev(CBID, ?chargeback_cash_flow_changed(_))) ] = next_event(IID, Client), - Settlement0 = hg_accouning_new:get_balance(SID), + Settlement0 = hg_accounting_new:get_balance(SID), RejectParams = make_chargeback_reject_params(Levy), ok = hg_client_invoicing:reject_chargeback(IID, PID, CBID, RejectParams, Client), [ @@ -3038,7 +3038,7 @@ reopen_payment_chargeback_cancel(C) -> [ ?payment_ev(PID, ?chargeback_ev(CBID, ?chargeback_status_changed(?chargeback_status_rejected()))) ] = next_event(IID, Client), - Settlement1 = hg_accouning_new:get_balance(SID), + Settlement1 = hg_accounting_new:get_balance(SID), ReopenParams = make_chargeback_reopen_params(ReopenLevy), ok = hg_client_invoicing:reopen_chargeback(IID, PID, CBID, ReopenParams, Client), [ @@ -3052,7 +3052,7 @@ reopen_payment_chargeback_cancel(C) -> [ ?payment_ev(PID, ?chargeback_ev(CBID, ?chargeback_status_changed(?chargeback_status_pending()))) ] = next_event(IID, Client), - Settlement2 = hg_accouning_new:get_balance(SID), + Settlement2 = hg_accounting_new:get_balance(SID), CancelParams = make_chargeback_cancel_params(), ok = hg_client_invoicing:cancel_chargeback(IID, PID, CBID, CancelParams, Client), [ @@ -3064,7 +3064,7 @@ reopen_payment_chargeback_cancel(C) -> [ ?payment_ev(PID, ?chargeback_ev(CBID, ?chargeback_status_changed(?chargeback_status_cancelled()))) ] = next_event(IID, Client), - Settlement3 = hg_accouning_new:get_balance(SID), + Settlement3 = hg_accounting_new:get_balance(SID), ?assertEqual(Paid - Cost - LevyAmount, maps:get(min_available_amount, Settlement0)), ?assertEqual(Paid, maps:get(max_available_amount, Settlement0)), ?assertEqual(Paid - LevyAmount, maps:get(min_available_amount, Settlement1)), @@ -3093,7 +3093,7 @@ reopen_payment_chargeback_reject(C) -> [ ?payment_ev(PID, ?chargeback_ev(CBID, ?chargeback_cash_flow_changed(_))) ] = next_event(IID, Client), - Settlement0 = hg_accouning_new:get_balance(SID), + Settlement0 = hg_accounting_new:get_balance(SID), RejectParams = make_chargeback_reject_params(Levy), ok = hg_client_invoicing:reject_chargeback(IID, PID, CBID, RejectParams, Client), [ @@ -3105,7 +3105,7 @@ reopen_payment_chargeback_reject(C) -> [ ?payment_ev(PID, ?chargeback_ev(CBID, ?chargeback_status_changed(?chargeback_status_rejected()))) ] = next_event(IID, Client), - Settlement1 = hg_accouning_new:get_balance(SID), + Settlement1 = hg_accounting_new:get_balance(SID), ReopenParams = make_chargeback_reopen_params(ReopenLevy), ok = hg_client_invoicing:reopen_chargeback(IID, PID, CBID, ReopenParams, Client), [ @@ -3119,7 +3119,7 @@ reopen_payment_chargeback_reject(C) -> [ ?payment_ev(PID, ?chargeback_ev(CBID, ?chargeback_status_changed(?chargeback_status_pending()))) ] = next_event(IID, Client), - Settlement2 = hg_accouning_new:get_balance(SID), + Settlement2 = hg_accounting_new:get_balance(SID), ok = hg_client_invoicing:reject_chargeback(IID, PID, CBID, RejectParams, Client), [ ?payment_ev(PID, ?chargeback_ev(CBID, ?chargeback_levy_changed(Levy))), @@ -3131,7 +3131,7 @@ reopen_payment_chargeback_reject(C) -> [ ?payment_ev(PID, ?chargeback_ev(CBID, ?chargeback_status_changed(?chargeback_status_rejected()))) ] = next_event(IID, Client), - Settlement3 = hg_accouning_new:get_balance(SID), + Settlement3 = hg_accounting_new:get_balance(SID), ?assertEqual(Paid - Cost - LevyAmount, maps:get(min_available_amount, Settlement0)), ?assertEqual(Paid, maps:get(max_available_amount, Settlement0)), ?assertEqual(Paid - LevyAmount, maps:get(min_available_amount, Settlement1)), @@ -3160,7 +3160,7 @@ reopen_payment_chargeback_accept(C) -> [ ?payment_ev(PID, ?chargeback_ev(CBID, ?chargeback_cash_flow_changed(_))) ] = next_event(IID, Client), - Settlement0 = hg_accouning_new:get_balance(SID), + Settlement0 = hg_accounting_new:get_balance(SID), RejectParams = make_chargeback_reject_params(Levy), ok = hg_client_invoicing:reject_chargeback(IID, PID, CBID, RejectParams, Client), [ @@ -3172,7 +3172,7 @@ reopen_payment_chargeback_accept(C) -> [ ?payment_ev(PID, ?chargeback_ev(CBID, ?chargeback_status_changed(?chargeback_status_rejected()))) ] = next_event(IID, Client), - Settlement1 = hg_accouning_new:get_balance(SID), + Settlement1 = hg_accounting_new:get_balance(SID), ReopenParams = make_chargeback_reopen_params(ReopenLevy), ok = hg_client_invoicing:reopen_chargeback(IID, PID, CBID, ReopenParams, Client), [ @@ -3186,7 +3186,7 @@ reopen_payment_chargeback_accept(C) -> [ ?payment_ev(PID, ?chargeback_ev(CBID, ?chargeback_status_changed(?chargeback_status_pending()))) ] = next_event(IID, Client), - Settlement2 = hg_accouning_new:get_balance(SID), + Settlement2 = hg_accounting_new:get_balance(SID), AcceptParams = make_chargeback_accept_params(), ok = hg_client_invoicing:accept_chargeback(IID, PID, CBID, AcceptParams, Client), [ @@ -3196,7 +3196,7 @@ reopen_payment_chargeback_accept(C) -> ?payment_ev(PID, ?chargeback_ev(CBID, ?chargeback_status_changed(?chargeback_status_accepted()))), ?payment_ev(PID, ?payment_status_changed(?charged_back())) ] = next_event(IID, Client), - Settlement3 = hg_accouning_new:get_balance(SID), + Settlement3 = hg_accounting_new:get_balance(SID), ?assertEqual(Paid - Cost - LevyAmount, maps:get(min_available_amount, Settlement0)), ?assertEqual(Paid, maps:get(max_available_amount, Settlement0)), ?assertEqual(Paid - LevyAmount, maps:get(min_available_amount, Settlement1)), @@ -3225,7 +3225,7 @@ reopen_payment_chargeback_skip_stage_accept(C) -> [ ?payment_ev(PID, ?chargeback_ev(CBID, ?chargeback_cash_flow_changed(_))) ] = next_event(IID, Client), - Settlement0 = hg_accouning_new:get_balance(SID), + Settlement0 = hg_accounting_new:get_balance(SID), RejectParams = make_chargeback_reject_params(Levy), ok = hg_client_invoicing:reject_chargeback(IID, PID, CBID, RejectParams, Client), [ @@ -3237,7 +3237,7 @@ reopen_payment_chargeback_skip_stage_accept(C) -> [ ?payment_ev(PID, ?chargeback_ev(CBID, ?chargeback_status_changed(?chargeback_status_rejected()))) ] = next_event(IID, Client), - Settlement1 = hg_accouning_new:get_balance(SID), + Settlement1 = hg_accounting_new:get_balance(SID), NextStage = ?chargeback_stage_arbitration(), ReopenParams = make_chargeback_reopen_params_move_to_stage(ReopenLevy, NextStage), ok = hg_client_invoicing:reopen_chargeback(IID, PID, CBID, ReopenParams, Client), @@ -3252,7 +3252,7 @@ reopen_payment_chargeback_skip_stage_accept(C) -> [ ?payment_ev(PID, ?chargeback_ev(CBID, ?chargeback_status_changed(?chargeback_status_pending()))) ] = next_event(IID, Client), - Settlement2 = hg_accouning_new:get_balance(SID), + Settlement2 = hg_accounting_new:get_balance(SID), AcceptParams = make_chargeback_accept_params(), ok = hg_client_invoicing:accept_chargeback(IID, PID, CBID, AcceptParams, Client), [ @@ -3262,7 +3262,7 @@ reopen_payment_chargeback_skip_stage_accept(C) -> ?payment_ev(PID, ?chargeback_ev(CBID, ?chargeback_status_changed(?chargeback_status_accepted()))), ?payment_ev(PID, ?payment_status_changed(?charged_back())) ] = next_event(IID, Client), - Settlement3 = hg_accouning_new:get_balance(SID), + Settlement3 = hg_accounting_new:get_balance(SID), ?assertEqual(Paid - Cost - LevyAmount, maps:get(min_available_amount, Settlement0)), ?assertEqual(Paid, maps:get(max_available_amount, Settlement0)), ?assertEqual(Paid - LevyAmount, maps:get(min_available_amount, Settlement1)), @@ -3294,7 +3294,7 @@ reopen_payment_chargeback_accept_new_levy(C) -> [ ?payment_ev(PID, ?chargeback_ev(CBID, ?chargeback_cash_flow_changed(_))) ] = next_event(IID, Client), - Settlement0 = hg_accouning_new:get_balance(SID), + Settlement0 = hg_accounting_new:get_balance(SID), RejectParams = make_chargeback_reject_params(Levy), ok = hg_client_invoicing:reject_chargeback(IID, PID, CBID, RejectParams, Client), [ @@ -3306,7 +3306,7 @@ reopen_payment_chargeback_accept_new_levy(C) -> [ ?payment_ev(PID, ?chargeback_ev(CBID, ?chargeback_status_changed(?chargeback_status_rejected()))) ] = next_event(IID, Client), - Settlement1 = hg_accouning_new:get_balance(SID), + Settlement1 = hg_accounting_new:get_balance(SID), ReopenParams = make_chargeback_reopen_params(ReopenLevy), ok = hg_client_invoicing:reopen_chargeback(IID, PID, CBID, ReopenParams, Client), [ @@ -3320,7 +3320,7 @@ reopen_payment_chargeback_accept_new_levy(C) -> [ ?payment_ev(PID, ?chargeback_ev(CBID, ?chargeback_status_changed(?chargeback_status_pending()))) ] = next_event(IID, Client), - Settlement2 = hg_accouning_new:get_balance(SID), + Settlement2 = hg_accounting_new:get_balance(SID), AcceptParams = make_chargeback_accept_params(AcceptLevy, Body), ok = hg_client_invoicing:accept_chargeback(IID, PID, CBID, AcceptParams, Client), [ @@ -3334,7 +3334,7 @@ reopen_payment_chargeback_accept_new_levy(C) -> ?payment_ev(PID, ?chargeback_ev(CBID, ?chargeback_status_changed(?chargeback_status_accepted()))), ?payment_ev(PID, ?payment_status_changed(?charged_back())) ] = next_event(IID, Client), - Settlement3 = hg_accouning_new:get_balance(SID), + Settlement3 = hg_accounting_new:get_balance(SID), ?assertEqual(Paid - Cost - LevyAmount, maps:get(min_available_amount, Settlement0)), ?assertEqual(Paid, maps:get(max_available_amount, Settlement0)), ?assertEqual(Paid - LevyAmount, maps:get(min_available_amount, Settlement1)), @@ -3365,7 +3365,7 @@ reopen_payment_chargeback_arbitration(C) -> [ ?payment_ev(PID, ?chargeback_ev(CBID, ?chargeback_cash_flow_changed(_))) ] = next_event(IID, Client), - Settlement0 = hg_accouning_new:get_balance(SID), + Settlement0 = hg_accounting_new:get_balance(SID), RejectParams = make_chargeback_reject_params(Levy), ok = hg_client_invoicing:reject_chargeback(IID, PID, CBID, RejectParams, Client), [ @@ -3377,7 +3377,7 @@ reopen_payment_chargeback_arbitration(C) -> [ ?payment_ev(PID, ?chargeback_ev(CBID, ?chargeback_status_changed(?chargeback_status_rejected()))) ] = next_event(IID, Client), - Settlement1 = hg_accouning_new:get_balance(SID), + Settlement1 = hg_accounting_new:get_balance(SID), ReopenParams = make_chargeback_reopen_params(ReopenLevy), ok = hg_client_invoicing:reopen_chargeback(IID, PID, CBID, ReopenParams, Client), [ @@ -3391,7 +3391,7 @@ reopen_payment_chargeback_arbitration(C) -> [ ?payment_ev(PID, ?chargeback_ev(CBID, ?chargeback_status_changed(?chargeback_status_pending()))) ] = next_event(IID, Client), - Settlement2 = hg_accouning_new:get_balance(SID), + Settlement2 = hg_accounting_new:get_balance(SID), ok = hg_client_invoicing:reject_chargeback(IID, PID, CBID, RejectParams, Client), [ ?payment_ev(PID, ?chargeback_ev(CBID, ?chargeback_levy_changed(_))), @@ -3403,7 +3403,7 @@ reopen_payment_chargeback_arbitration(C) -> [ ?payment_ev(PID, ?chargeback_ev(CBID, ?chargeback_status_changed(?chargeback_status_rejected()))) ] = next_event(IID, Client), - Settlement3 = hg_accouning_new:get_balance(SID), + Settlement3 = hg_accounting_new:get_balance(SID), ReopenArbParams = make_chargeback_reopen_params(ReopenArbLevy), ok = hg_client_invoicing:reopen_chargeback(IID, PID, CBID, ReopenArbParams, Client), [ @@ -3417,7 +3417,7 @@ reopen_payment_chargeback_arbitration(C) -> [ ?payment_ev(PID, ?chargeback_ev(CBID, ?chargeback_status_changed(?chargeback_status_pending()))) ] = next_event(IID, Client), - Settlement4 = hg_accouning_new:get_balance(SID), + Settlement4 = hg_accounting_new:get_balance(SID), AcceptParams = make_chargeback_accept_params(), ok = hg_client_invoicing:accept_chargeback(IID, PID, CBID, AcceptParams, Client), [ @@ -3427,7 +3427,7 @@ reopen_payment_chargeback_arbitration(C) -> ?payment_ev(PID, ?chargeback_ev(CBID, ?chargeback_status_changed(?chargeback_status_accepted()))), ?payment_ev(PID, ?payment_status_changed(?charged_back())) ] = next_event(IID, Client), - Settlement5 = hg_accouning_new:get_balance(SID), + Settlement5 = hg_accounting_new:get_balance(SID), ?assertEqual(Paid - Cost - LevyAmount, maps:get(min_available_amount, Settlement0)), ?assertEqual(Paid, maps:get(max_available_amount, Settlement0)), ?assertEqual(Paid - LevyAmount, maps:get(min_available_amount, Settlement1)), @@ -3462,7 +3462,7 @@ reopen_payment_chargeback_arbitration_reopen_fails(C) -> [ ?payment_ev(PID, ?chargeback_ev(CBID, ?chargeback_cash_flow_changed(_))) ] = next_event(IID, Client), - Settlement0 = hg_accouning_new:get_balance(SID), + Settlement0 = hg_accounting_new:get_balance(SID), RejectParams = make_chargeback_reject_params(Levy), ok = hg_client_invoicing:reject_chargeback(IID, PID, CBID, RejectParams, Client), [ @@ -3474,7 +3474,7 @@ reopen_payment_chargeback_arbitration_reopen_fails(C) -> [ ?payment_ev(PID, ?chargeback_ev(CBID, ?chargeback_status_changed(?chargeback_status_rejected()))) ] = next_event(IID, Client), - Settlement1 = hg_accouning_new:get_balance(SID), + Settlement1 = hg_accounting_new:get_balance(SID), ReopenParams = make_chargeback_reopen_params(ReopenLevy), ok = hg_client_invoicing:reopen_chargeback(IID, PID, CBID, ReopenParams, Client), [ @@ -3488,7 +3488,7 @@ reopen_payment_chargeback_arbitration_reopen_fails(C) -> [ ?payment_ev(PID, ?chargeback_ev(CBID, ?chargeback_status_changed(?chargeback_status_pending()))) ] = next_event(IID, Client), - Settlement2 = hg_accouning_new:get_balance(SID), + Settlement2 = hg_accounting_new:get_balance(SID), ok = hg_client_invoicing:reject_chargeback(IID, PID, CBID, RejectParams, Client), [ ?payment_ev(PID, ?chargeback_ev(CBID, ?chargeback_levy_changed(_))), @@ -3500,7 +3500,7 @@ reopen_payment_chargeback_arbitration_reopen_fails(C) -> [ ?payment_ev(PID, ?chargeback_ev(CBID, ?chargeback_status_changed(?chargeback_status_rejected()))) ] = next_event(IID, Client), - Settlement3 = hg_accouning_new:get_balance(SID), + Settlement3 = hg_accounting_new:get_balance(SID), ReopenArbParams = make_chargeback_reopen_params(ReopenArbLevy), ok = hg_client_invoicing:reopen_chargeback(IID, PID, CBID, ReopenArbParams, Client), [ @@ -3514,7 +3514,7 @@ reopen_payment_chargeback_arbitration_reopen_fails(C) -> [ ?payment_ev(PID, ?chargeback_ev(CBID, ?chargeback_status_changed(?chargeback_status_pending()))) ] = next_event(IID, Client), - Settlement4 = hg_accouning_new:get_balance(SID), + Settlement4 = hg_accounting_new:get_balance(SID), ok = hg_client_invoicing:reject_chargeback(IID, PID, CBID, RejectParams, Client), [ ?payment_ev(PID, ?chargeback_ev(CBID, ?chargeback_levy_changed(_))), @@ -3526,7 +3526,7 @@ reopen_payment_chargeback_arbitration_reopen_fails(C) -> [ ?payment_ev(PID, ?chargeback_ev(CBID, ?chargeback_status_changed(?chargeback_status_rejected()))) ] = next_event(IID, Client), - Settlement5 = hg_accouning_new:get_balance(SID), + Settlement5 = hg_accounting_new:get_balance(SID), Error = hg_client_invoicing:reopen_chargeback(IID, PID, CBID, ReopenArbParams, Client), ?assertEqual(Paid - Cost - LevyAmount, maps:get(min_available_amount, Settlement0)), ?assertEqual(Paid, maps:get(max_available_amount, Settlement0)), @@ -3555,13 +3555,13 @@ start_chargeback(C, Cost, CBParams, PaymentParams) -> Shop = maps:get(ShopID, Party#domain_Party.shops), Account = Shop#domain_Shop.account, SettlementID = Account#domain_ShopAccount.settlement, - Settlement0 = hg_accouning_new:get_balance(SettlementID), + Settlement0 = hg_accounting_new:get_balance(SettlementID), % 0.045 Fee = 1890, ?assertEqual(0, maps:get(min_available_amount, Settlement0)), InvoiceID = start_invoice(ShopID, <<"rubberduck">>, make_due_date(10), Cost, C), PaymentID = execute_payment(InvoiceID, PaymentParams, Client), - Settlement1 = hg_accouning_new:get_balance(SettlementID), + Settlement1 = hg_accounting_new:get_balance(SettlementID), ?assertEqual(Cost - Fee, maps:get(min_available_amount, Settlement1)), Chargeback = hg_client_invoicing:create_chargeback(InvoiceID, PaymentID, CBParams, Client), {InvoiceID, PaymentID, SettlementID, Chargeback}. @@ -3575,7 +3575,7 @@ start_chargeback_partial_capture(C, Cost, Partial, CBParams) -> Shop = maps:get(ShopID, Party#domain_Party.shops), Account = Shop#domain_Shop.account, SettlementID = Account#domain_ShopAccount.settlement, - Settlement0 = hg_accouning_new:get_balance(SettlementID), + Settlement0 = hg_accounting_new:get_balance(SettlementID), % Fee = 450, % 0.045 ?assertEqual(0, maps:get(min_available_amount, Settlement0)), InvoiceID = start_invoice(ShopID, <<"rubberduck">>, make_due_date(10), Cost, C), From 59e5cfedb804959e775c35d9204a4be9e3c3623c Mon Sep 17 00:00:00 2001 From: Kehitt Date: Tue, 13 Jul 2021 17:37:07 +0300 Subject: [PATCH 12/35] Revert "typo fix" This reverts commit 6da85b10910d313b0bdeb0312f2762b1d8b9e5d4. --- apps/hellgate/test/hg_invoice_tests_SUITE.erl | 100 +++++++++--------- 1 file changed, 50 insertions(+), 50 deletions(-) diff --git a/apps/hellgate/test/hg_invoice_tests_SUITE.erl b/apps/hellgate/test/hg_invoice_tests_SUITE.erl index efaaf605b..4dfc18525 100644 --- a/apps/hellgate/test/hg_invoice_tests_SUITE.erl +++ b/apps/hellgate/test/hg_invoice_tests_SUITE.erl @@ -2239,7 +2239,7 @@ get_cashflow_account(Type, CF) -> } <- CF, T == Type ], - hg_accounting_new:get_balance(ID). + hg_accouning_new:get_balance(ID). -spec invalid_payment_w_deprived_party(config()) -> test_return(). invalid_payment_w_deprived_party(C) -> @@ -2629,7 +2629,7 @@ reject_payment_chargeback_no_fees(C) -> [ ?payment_ev(PID, ?chargeback_ev(CBID, ?chargeback_cash_flow_changed(_))) ] = next_event(IID, Client), - Settlement0 = hg_accounting_new:get_balance(SID), + Settlement0 = hg_accouning_new:get_balance(SID), RejectParams = make_chargeback_reject_params(Levy), ok = hg_client_invoicing:reject_chargeback(IID, PID, CBID, RejectParams, Client), [ @@ -2641,7 +2641,7 @@ reject_payment_chargeback_no_fees(C) -> [ ?payment_ev(PID, ?chargeback_ev(CBID, ?chargeback_status_changed(?chargeback_status_rejected()))) ] = next_event(IID, Client), - Settlement1 = hg_accounting_new:get_balance(SID), + Settlement1 = hg_accouning_new:get_balance(SID), ?assertEqual(Paid - Cost - LevyAmount, maps:get(min_available_amount, Settlement0)), ?assertEqual(Paid, maps:get(max_available_amount, Settlement0)), ?assertEqual(Paid - LevyAmount, maps:get(min_available_amount, Settlement1)), @@ -2664,7 +2664,7 @@ reject_payment_chargeback_new_levy(C) -> [ ?payment_ev(PID, ?chargeback_ev(CBID, ?chargeback_cash_flow_changed(CF0))) ] = next_event(IID, Client), - Settlement0 = hg_accounting_new:get_balance(SID), + Settlement0 = hg_accouning_new:get_balance(SID), RejectAmount = 5000, RejectLevy = ?cash(RejectAmount, <<"RUB">>), RejectParams = make_chargeback_reject_params(RejectLevy), @@ -2679,7 +2679,7 @@ reject_payment_chargeback_new_levy(C) -> [ ?payment_ev(PID, ?chargeback_ev(CBID, ?chargeback_status_changed(?chargeback_status_rejected()))) ] = next_event(IID, Client), - Settlement1 = hg_accounting_new:get_balance(SID), + Settlement1 = hg_accouning_new:get_balance(SID), ?assertNotEqual(CF0, CF1), ?assertEqual(Paid - Cost - LevyAmount, maps:get(min_available_amount, Settlement0)), ?assertEqual(Paid, maps:get(max_available_amount, Settlement0)), @@ -2767,7 +2767,7 @@ accept_payment_chargeback_empty_params(C) -> [ ?payment_ev(PID, ?chargeback_ev(CBID, ?chargeback_cash_flow_changed(_))) ] = next_event(IID, Client), - Settlement0 = hg_accounting_new:get_balance(SID), + Settlement0 = hg_accouning_new:get_balance(SID), AcceptParams = make_chargeback_accept_params(), ok = hg_client_invoicing:accept_chargeback(IID, PID, CBID, AcceptParams, Client), [ @@ -2777,7 +2777,7 @@ accept_payment_chargeback_empty_params(C) -> ?payment_ev(PID, ?chargeback_ev(CBID, ?chargeback_status_changed(?chargeback_status_accepted()))), ?payment_ev(PID, ?payment_status_changed(?charged_back())) ] = next_event(IID, Client), - Settlement1 = hg_accounting_new:get_balance(SID), + Settlement1 = hg_accouning_new:get_balance(SID), ?assertEqual(Paid - Cost - LevyAmount, maps:get(min_available_amount, Settlement0)), ?assertEqual(Paid, maps:get(max_available_amount, Settlement0)), ?assertEqual(Paid - Cost - LevyAmount, maps:get(min_available_amount, Settlement1)), @@ -2802,7 +2802,7 @@ accept_payment_chargeback_twice(C) -> [ ?payment_ev(PID, ?chargeback_ev(CBID, ?chargeback_cash_flow_changed(_))) ] = next_event(IID, Client), - Settlement0 = hg_accounting_new:get_balance(SID), + Settlement0 = hg_accouning_new:get_balance(SID), AcceptParams = make_chargeback_accept_params(), ok = hg_client_invoicing:accept_chargeback(IID, PID, CBID, AcceptParams, Client), [ @@ -2811,7 +2811,7 @@ accept_payment_chargeback_twice(C) -> [ ?payment_ev(PID, ?chargeback_ev(CBID, ?chargeback_status_changed(?chargeback_status_accepted()))) ] = next_event(IID, Client), - Settlement1 = hg_accounting_new:get_balance(SID), + Settlement1 = hg_accouning_new:get_balance(SID), CBParams2 = make_chargeback_params(Levy), Chargeback = hg_client_invoicing:create_chargeback(IID, PID, CBParams2, Client), CBID2 = Chargeback#domain_InvoicePaymentChargeback.id, @@ -2821,7 +2821,7 @@ accept_payment_chargeback_twice(C) -> [ ?payment_ev(PID, ?chargeback_ev(CBID2, ?chargeback_cash_flow_changed(_))) ] = next_event(IID, Client), - Settlement2 = hg_accounting_new:get_balance(SID), + Settlement2 = hg_accouning_new:get_balance(SID), AcceptParams = make_chargeback_accept_params(), ok = hg_client_invoicing:accept_chargeback(IID, PID, CBID2, AcceptParams, Client), [ @@ -2831,7 +2831,7 @@ accept_payment_chargeback_twice(C) -> ?payment_ev(PID, ?chargeback_ev(CBID2, ?chargeback_status_changed(?chargeback_status_accepted()))), ?payment_ev(PID, ?payment_status_changed(?charged_back())) ] = next_event(IID, Client), - Settlement3 = hg_accounting_new:get_balance(SID), + Settlement3 = hg_accouning_new:get_balance(SID), ?assertEqual(Paid - BodyAmount - LevyAmount, maps:get(min_available_amount, Settlement0)), ?assertEqual(Paid, maps:get(max_available_amount, Settlement0)), ?assertEqual(Paid - BodyAmount - LevyAmount, maps:get(min_available_amount, Settlement1)), @@ -2858,7 +2858,7 @@ accept_payment_chargeback_new_body(C) -> [ ?payment_ev(PID, ?chargeback_ev(CBID, ?chargeback_cash_flow_changed(_))) ] = next_event(IID, Client), - Settlement0 = hg_accounting_new:get_balance(SID), + Settlement0 = hg_accouning_new:get_balance(SID), Body = 40000, AcceptParams = make_chargeback_accept_params(undefined, ?cash(Body, <<"RUB">>)), ok = hg_client_invoicing:accept_chargeback(IID, PID, CBID, AcceptParams, Client), @@ -2872,7 +2872,7 @@ accept_payment_chargeback_new_body(C) -> [ ?payment_ev(PID, ?chargeback_ev(CBID, ?chargeback_status_changed(?chargeback_status_accepted()))) ] = next_event(IID, Client), - Settlement1 = hg_accounting_new:get_balance(SID), + Settlement1 = hg_accouning_new:get_balance(SID), ?assertEqual(Paid - Cost - LevyAmount, maps:get(min_available_amount, Settlement0)), ?assertEqual(Paid, maps:get(max_available_amount, Settlement0)), ?assertEqual(Paid - Body - LevyAmount, maps:get(min_available_amount, Settlement1)), @@ -2896,7 +2896,7 @@ accept_payment_chargeback_new_levy(C) -> [ ?payment_ev(PID, ?chargeback_ev(CBID, ?chargeback_cash_flow_changed(_))) ] = next_event(IID, Client), - Settlement0 = hg_accounting_new:get_balance(SID), + Settlement0 = hg_accouning_new:get_balance(SID), AcceptParams = make_chargeback_accept_params(?cash(NewLevyAmount, <<"RUB">>), undefined), ok = hg_client_invoicing:accept_chargeback(IID, PID, CBID, AcceptParams, Client), [ @@ -2910,7 +2910,7 @@ accept_payment_chargeback_new_levy(C) -> ?payment_ev(PID, ?chargeback_ev(CBID, ?chargeback_status_changed(?chargeback_status_accepted()))), ?payment_ev(PID, ?payment_status_changed(?charged_back())) ] = next_event(IID, Client), - Settlement1 = hg_accounting_new:get_balance(SID), + Settlement1 = hg_accouning_new:get_balance(SID), ?assertEqual(Paid - Cost - LevyAmount, maps:get(min_available_amount, Settlement0)), ?assertEqual(Paid, maps:get(max_available_amount, Settlement0)), ?assertEqual(Paid - Cost - NewLevyAmount, maps:get(min_available_amount, Settlement1)), @@ -3026,7 +3026,7 @@ reopen_payment_chargeback_cancel(C) -> [ ?payment_ev(PID, ?chargeback_ev(CBID, ?chargeback_cash_flow_changed(_))) ] = next_event(IID, Client), - Settlement0 = hg_accounting_new:get_balance(SID), + Settlement0 = hg_accouning_new:get_balance(SID), RejectParams = make_chargeback_reject_params(Levy), ok = hg_client_invoicing:reject_chargeback(IID, PID, CBID, RejectParams, Client), [ @@ -3038,7 +3038,7 @@ reopen_payment_chargeback_cancel(C) -> [ ?payment_ev(PID, ?chargeback_ev(CBID, ?chargeback_status_changed(?chargeback_status_rejected()))) ] = next_event(IID, Client), - Settlement1 = hg_accounting_new:get_balance(SID), + Settlement1 = hg_accouning_new:get_balance(SID), ReopenParams = make_chargeback_reopen_params(ReopenLevy), ok = hg_client_invoicing:reopen_chargeback(IID, PID, CBID, ReopenParams, Client), [ @@ -3052,7 +3052,7 @@ reopen_payment_chargeback_cancel(C) -> [ ?payment_ev(PID, ?chargeback_ev(CBID, ?chargeback_status_changed(?chargeback_status_pending()))) ] = next_event(IID, Client), - Settlement2 = hg_accounting_new:get_balance(SID), + Settlement2 = hg_accouning_new:get_balance(SID), CancelParams = make_chargeback_cancel_params(), ok = hg_client_invoicing:cancel_chargeback(IID, PID, CBID, CancelParams, Client), [ @@ -3064,7 +3064,7 @@ reopen_payment_chargeback_cancel(C) -> [ ?payment_ev(PID, ?chargeback_ev(CBID, ?chargeback_status_changed(?chargeback_status_cancelled()))) ] = next_event(IID, Client), - Settlement3 = hg_accounting_new:get_balance(SID), + Settlement3 = hg_accouning_new:get_balance(SID), ?assertEqual(Paid - Cost - LevyAmount, maps:get(min_available_amount, Settlement0)), ?assertEqual(Paid, maps:get(max_available_amount, Settlement0)), ?assertEqual(Paid - LevyAmount, maps:get(min_available_amount, Settlement1)), @@ -3093,7 +3093,7 @@ reopen_payment_chargeback_reject(C) -> [ ?payment_ev(PID, ?chargeback_ev(CBID, ?chargeback_cash_flow_changed(_))) ] = next_event(IID, Client), - Settlement0 = hg_accounting_new:get_balance(SID), + Settlement0 = hg_accouning_new:get_balance(SID), RejectParams = make_chargeback_reject_params(Levy), ok = hg_client_invoicing:reject_chargeback(IID, PID, CBID, RejectParams, Client), [ @@ -3105,7 +3105,7 @@ reopen_payment_chargeback_reject(C) -> [ ?payment_ev(PID, ?chargeback_ev(CBID, ?chargeback_status_changed(?chargeback_status_rejected()))) ] = next_event(IID, Client), - Settlement1 = hg_accounting_new:get_balance(SID), + Settlement1 = hg_accouning_new:get_balance(SID), ReopenParams = make_chargeback_reopen_params(ReopenLevy), ok = hg_client_invoicing:reopen_chargeback(IID, PID, CBID, ReopenParams, Client), [ @@ -3119,7 +3119,7 @@ reopen_payment_chargeback_reject(C) -> [ ?payment_ev(PID, ?chargeback_ev(CBID, ?chargeback_status_changed(?chargeback_status_pending()))) ] = next_event(IID, Client), - Settlement2 = hg_accounting_new:get_balance(SID), + Settlement2 = hg_accouning_new:get_balance(SID), ok = hg_client_invoicing:reject_chargeback(IID, PID, CBID, RejectParams, Client), [ ?payment_ev(PID, ?chargeback_ev(CBID, ?chargeback_levy_changed(Levy))), @@ -3131,7 +3131,7 @@ reopen_payment_chargeback_reject(C) -> [ ?payment_ev(PID, ?chargeback_ev(CBID, ?chargeback_status_changed(?chargeback_status_rejected()))) ] = next_event(IID, Client), - Settlement3 = hg_accounting_new:get_balance(SID), + Settlement3 = hg_accouning_new:get_balance(SID), ?assertEqual(Paid - Cost - LevyAmount, maps:get(min_available_amount, Settlement0)), ?assertEqual(Paid, maps:get(max_available_amount, Settlement0)), ?assertEqual(Paid - LevyAmount, maps:get(min_available_amount, Settlement1)), @@ -3160,7 +3160,7 @@ reopen_payment_chargeback_accept(C) -> [ ?payment_ev(PID, ?chargeback_ev(CBID, ?chargeback_cash_flow_changed(_))) ] = next_event(IID, Client), - Settlement0 = hg_accounting_new:get_balance(SID), + Settlement0 = hg_accouning_new:get_balance(SID), RejectParams = make_chargeback_reject_params(Levy), ok = hg_client_invoicing:reject_chargeback(IID, PID, CBID, RejectParams, Client), [ @@ -3172,7 +3172,7 @@ reopen_payment_chargeback_accept(C) -> [ ?payment_ev(PID, ?chargeback_ev(CBID, ?chargeback_status_changed(?chargeback_status_rejected()))) ] = next_event(IID, Client), - Settlement1 = hg_accounting_new:get_balance(SID), + Settlement1 = hg_accouning_new:get_balance(SID), ReopenParams = make_chargeback_reopen_params(ReopenLevy), ok = hg_client_invoicing:reopen_chargeback(IID, PID, CBID, ReopenParams, Client), [ @@ -3186,7 +3186,7 @@ reopen_payment_chargeback_accept(C) -> [ ?payment_ev(PID, ?chargeback_ev(CBID, ?chargeback_status_changed(?chargeback_status_pending()))) ] = next_event(IID, Client), - Settlement2 = hg_accounting_new:get_balance(SID), + Settlement2 = hg_accouning_new:get_balance(SID), AcceptParams = make_chargeback_accept_params(), ok = hg_client_invoicing:accept_chargeback(IID, PID, CBID, AcceptParams, Client), [ @@ -3196,7 +3196,7 @@ reopen_payment_chargeback_accept(C) -> ?payment_ev(PID, ?chargeback_ev(CBID, ?chargeback_status_changed(?chargeback_status_accepted()))), ?payment_ev(PID, ?payment_status_changed(?charged_back())) ] = next_event(IID, Client), - Settlement3 = hg_accounting_new:get_balance(SID), + Settlement3 = hg_accouning_new:get_balance(SID), ?assertEqual(Paid - Cost - LevyAmount, maps:get(min_available_amount, Settlement0)), ?assertEqual(Paid, maps:get(max_available_amount, Settlement0)), ?assertEqual(Paid - LevyAmount, maps:get(min_available_amount, Settlement1)), @@ -3225,7 +3225,7 @@ reopen_payment_chargeback_skip_stage_accept(C) -> [ ?payment_ev(PID, ?chargeback_ev(CBID, ?chargeback_cash_flow_changed(_))) ] = next_event(IID, Client), - Settlement0 = hg_accounting_new:get_balance(SID), + Settlement0 = hg_accouning_new:get_balance(SID), RejectParams = make_chargeback_reject_params(Levy), ok = hg_client_invoicing:reject_chargeback(IID, PID, CBID, RejectParams, Client), [ @@ -3237,7 +3237,7 @@ reopen_payment_chargeback_skip_stage_accept(C) -> [ ?payment_ev(PID, ?chargeback_ev(CBID, ?chargeback_status_changed(?chargeback_status_rejected()))) ] = next_event(IID, Client), - Settlement1 = hg_accounting_new:get_balance(SID), + Settlement1 = hg_accouning_new:get_balance(SID), NextStage = ?chargeback_stage_arbitration(), ReopenParams = make_chargeback_reopen_params_move_to_stage(ReopenLevy, NextStage), ok = hg_client_invoicing:reopen_chargeback(IID, PID, CBID, ReopenParams, Client), @@ -3252,7 +3252,7 @@ reopen_payment_chargeback_skip_stage_accept(C) -> [ ?payment_ev(PID, ?chargeback_ev(CBID, ?chargeback_status_changed(?chargeback_status_pending()))) ] = next_event(IID, Client), - Settlement2 = hg_accounting_new:get_balance(SID), + Settlement2 = hg_accouning_new:get_balance(SID), AcceptParams = make_chargeback_accept_params(), ok = hg_client_invoicing:accept_chargeback(IID, PID, CBID, AcceptParams, Client), [ @@ -3262,7 +3262,7 @@ reopen_payment_chargeback_skip_stage_accept(C) -> ?payment_ev(PID, ?chargeback_ev(CBID, ?chargeback_status_changed(?chargeback_status_accepted()))), ?payment_ev(PID, ?payment_status_changed(?charged_back())) ] = next_event(IID, Client), - Settlement3 = hg_accounting_new:get_balance(SID), + Settlement3 = hg_accouning_new:get_balance(SID), ?assertEqual(Paid - Cost - LevyAmount, maps:get(min_available_amount, Settlement0)), ?assertEqual(Paid, maps:get(max_available_amount, Settlement0)), ?assertEqual(Paid - LevyAmount, maps:get(min_available_amount, Settlement1)), @@ -3294,7 +3294,7 @@ reopen_payment_chargeback_accept_new_levy(C) -> [ ?payment_ev(PID, ?chargeback_ev(CBID, ?chargeback_cash_flow_changed(_))) ] = next_event(IID, Client), - Settlement0 = hg_accounting_new:get_balance(SID), + Settlement0 = hg_accouning_new:get_balance(SID), RejectParams = make_chargeback_reject_params(Levy), ok = hg_client_invoicing:reject_chargeback(IID, PID, CBID, RejectParams, Client), [ @@ -3306,7 +3306,7 @@ reopen_payment_chargeback_accept_new_levy(C) -> [ ?payment_ev(PID, ?chargeback_ev(CBID, ?chargeback_status_changed(?chargeback_status_rejected()))) ] = next_event(IID, Client), - Settlement1 = hg_accounting_new:get_balance(SID), + Settlement1 = hg_accouning_new:get_balance(SID), ReopenParams = make_chargeback_reopen_params(ReopenLevy), ok = hg_client_invoicing:reopen_chargeback(IID, PID, CBID, ReopenParams, Client), [ @@ -3320,7 +3320,7 @@ reopen_payment_chargeback_accept_new_levy(C) -> [ ?payment_ev(PID, ?chargeback_ev(CBID, ?chargeback_status_changed(?chargeback_status_pending()))) ] = next_event(IID, Client), - Settlement2 = hg_accounting_new:get_balance(SID), + Settlement2 = hg_accouning_new:get_balance(SID), AcceptParams = make_chargeback_accept_params(AcceptLevy, Body), ok = hg_client_invoicing:accept_chargeback(IID, PID, CBID, AcceptParams, Client), [ @@ -3334,7 +3334,7 @@ reopen_payment_chargeback_accept_new_levy(C) -> ?payment_ev(PID, ?chargeback_ev(CBID, ?chargeback_status_changed(?chargeback_status_accepted()))), ?payment_ev(PID, ?payment_status_changed(?charged_back())) ] = next_event(IID, Client), - Settlement3 = hg_accounting_new:get_balance(SID), + Settlement3 = hg_accouning_new:get_balance(SID), ?assertEqual(Paid - Cost - LevyAmount, maps:get(min_available_amount, Settlement0)), ?assertEqual(Paid, maps:get(max_available_amount, Settlement0)), ?assertEqual(Paid - LevyAmount, maps:get(min_available_amount, Settlement1)), @@ -3365,7 +3365,7 @@ reopen_payment_chargeback_arbitration(C) -> [ ?payment_ev(PID, ?chargeback_ev(CBID, ?chargeback_cash_flow_changed(_))) ] = next_event(IID, Client), - Settlement0 = hg_accounting_new:get_balance(SID), + Settlement0 = hg_accouning_new:get_balance(SID), RejectParams = make_chargeback_reject_params(Levy), ok = hg_client_invoicing:reject_chargeback(IID, PID, CBID, RejectParams, Client), [ @@ -3377,7 +3377,7 @@ reopen_payment_chargeback_arbitration(C) -> [ ?payment_ev(PID, ?chargeback_ev(CBID, ?chargeback_status_changed(?chargeback_status_rejected()))) ] = next_event(IID, Client), - Settlement1 = hg_accounting_new:get_balance(SID), + Settlement1 = hg_accouning_new:get_balance(SID), ReopenParams = make_chargeback_reopen_params(ReopenLevy), ok = hg_client_invoicing:reopen_chargeback(IID, PID, CBID, ReopenParams, Client), [ @@ -3391,7 +3391,7 @@ reopen_payment_chargeback_arbitration(C) -> [ ?payment_ev(PID, ?chargeback_ev(CBID, ?chargeback_status_changed(?chargeback_status_pending()))) ] = next_event(IID, Client), - Settlement2 = hg_accounting_new:get_balance(SID), + Settlement2 = hg_accouning_new:get_balance(SID), ok = hg_client_invoicing:reject_chargeback(IID, PID, CBID, RejectParams, Client), [ ?payment_ev(PID, ?chargeback_ev(CBID, ?chargeback_levy_changed(_))), @@ -3403,7 +3403,7 @@ reopen_payment_chargeback_arbitration(C) -> [ ?payment_ev(PID, ?chargeback_ev(CBID, ?chargeback_status_changed(?chargeback_status_rejected()))) ] = next_event(IID, Client), - Settlement3 = hg_accounting_new:get_balance(SID), + Settlement3 = hg_accouning_new:get_balance(SID), ReopenArbParams = make_chargeback_reopen_params(ReopenArbLevy), ok = hg_client_invoicing:reopen_chargeback(IID, PID, CBID, ReopenArbParams, Client), [ @@ -3417,7 +3417,7 @@ reopen_payment_chargeback_arbitration(C) -> [ ?payment_ev(PID, ?chargeback_ev(CBID, ?chargeback_status_changed(?chargeback_status_pending()))) ] = next_event(IID, Client), - Settlement4 = hg_accounting_new:get_balance(SID), + Settlement4 = hg_accouning_new:get_balance(SID), AcceptParams = make_chargeback_accept_params(), ok = hg_client_invoicing:accept_chargeback(IID, PID, CBID, AcceptParams, Client), [ @@ -3427,7 +3427,7 @@ reopen_payment_chargeback_arbitration(C) -> ?payment_ev(PID, ?chargeback_ev(CBID, ?chargeback_status_changed(?chargeback_status_accepted()))), ?payment_ev(PID, ?payment_status_changed(?charged_back())) ] = next_event(IID, Client), - Settlement5 = hg_accounting_new:get_balance(SID), + Settlement5 = hg_accouning_new:get_balance(SID), ?assertEqual(Paid - Cost - LevyAmount, maps:get(min_available_amount, Settlement0)), ?assertEqual(Paid, maps:get(max_available_amount, Settlement0)), ?assertEqual(Paid - LevyAmount, maps:get(min_available_amount, Settlement1)), @@ -3462,7 +3462,7 @@ reopen_payment_chargeback_arbitration_reopen_fails(C) -> [ ?payment_ev(PID, ?chargeback_ev(CBID, ?chargeback_cash_flow_changed(_))) ] = next_event(IID, Client), - Settlement0 = hg_accounting_new:get_balance(SID), + Settlement0 = hg_accouning_new:get_balance(SID), RejectParams = make_chargeback_reject_params(Levy), ok = hg_client_invoicing:reject_chargeback(IID, PID, CBID, RejectParams, Client), [ @@ -3474,7 +3474,7 @@ reopen_payment_chargeback_arbitration_reopen_fails(C) -> [ ?payment_ev(PID, ?chargeback_ev(CBID, ?chargeback_status_changed(?chargeback_status_rejected()))) ] = next_event(IID, Client), - Settlement1 = hg_accounting_new:get_balance(SID), + Settlement1 = hg_accouning_new:get_balance(SID), ReopenParams = make_chargeback_reopen_params(ReopenLevy), ok = hg_client_invoicing:reopen_chargeback(IID, PID, CBID, ReopenParams, Client), [ @@ -3488,7 +3488,7 @@ reopen_payment_chargeback_arbitration_reopen_fails(C) -> [ ?payment_ev(PID, ?chargeback_ev(CBID, ?chargeback_status_changed(?chargeback_status_pending()))) ] = next_event(IID, Client), - Settlement2 = hg_accounting_new:get_balance(SID), + Settlement2 = hg_accouning_new:get_balance(SID), ok = hg_client_invoicing:reject_chargeback(IID, PID, CBID, RejectParams, Client), [ ?payment_ev(PID, ?chargeback_ev(CBID, ?chargeback_levy_changed(_))), @@ -3500,7 +3500,7 @@ reopen_payment_chargeback_arbitration_reopen_fails(C) -> [ ?payment_ev(PID, ?chargeback_ev(CBID, ?chargeback_status_changed(?chargeback_status_rejected()))) ] = next_event(IID, Client), - Settlement3 = hg_accounting_new:get_balance(SID), + Settlement3 = hg_accouning_new:get_balance(SID), ReopenArbParams = make_chargeback_reopen_params(ReopenArbLevy), ok = hg_client_invoicing:reopen_chargeback(IID, PID, CBID, ReopenArbParams, Client), [ @@ -3514,7 +3514,7 @@ reopen_payment_chargeback_arbitration_reopen_fails(C) -> [ ?payment_ev(PID, ?chargeback_ev(CBID, ?chargeback_status_changed(?chargeback_status_pending()))) ] = next_event(IID, Client), - Settlement4 = hg_accounting_new:get_balance(SID), + Settlement4 = hg_accouning_new:get_balance(SID), ok = hg_client_invoicing:reject_chargeback(IID, PID, CBID, RejectParams, Client), [ ?payment_ev(PID, ?chargeback_ev(CBID, ?chargeback_levy_changed(_))), @@ -3526,7 +3526,7 @@ reopen_payment_chargeback_arbitration_reopen_fails(C) -> [ ?payment_ev(PID, ?chargeback_ev(CBID, ?chargeback_status_changed(?chargeback_status_rejected()))) ] = next_event(IID, Client), - Settlement5 = hg_accounting_new:get_balance(SID), + Settlement5 = hg_accouning_new:get_balance(SID), Error = hg_client_invoicing:reopen_chargeback(IID, PID, CBID, ReopenArbParams, Client), ?assertEqual(Paid - Cost - LevyAmount, maps:get(min_available_amount, Settlement0)), ?assertEqual(Paid, maps:get(max_available_amount, Settlement0)), @@ -3555,13 +3555,13 @@ start_chargeback(C, Cost, CBParams, PaymentParams) -> Shop = maps:get(ShopID, Party#domain_Party.shops), Account = Shop#domain_Shop.account, SettlementID = Account#domain_ShopAccount.settlement, - Settlement0 = hg_accounting_new:get_balance(SettlementID), + Settlement0 = hg_accouning_new:get_balance(SettlementID), % 0.045 Fee = 1890, ?assertEqual(0, maps:get(min_available_amount, Settlement0)), InvoiceID = start_invoice(ShopID, <<"rubberduck">>, make_due_date(10), Cost, C), PaymentID = execute_payment(InvoiceID, PaymentParams, Client), - Settlement1 = hg_accounting_new:get_balance(SettlementID), + Settlement1 = hg_accouning_new:get_balance(SettlementID), ?assertEqual(Cost - Fee, maps:get(min_available_amount, Settlement1)), Chargeback = hg_client_invoicing:create_chargeback(InvoiceID, PaymentID, CBParams, Client), {InvoiceID, PaymentID, SettlementID, Chargeback}. @@ -3575,7 +3575,7 @@ start_chargeback_partial_capture(C, Cost, Partial, CBParams) -> Shop = maps:get(ShopID, Party#domain_Party.shops), Account = Shop#domain_Shop.account, SettlementID = Account#domain_ShopAccount.settlement, - Settlement0 = hg_accounting_new:get_balance(SettlementID), + Settlement0 = hg_accouning_new:get_balance(SettlementID), % Fee = 450, % 0.045 ?assertEqual(0, maps:get(min_available_amount, Settlement0)), InvoiceID = start_invoice(ShopID, <<"rubberduck">>, make_due_date(10), Cost, C), From be2fe427a0df118ae55d6aff6e6bf2d3785884cd Mon Sep 17 00:00:00 2001 From: Kehitt Date: Tue, 13 Jul 2021 17:37:18 +0300 Subject: [PATCH 13/35] Revert "update tests with new get_balance" This reverts commit 2e12cafd977a95c0d3e4f0c235081a0fc300b5a1. --- apps/hellgate/test/hg_invoice_tests_SUITE.erl | 100 +++++++++--------- 1 file changed, 50 insertions(+), 50 deletions(-) diff --git a/apps/hellgate/test/hg_invoice_tests_SUITE.erl b/apps/hellgate/test/hg_invoice_tests_SUITE.erl index 4dfc18525..56a7ec618 100644 --- a/apps/hellgate/test/hg_invoice_tests_SUITE.erl +++ b/apps/hellgate/test/hg_invoice_tests_SUITE.erl @@ -2239,7 +2239,7 @@ get_cashflow_account(Type, CF) -> } <- CF, T == Type ], - hg_accouning_new:get_balance(ID). + hg_ct_helper:get_balance(ID). -spec invalid_payment_w_deprived_party(config()) -> test_return(). invalid_payment_w_deprived_party(C) -> @@ -2629,7 +2629,7 @@ reject_payment_chargeback_no_fees(C) -> [ ?payment_ev(PID, ?chargeback_ev(CBID, ?chargeback_cash_flow_changed(_))) ] = next_event(IID, Client), - Settlement0 = hg_accouning_new:get_balance(SID), + Settlement0 = hg_ct_helper:get_balance(SID), RejectParams = make_chargeback_reject_params(Levy), ok = hg_client_invoicing:reject_chargeback(IID, PID, CBID, RejectParams, Client), [ @@ -2641,7 +2641,7 @@ reject_payment_chargeback_no_fees(C) -> [ ?payment_ev(PID, ?chargeback_ev(CBID, ?chargeback_status_changed(?chargeback_status_rejected()))) ] = next_event(IID, Client), - Settlement1 = hg_accouning_new:get_balance(SID), + Settlement1 = hg_ct_helper:get_balance(SID), ?assertEqual(Paid - Cost - LevyAmount, maps:get(min_available_amount, Settlement0)), ?assertEqual(Paid, maps:get(max_available_amount, Settlement0)), ?assertEqual(Paid - LevyAmount, maps:get(min_available_amount, Settlement1)), @@ -2664,7 +2664,7 @@ reject_payment_chargeback_new_levy(C) -> [ ?payment_ev(PID, ?chargeback_ev(CBID, ?chargeback_cash_flow_changed(CF0))) ] = next_event(IID, Client), - Settlement0 = hg_accouning_new:get_balance(SID), + Settlement0 = hg_ct_helper:get_balance(SID), RejectAmount = 5000, RejectLevy = ?cash(RejectAmount, <<"RUB">>), RejectParams = make_chargeback_reject_params(RejectLevy), @@ -2679,7 +2679,7 @@ reject_payment_chargeback_new_levy(C) -> [ ?payment_ev(PID, ?chargeback_ev(CBID, ?chargeback_status_changed(?chargeback_status_rejected()))) ] = next_event(IID, Client), - Settlement1 = hg_accouning_new:get_balance(SID), + Settlement1 = hg_ct_helper:get_balance(SID), ?assertNotEqual(CF0, CF1), ?assertEqual(Paid - Cost - LevyAmount, maps:get(min_available_amount, Settlement0)), ?assertEqual(Paid, maps:get(max_available_amount, Settlement0)), @@ -2767,7 +2767,7 @@ accept_payment_chargeback_empty_params(C) -> [ ?payment_ev(PID, ?chargeback_ev(CBID, ?chargeback_cash_flow_changed(_))) ] = next_event(IID, Client), - Settlement0 = hg_accouning_new:get_balance(SID), + Settlement0 = hg_ct_helper:get_balance(SID), AcceptParams = make_chargeback_accept_params(), ok = hg_client_invoicing:accept_chargeback(IID, PID, CBID, AcceptParams, Client), [ @@ -2777,7 +2777,7 @@ accept_payment_chargeback_empty_params(C) -> ?payment_ev(PID, ?chargeback_ev(CBID, ?chargeback_status_changed(?chargeback_status_accepted()))), ?payment_ev(PID, ?payment_status_changed(?charged_back())) ] = next_event(IID, Client), - Settlement1 = hg_accouning_new:get_balance(SID), + Settlement1 = hg_ct_helper:get_balance(SID), ?assertEqual(Paid - Cost - LevyAmount, maps:get(min_available_amount, Settlement0)), ?assertEqual(Paid, maps:get(max_available_amount, Settlement0)), ?assertEqual(Paid - Cost - LevyAmount, maps:get(min_available_amount, Settlement1)), @@ -2802,7 +2802,7 @@ accept_payment_chargeback_twice(C) -> [ ?payment_ev(PID, ?chargeback_ev(CBID, ?chargeback_cash_flow_changed(_))) ] = next_event(IID, Client), - Settlement0 = hg_accouning_new:get_balance(SID), + Settlement0 = hg_ct_helper:get_balance(SID), AcceptParams = make_chargeback_accept_params(), ok = hg_client_invoicing:accept_chargeback(IID, PID, CBID, AcceptParams, Client), [ @@ -2811,7 +2811,7 @@ accept_payment_chargeback_twice(C) -> [ ?payment_ev(PID, ?chargeback_ev(CBID, ?chargeback_status_changed(?chargeback_status_accepted()))) ] = next_event(IID, Client), - Settlement1 = hg_accouning_new:get_balance(SID), + Settlement1 = hg_ct_helper:get_balance(SID), CBParams2 = make_chargeback_params(Levy), Chargeback = hg_client_invoicing:create_chargeback(IID, PID, CBParams2, Client), CBID2 = Chargeback#domain_InvoicePaymentChargeback.id, @@ -2821,7 +2821,7 @@ accept_payment_chargeback_twice(C) -> [ ?payment_ev(PID, ?chargeback_ev(CBID2, ?chargeback_cash_flow_changed(_))) ] = next_event(IID, Client), - Settlement2 = hg_accouning_new:get_balance(SID), + Settlement2 = hg_ct_helper:get_balance(SID), AcceptParams = make_chargeback_accept_params(), ok = hg_client_invoicing:accept_chargeback(IID, PID, CBID2, AcceptParams, Client), [ @@ -2831,7 +2831,7 @@ accept_payment_chargeback_twice(C) -> ?payment_ev(PID, ?chargeback_ev(CBID2, ?chargeback_status_changed(?chargeback_status_accepted()))), ?payment_ev(PID, ?payment_status_changed(?charged_back())) ] = next_event(IID, Client), - Settlement3 = hg_accouning_new:get_balance(SID), + Settlement3 = hg_ct_helper:get_balance(SID), ?assertEqual(Paid - BodyAmount - LevyAmount, maps:get(min_available_amount, Settlement0)), ?assertEqual(Paid, maps:get(max_available_amount, Settlement0)), ?assertEqual(Paid - BodyAmount - LevyAmount, maps:get(min_available_amount, Settlement1)), @@ -2858,7 +2858,7 @@ accept_payment_chargeback_new_body(C) -> [ ?payment_ev(PID, ?chargeback_ev(CBID, ?chargeback_cash_flow_changed(_))) ] = next_event(IID, Client), - Settlement0 = hg_accouning_new:get_balance(SID), + Settlement0 = hg_ct_helper:get_balance(SID), Body = 40000, AcceptParams = make_chargeback_accept_params(undefined, ?cash(Body, <<"RUB">>)), ok = hg_client_invoicing:accept_chargeback(IID, PID, CBID, AcceptParams, Client), @@ -2872,7 +2872,7 @@ accept_payment_chargeback_new_body(C) -> [ ?payment_ev(PID, ?chargeback_ev(CBID, ?chargeback_status_changed(?chargeback_status_accepted()))) ] = next_event(IID, Client), - Settlement1 = hg_accouning_new:get_balance(SID), + Settlement1 = hg_ct_helper:get_balance(SID), ?assertEqual(Paid - Cost - LevyAmount, maps:get(min_available_amount, Settlement0)), ?assertEqual(Paid, maps:get(max_available_amount, Settlement0)), ?assertEqual(Paid - Body - LevyAmount, maps:get(min_available_amount, Settlement1)), @@ -2896,7 +2896,7 @@ accept_payment_chargeback_new_levy(C) -> [ ?payment_ev(PID, ?chargeback_ev(CBID, ?chargeback_cash_flow_changed(_))) ] = next_event(IID, Client), - Settlement0 = hg_accouning_new:get_balance(SID), + Settlement0 = hg_ct_helper:get_balance(SID), AcceptParams = make_chargeback_accept_params(?cash(NewLevyAmount, <<"RUB">>), undefined), ok = hg_client_invoicing:accept_chargeback(IID, PID, CBID, AcceptParams, Client), [ @@ -2910,7 +2910,7 @@ accept_payment_chargeback_new_levy(C) -> ?payment_ev(PID, ?chargeback_ev(CBID, ?chargeback_status_changed(?chargeback_status_accepted()))), ?payment_ev(PID, ?payment_status_changed(?charged_back())) ] = next_event(IID, Client), - Settlement1 = hg_accouning_new:get_balance(SID), + Settlement1 = hg_ct_helper:get_balance(SID), ?assertEqual(Paid - Cost - LevyAmount, maps:get(min_available_amount, Settlement0)), ?assertEqual(Paid, maps:get(max_available_amount, Settlement0)), ?assertEqual(Paid - Cost - NewLevyAmount, maps:get(min_available_amount, Settlement1)), @@ -3026,7 +3026,7 @@ reopen_payment_chargeback_cancel(C) -> [ ?payment_ev(PID, ?chargeback_ev(CBID, ?chargeback_cash_flow_changed(_))) ] = next_event(IID, Client), - Settlement0 = hg_accouning_new:get_balance(SID), + Settlement0 = hg_ct_helper:get_balance(SID), RejectParams = make_chargeback_reject_params(Levy), ok = hg_client_invoicing:reject_chargeback(IID, PID, CBID, RejectParams, Client), [ @@ -3038,7 +3038,7 @@ reopen_payment_chargeback_cancel(C) -> [ ?payment_ev(PID, ?chargeback_ev(CBID, ?chargeback_status_changed(?chargeback_status_rejected()))) ] = next_event(IID, Client), - Settlement1 = hg_accouning_new:get_balance(SID), + Settlement1 = hg_ct_helper:get_balance(SID), ReopenParams = make_chargeback_reopen_params(ReopenLevy), ok = hg_client_invoicing:reopen_chargeback(IID, PID, CBID, ReopenParams, Client), [ @@ -3052,7 +3052,7 @@ reopen_payment_chargeback_cancel(C) -> [ ?payment_ev(PID, ?chargeback_ev(CBID, ?chargeback_status_changed(?chargeback_status_pending()))) ] = next_event(IID, Client), - Settlement2 = hg_accouning_new:get_balance(SID), + Settlement2 = hg_ct_helper:get_balance(SID), CancelParams = make_chargeback_cancel_params(), ok = hg_client_invoicing:cancel_chargeback(IID, PID, CBID, CancelParams, Client), [ @@ -3064,7 +3064,7 @@ reopen_payment_chargeback_cancel(C) -> [ ?payment_ev(PID, ?chargeback_ev(CBID, ?chargeback_status_changed(?chargeback_status_cancelled()))) ] = next_event(IID, Client), - Settlement3 = hg_accouning_new:get_balance(SID), + Settlement3 = hg_ct_helper:get_balance(SID), ?assertEqual(Paid - Cost - LevyAmount, maps:get(min_available_amount, Settlement0)), ?assertEqual(Paid, maps:get(max_available_amount, Settlement0)), ?assertEqual(Paid - LevyAmount, maps:get(min_available_amount, Settlement1)), @@ -3093,7 +3093,7 @@ reopen_payment_chargeback_reject(C) -> [ ?payment_ev(PID, ?chargeback_ev(CBID, ?chargeback_cash_flow_changed(_))) ] = next_event(IID, Client), - Settlement0 = hg_accouning_new:get_balance(SID), + Settlement0 = hg_ct_helper:get_balance(SID), RejectParams = make_chargeback_reject_params(Levy), ok = hg_client_invoicing:reject_chargeback(IID, PID, CBID, RejectParams, Client), [ @@ -3105,7 +3105,7 @@ reopen_payment_chargeback_reject(C) -> [ ?payment_ev(PID, ?chargeback_ev(CBID, ?chargeback_status_changed(?chargeback_status_rejected()))) ] = next_event(IID, Client), - Settlement1 = hg_accouning_new:get_balance(SID), + Settlement1 = hg_ct_helper:get_balance(SID), ReopenParams = make_chargeback_reopen_params(ReopenLevy), ok = hg_client_invoicing:reopen_chargeback(IID, PID, CBID, ReopenParams, Client), [ @@ -3119,7 +3119,7 @@ reopen_payment_chargeback_reject(C) -> [ ?payment_ev(PID, ?chargeback_ev(CBID, ?chargeback_status_changed(?chargeback_status_pending()))) ] = next_event(IID, Client), - Settlement2 = hg_accouning_new:get_balance(SID), + Settlement2 = hg_ct_helper:get_balance(SID), ok = hg_client_invoicing:reject_chargeback(IID, PID, CBID, RejectParams, Client), [ ?payment_ev(PID, ?chargeback_ev(CBID, ?chargeback_levy_changed(Levy))), @@ -3131,7 +3131,7 @@ reopen_payment_chargeback_reject(C) -> [ ?payment_ev(PID, ?chargeback_ev(CBID, ?chargeback_status_changed(?chargeback_status_rejected()))) ] = next_event(IID, Client), - Settlement3 = hg_accouning_new:get_balance(SID), + Settlement3 = hg_ct_helper:get_balance(SID), ?assertEqual(Paid - Cost - LevyAmount, maps:get(min_available_amount, Settlement0)), ?assertEqual(Paid, maps:get(max_available_amount, Settlement0)), ?assertEqual(Paid - LevyAmount, maps:get(min_available_amount, Settlement1)), @@ -3160,7 +3160,7 @@ reopen_payment_chargeback_accept(C) -> [ ?payment_ev(PID, ?chargeback_ev(CBID, ?chargeback_cash_flow_changed(_))) ] = next_event(IID, Client), - Settlement0 = hg_accouning_new:get_balance(SID), + Settlement0 = hg_ct_helper:get_balance(SID), RejectParams = make_chargeback_reject_params(Levy), ok = hg_client_invoicing:reject_chargeback(IID, PID, CBID, RejectParams, Client), [ @@ -3172,7 +3172,7 @@ reopen_payment_chargeback_accept(C) -> [ ?payment_ev(PID, ?chargeback_ev(CBID, ?chargeback_status_changed(?chargeback_status_rejected()))) ] = next_event(IID, Client), - Settlement1 = hg_accouning_new:get_balance(SID), + Settlement1 = hg_ct_helper:get_balance(SID), ReopenParams = make_chargeback_reopen_params(ReopenLevy), ok = hg_client_invoicing:reopen_chargeback(IID, PID, CBID, ReopenParams, Client), [ @@ -3186,7 +3186,7 @@ reopen_payment_chargeback_accept(C) -> [ ?payment_ev(PID, ?chargeback_ev(CBID, ?chargeback_status_changed(?chargeback_status_pending()))) ] = next_event(IID, Client), - Settlement2 = hg_accouning_new:get_balance(SID), + Settlement2 = hg_ct_helper:get_balance(SID), AcceptParams = make_chargeback_accept_params(), ok = hg_client_invoicing:accept_chargeback(IID, PID, CBID, AcceptParams, Client), [ @@ -3196,7 +3196,7 @@ reopen_payment_chargeback_accept(C) -> ?payment_ev(PID, ?chargeback_ev(CBID, ?chargeback_status_changed(?chargeback_status_accepted()))), ?payment_ev(PID, ?payment_status_changed(?charged_back())) ] = next_event(IID, Client), - Settlement3 = hg_accouning_new:get_balance(SID), + Settlement3 = hg_ct_helper:get_balance(SID), ?assertEqual(Paid - Cost - LevyAmount, maps:get(min_available_amount, Settlement0)), ?assertEqual(Paid, maps:get(max_available_amount, Settlement0)), ?assertEqual(Paid - LevyAmount, maps:get(min_available_amount, Settlement1)), @@ -3225,7 +3225,7 @@ reopen_payment_chargeback_skip_stage_accept(C) -> [ ?payment_ev(PID, ?chargeback_ev(CBID, ?chargeback_cash_flow_changed(_))) ] = next_event(IID, Client), - Settlement0 = hg_accouning_new:get_balance(SID), + Settlement0 = hg_ct_helper:get_balance(SID), RejectParams = make_chargeback_reject_params(Levy), ok = hg_client_invoicing:reject_chargeback(IID, PID, CBID, RejectParams, Client), [ @@ -3237,7 +3237,7 @@ reopen_payment_chargeback_skip_stage_accept(C) -> [ ?payment_ev(PID, ?chargeback_ev(CBID, ?chargeback_status_changed(?chargeback_status_rejected()))) ] = next_event(IID, Client), - Settlement1 = hg_accouning_new:get_balance(SID), + Settlement1 = hg_ct_helper:get_balance(SID), NextStage = ?chargeback_stage_arbitration(), ReopenParams = make_chargeback_reopen_params_move_to_stage(ReopenLevy, NextStage), ok = hg_client_invoicing:reopen_chargeback(IID, PID, CBID, ReopenParams, Client), @@ -3252,7 +3252,7 @@ reopen_payment_chargeback_skip_stage_accept(C) -> [ ?payment_ev(PID, ?chargeback_ev(CBID, ?chargeback_status_changed(?chargeback_status_pending()))) ] = next_event(IID, Client), - Settlement2 = hg_accouning_new:get_balance(SID), + Settlement2 = hg_ct_helper:get_balance(SID), AcceptParams = make_chargeback_accept_params(), ok = hg_client_invoicing:accept_chargeback(IID, PID, CBID, AcceptParams, Client), [ @@ -3262,7 +3262,7 @@ reopen_payment_chargeback_skip_stage_accept(C) -> ?payment_ev(PID, ?chargeback_ev(CBID, ?chargeback_status_changed(?chargeback_status_accepted()))), ?payment_ev(PID, ?payment_status_changed(?charged_back())) ] = next_event(IID, Client), - Settlement3 = hg_accouning_new:get_balance(SID), + Settlement3 = hg_ct_helper:get_balance(SID), ?assertEqual(Paid - Cost - LevyAmount, maps:get(min_available_amount, Settlement0)), ?assertEqual(Paid, maps:get(max_available_amount, Settlement0)), ?assertEqual(Paid - LevyAmount, maps:get(min_available_amount, Settlement1)), @@ -3294,7 +3294,7 @@ reopen_payment_chargeback_accept_new_levy(C) -> [ ?payment_ev(PID, ?chargeback_ev(CBID, ?chargeback_cash_flow_changed(_))) ] = next_event(IID, Client), - Settlement0 = hg_accouning_new:get_balance(SID), + Settlement0 = hg_ct_helper:get_balance(SID), RejectParams = make_chargeback_reject_params(Levy), ok = hg_client_invoicing:reject_chargeback(IID, PID, CBID, RejectParams, Client), [ @@ -3306,7 +3306,7 @@ reopen_payment_chargeback_accept_new_levy(C) -> [ ?payment_ev(PID, ?chargeback_ev(CBID, ?chargeback_status_changed(?chargeback_status_rejected()))) ] = next_event(IID, Client), - Settlement1 = hg_accouning_new:get_balance(SID), + Settlement1 = hg_ct_helper:get_balance(SID), ReopenParams = make_chargeback_reopen_params(ReopenLevy), ok = hg_client_invoicing:reopen_chargeback(IID, PID, CBID, ReopenParams, Client), [ @@ -3320,7 +3320,7 @@ reopen_payment_chargeback_accept_new_levy(C) -> [ ?payment_ev(PID, ?chargeback_ev(CBID, ?chargeback_status_changed(?chargeback_status_pending()))) ] = next_event(IID, Client), - Settlement2 = hg_accouning_new:get_balance(SID), + Settlement2 = hg_ct_helper:get_balance(SID), AcceptParams = make_chargeback_accept_params(AcceptLevy, Body), ok = hg_client_invoicing:accept_chargeback(IID, PID, CBID, AcceptParams, Client), [ @@ -3334,7 +3334,7 @@ reopen_payment_chargeback_accept_new_levy(C) -> ?payment_ev(PID, ?chargeback_ev(CBID, ?chargeback_status_changed(?chargeback_status_accepted()))), ?payment_ev(PID, ?payment_status_changed(?charged_back())) ] = next_event(IID, Client), - Settlement3 = hg_accouning_new:get_balance(SID), + Settlement3 = hg_ct_helper:get_balance(SID), ?assertEqual(Paid - Cost - LevyAmount, maps:get(min_available_amount, Settlement0)), ?assertEqual(Paid, maps:get(max_available_amount, Settlement0)), ?assertEqual(Paid - LevyAmount, maps:get(min_available_amount, Settlement1)), @@ -3365,7 +3365,7 @@ reopen_payment_chargeback_arbitration(C) -> [ ?payment_ev(PID, ?chargeback_ev(CBID, ?chargeback_cash_flow_changed(_))) ] = next_event(IID, Client), - Settlement0 = hg_accouning_new:get_balance(SID), + Settlement0 = hg_ct_helper:get_balance(SID), RejectParams = make_chargeback_reject_params(Levy), ok = hg_client_invoicing:reject_chargeback(IID, PID, CBID, RejectParams, Client), [ @@ -3377,7 +3377,7 @@ reopen_payment_chargeback_arbitration(C) -> [ ?payment_ev(PID, ?chargeback_ev(CBID, ?chargeback_status_changed(?chargeback_status_rejected()))) ] = next_event(IID, Client), - Settlement1 = hg_accouning_new:get_balance(SID), + Settlement1 = hg_ct_helper:get_balance(SID), ReopenParams = make_chargeback_reopen_params(ReopenLevy), ok = hg_client_invoicing:reopen_chargeback(IID, PID, CBID, ReopenParams, Client), [ @@ -3391,7 +3391,7 @@ reopen_payment_chargeback_arbitration(C) -> [ ?payment_ev(PID, ?chargeback_ev(CBID, ?chargeback_status_changed(?chargeback_status_pending()))) ] = next_event(IID, Client), - Settlement2 = hg_accouning_new:get_balance(SID), + Settlement2 = hg_ct_helper:get_balance(SID), ok = hg_client_invoicing:reject_chargeback(IID, PID, CBID, RejectParams, Client), [ ?payment_ev(PID, ?chargeback_ev(CBID, ?chargeback_levy_changed(_))), @@ -3403,7 +3403,7 @@ reopen_payment_chargeback_arbitration(C) -> [ ?payment_ev(PID, ?chargeback_ev(CBID, ?chargeback_status_changed(?chargeback_status_rejected()))) ] = next_event(IID, Client), - Settlement3 = hg_accouning_new:get_balance(SID), + Settlement3 = hg_ct_helper:get_balance(SID), ReopenArbParams = make_chargeback_reopen_params(ReopenArbLevy), ok = hg_client_invoicing:reopen_chargeback(IID, PID, CBID, ReopenArbParams, Client), [ @@ -3417,7 +3417,7 @@ reopen_payment_chargeback_arbitration(C) -> [ ?payment_ev(PID, ?chargeback_ev(CBID, ?chargeback_status_changed(?chargeback_status_pending()))) ] = next_event(IID, Client), - Settlement4 = hg_accouning_new:get_balance(SID), + Settlement4 = hg_ct_helper:get_balance(SID), AcceptParams = make_chargeback_accept_params(), ok = hg_client_invoicing:accept_chargeback(IID, PID, CBID, AcceptParams, Client), [ @@ -3427,7 +3427,7 @@ reopen_payment_chargeback_arbitration(C) -> ?payment_ev(PID, ?chargeback_ev(CBID, ?chargeback_status_changed(?chargeback_status_accepted()))), ?payment_ev(PID, ?payment_status_changed(?charged_back())) ] = next_event(IID, Client), - Settlement5 = hg_accouning_new:get_balance(SID), + Settlement5 = hg_ct_helper:get_balance(SID), ?assertEqual(Paid - Cost - LevyAmount, maps:get(min_available_amount, Settlement0)), ?assertEqual(Paid, maps:get(max_available_amount, Settlement0)), ?assertEqual(Paid - LevyAmount, maps:get(min_available_amount, Settlement1)), @@ -3462,7 +3462,7 @@ reopen_payment_chargeback_arbitration_reopen_fails(C) -> [ ?payment_ev(PID, ?chargeback_ev(CBID, ?chargeback_cash_flow_changed(_))) ] = next_event(IID, Client), - Settlement0 = hg_accouning_new:get_balance(SID), + Settlement0 = hg_ct_helper:get_balance(SID), RejectParams = make_chargeback_reject_params(Levy), ok = hg_client_invoicing:reject_chargeback(IID, PID, CBID, RejectParams, Client), [ @@ -3474,7 +3474,7 @@ reopen_payment_chargeback_arbitration_reopen_fails(C) -> [ ?payment_ev(PID, ?chargeback_ev(CBID, ?chargeback_status_changed(?chargeback_status_rejected()))) ] = next_event(IID, Client), - Settlement1 = hg_accouning_new:get_balance(SID), + Settlement1 = hg_ct_helper:get_balance(SID), ReopenParams = make_chargeback_reopen_params(ReopenLevy), ok = hg_client_invoicing:reopen_chargeback(IID, PID, CBID, ReopenParams, Client), [ @@ -3488,7 +3488,7 @@ reopen_payment_chargeback_arbitration_reopen_fails(C) -> [ ?payment_ev(PID, ?chargeback_ev(CBID, ?chargeback_status_changed(?chargeback_status_pending()))) ] = next_event(IID, Client), - Settlement2 = hg_accouning_new:get_balance(SID), + Settlement2 = hg_ct_helper:get_balance(SID), ok = hg_client_invoicing:reject_chargeback(IID, PID, CBID, RejectParams, Client), [ ?payment_ev(PID, ?chargeback_ev(CBID, ?chargeback_levy_changed(_))), @@ -3500,7 +3500,7 @@ reopen_payment_chargeback_arbitration_reopen_fails(C) -> [ ?payment_ev(PID, ?chargeback_ev(CBID, ?chargeback_status_changed(?chargeback_status_rejected()))) ] = next_event(IID, Client), - Settlement3 = hg_accouning_new:get_balance(SID), + Settlement3 = hg_ct_helper:get_balance(SID), ReopenArbParams = make_chargeback_reopen_params(ReopenArbLevy), ok = hg_client_invoicing:reopen_chargeback(IID, PID, CBID, ReopenArbParams, Client), [ @@ -3514,7 +3514,7 @@ reopen_payment_chargeback_arbitration_reopen_fails(C) -> [ ?payment_ev(PID, ?chargeback_ev(CBID, ?chargeback_status_changed(?chargeback_status_pending()))) ] = next_event(IID, Client), - Settlement4 = hg_accouning_new:get_balance(SID), + Settlement4 = hg_ct_helper:get_balance(SID), ok = hg_client_invoicing:reject_chargeback(IID, PID, CBID, RejectParams, Client), [ ?payment_ev(PID, ?chargeback_ev(CBID, ?chargeback_levy_changed(_))), @@ -3526,7 +3526,7 @@ reopen_payment_chargeback_arbitration_reopen_fails(C) -> [ ?payment_ev(PID, ?chargeback_ev(CBID, ?chargeback_status_changed(?chargeback_status_rejected()))) ] = next_event(IID, Client), - Settlement5 = hg_accouning_new:get_balance(SID), + Settlement5 = hg_ct_helper:get_balance(SID), Error = hg_client_invoicing:reopen_chargeback(IID, PID, CBID, ReopenArbParams, Client), ?assertEqual(Paid - Cost - LevyAmount, maps:get(min_available_amount, Settlement0)), ?assertEqual(Paid, maps:get(max_available_amount, Settlement0)), @@ -3555,13 +3555,13 @@ start_chargeback(C, Cost, CBParams, PaymentParams) -> Shop = maps:get(ShopID, Party#domain_Party.shops), Account = Shop#domain_Shop.account, SettlementID = Account#domain_ShopAccount.settlement, - Settlement0 = hg_accouning_new:get_balance(SettlementID), + Settlement0 = hg_ct_helper:get_balance(SettlementID), % 0.045 Fee = 1890, ?assertEqual(0, maps:get(min_available_amount, Settlement0)), InvoiceID = start_invoice(ShopID, <<"rubberduck">>, make_due_date(10), Cost, C), PaymentID = execute_payment(InvoiceID, PaymentParams, Client), - Settlement1 = hg_accouning_new:get_balance(SettlementID), + Settlement1 = hg_ct_helper:get_balance(SettlementID), ?assertEqual(Cost - Fee, maps:get(min_available_amount, Settlement1)), Chargeback = hg_client_invoicing:create_chargeback(InvoiceID, PaymentID, CBParams, Client), {InvoiceID, PaymentID, SettlementID, Chargeback}. @@ -3575,7 +3575,7 @@ start_chargeback_partial_capture(C, Cost, Partial, CBParams) -> Shop = maps:get(ShopID, Party#domain_Party.shops), Account = Shop#domain_Shop.account, SettlementID = Account#domain_ShopAccount.settlement, - Settlement0 = hg_accouning_new:get_balance(SettlementID), + Settlement0 = hg_ct_helper:get_balance(SettlementID), % Fee = 450, % 0.045 ?assertEqual(0, maps:get(min_available_amount, Settlement0)), InvoiceID = start_invoice(ShopID, <<"rubberduck">>, make_due_date(10), Cost, C), From 8ccaf63d80bfad9d4c3f862956188a4ce162eef6 Mon Sep 17 00:00:00 2001 From: Kehitt Date: Tue, 13 Jul 2021 19:52:01 +0300 Subject: [PATCH 14/35] attmept to fix the tests --- apps/hellgate/test/hg_invoice_tests_SUITE.erl | 302 +++++++++++++++--- 1 file changed, 250 insertions(+), 52 deletions(-) diff --git a/apps/hellgate/test/hg_invoice_tests_SUITE.erl b/apps/hellgate/test/hg_invoice_tests_SUITE.erl index 16c919f69..6550d5d49 100644 --- a/apps/hellgate/test/hg_invoice_tests_SUITE.erl +++ b/apps/hellgate/test/hg_invoice_tests_SUITE.erl @@ -2638,7 +2638,10 @@ reject_payment_chargeback_no_fees(C) -> [ ?payment_ev(PID, ?chargeback_ev(CBID, ?chargeback_cash_flow_changed(_))) ] = next_event(IID, Client), - Settlement0 = hg_ct_helper:get_balance(SID), + [ + ?payment_ev(PID, ?chargeback_ev(CBID, ?chargeback_clock_update(Clock0))) + ] = next_event(IID, Client), + Settlement0 = hg_accounting_new:get_balance(SID, Clock0), RejectParams = make_chargeback_reject_params(Levy), ok = hg_client_invoicing:reject_chargeback(IID, PID, CBID, RejectParams, Client), [ @@ -2648,9 +2651,13 @@ reject_payment_chargeback_no_fees(C) -> ?payment_ev(PID, ?chargeback_ev(CBID, ?chargeback_cash_flow_changed(_))) ] = next_event(IID, Client), [ + ?payment_ev(PID, ?chargeback_ev(CBID, ?chargeback_clock_update(_))) + ] = next_event(IID, Client), + [ + ?payment_ev(PID, ?chargeback_ev(CBID, ?chargeback_clock_update(Clock1))), ?payment_ev(PID, ?chargeback_ev(CBID, ?chargeback_status_changed(?chargeback_status_rejected()))) ] = next_event(IID, Client), - Settlement1 = hg_ct_helper:get_balance(SID), + Settlement1 = hg_accounting_new:get_balance(SID, Clock1), ?assertEqual(Paid - Cost - LevyAmount, maps:get(min_available_amount, Settlement0)), ?assertEqual(Paid, maps:get(max_available_amount, Settlement0)), ?assertEqual(Paid - LevyAmount, maps:get(min_available_amount, Settlement1)), @@ -2673,7 +2680,10 @@ reject_payment_chargeback_new_levy(C) -> [ ?payment_ev(PID, ?chargeback_ev(CBID, ?chargeback_cash_flow_changed(CF0))) ] = next_event(IID, Client), - Settlement0 = hg_ct_helper:get_balance(SID), + [ + ?payment_ev(PID, ?chargeback_ev(CBID, ?chargeback_clock_update(Clock0))) + ] = next_event(IID, Client), + Settlement0 = hg_accounting_new:get_balance(SID, Clock0), RejectAmount = 5000, RejectLevy = ?cash(RejectAmount, <<"RUB">>), RejectParams = make_chargeback_reject_params(RejectLevy), @@ -2686,9 +2696,13 @@ reject_payment_chargeback_new_levy(C) -> ?payment_ev(PID, ?chargeback_ev(CBID, ?chargeback_cash_flow_changed(CF1))) ] = next_event(IID, Client), [ + ?payment_ev(PID, ?chargeback_ev(CBID, ?chargeback_clock_update(_))) + ] = next_event(IID, Client), + [ + ?payment_ev(PID, ?chargeback_ev(CBID, ?chargeback_clock_update(Clock1))), ?payment_ev(PID, ?chargeback_ev(CBID, ?chargeback_status_changed(?chargeback_status_rejected()))) ] = next_event(IID, Client), - Settlement1 = hg_ct_helper:get_balance(SID), + Settlement1 = hg_accounting_new:get_balance(SID, Clock1), ?assertNotEqual(CF0, CF1), ?assertEqual(Paid - Cost - LevyAmount, maps:get(min_available_amount, Settlement0)), ?assertEqual(Paid, maps:get(max_available_amount, Settlement0)), @@ -2710,6 +2724,9 @@ accept_payment_chargeback_inconsistent(C) -> [ ?payment_ev(PID, ?chargeback_ev(CBID, ?chargeback_cash_flow_changed(_))) ] = next_event(IID, Client), + [ + ?payment_ev(PID, ?chargeback_ev(CBID, ?chargeback_clock_update(_))) + ] = next_event(IID, Client), InconsistentLevyParams = make_chargeback_accept_params(?cash(10, <<"USD">>), undefined), InconsistentBodyParams = make_chargeback_accept_params(undefined, ?cash(10, <<"USD">>)), InconsistentLevy = hg_client_invoicing:accept_chargeback(IID, PID, CBID, InconsistentLevyParams, Client), @@ -2723,6 +2740,10 @@ accept_payment_chargeback_inconsistent(C) -> ?payment_ev(PID, ?chargeback_ev(CBID, ?chargeback_cash_flow_changed(_))) ] = next_event(IID, Client), [ + ?payment_ev(PID, ?chargeback_ev(CBID, ?chargeback_clock_update(_))) + ] = next_event(IID, Client), + [ + ?payment_ev(PID, ?chargeback_ev(CBID, ?chargeback_clock_update(_))), ?payment_ev(PID, ?chargeback_ev(CBID, ?chargeback_status_changed(?chargeback_status_cancelled()))) ] = next_event(IID, Client), ?assertMatch(?inconsistent_chargeback_currency(_), InconsistentLevy), @@ -2743,6 +2764,9 @@ accept_payment_chargeback_exceeded(C) -> [ ?payment_ev(PID, ?chargeback_ev(CBID, ?chargeback_cash_flow_changed(_))) ] = next_event(IID, Client), + [ + ?payment_ev(PID, ?chargeback_ev(CBID, ?chargeback_clock_update(_))) + ] = next_event(IID, Client), ExceedBody = 200000, ExceedParams = make_chargeback_accept_params(?cash(LevyAmount, <<"RUB">>), ?cash(ExceedBody, <<"RUB">>)), Exceeded = hg_client_invoicing:accept_chargeback(IID, PID, CBID, ExceedParams, Client), @@ -2755,6 +2779,10 @@ accept_payment_chargeback_exceeded(C) -> ?payment_ev(PID, ?chargeback_ev(CBID, ?chargeback_cash_flow_changed(_))) ] = next_event(IID, Client), [ + ?payment_ev(PID, ?chargeback_ev(CBID, ?chargeback_clock_update(_))) + ] = next_event(IID, Client), + [ + ?payment_ev(PID, ?chargeback_ev(CBID, ?chargeback_clock_update(_))), ?payment_ev(PID, ?chargeback_ev(CBID, ?chargeback_status_changed(?chargeback_status_cancelled()))) ] = next_event(IID, Client), ?assertMatch(?invoice_payment_amount_exceeded(_), Exceeded). @@ -2776,17 +2804,21 @@ accept_payment_chargeback_empty_params(C) -> [ ?payment_ev(PID, ?chargeback_ev(CBID, ?chargeback_cash_flow_changed(_))) ] = next_event(IID, Client), - Settlement0 = hg_ct_helper:get_balance(SID), + [ + ?payment_ev(PID, ?chargeback_ev(CBID, ?chargeback_clock_update(Clock0))) + ] = next_event(IID, Client), + Settlement0 = hg_accounting_new:get_balance(SID, Clock0), AcceptParams = make_chargeback_accept_params(), ok = hg_client_invoicing:accept_chargeback(IID, PID, CBID, AcceptParams, Client), [ ?payment_ev(PID, ?chargeback_ev(CBID, ?chargeback_target_status_changed(?chargeback_status_accepted()))) ] = next_event(IID, Client), [ + ?payment_ev(PID, ?chargeback_ev(CBID, ?chargeback_clock_update(Clock1))), ?payment_ev(PID, ?chargeback_ev(CBID, ?chargeback_status_changed(?chargeback_status_accepted()))), ?payment_ev(PID, ?payment_status_changed(?charged_back())) ] = next_event(IID, Client), - Settlement1 = hg_ct_helper:get_balance(SID), + Settlement1 = hg_accounting_new:get_balance(SID, Clock1), ?assertEqual(Paid - Cost - LevyAmount, maps:get(min_available_amount, Settlement0)), ?assertEqual(Paid, maps:get(max_available_amount, Settlement0)), ?assertEqual(Paid - Cost - LevyAmount, maps:get(min_available_amount, Settlement1)), @@ -2811,16 +2843,20 @@ accept_payment_chargeback_twice(C) -> [ ?payment_ev(PID, ?chargeback_ev(CBID, ?chargeback_cash_flow_changed(_))) ] = next_event(IID, Client), - Settlement0 = hg_ct_helper:get_balance(SID), + [ + ?payment_ev(PID, ?chargeback_ev(CBID, ?chargeback_clock_update(Clock0))) + ] = next_event(IID, Client), + Settlement0 = hg_accounting_new:get_balance(SID, Clock0), AcceptParams = make_chargeback_accept_params(), ok = hg_client_invoicing:accept_chargeback(IID, PID, CBID, AcceptParams, Client), [ ?payment_ev(PID, ?chargeback_ev(CBID, ?chargeback_target_status_changed(?chargeback_status_accepted()))) ] = next_event(IID, Client), [ + ?payment_ev(PID, ?chargeback_ev(CBID, ?chargeback_clock_update(Clock1))), ?payment_ev(PID, ?chargeback_ev(CBID, ?chargeback_status_changed(?chargeback_status_accepted()))) ] = next_event(IID, Client), - Settlement1 = hg_ct_helper:get_balance(SID), + Settlement1 = hg_accounting_new:get_balance(SID, Clock1), CBParams2 = make_chargeback_params(Levy), Chargeback = hg_client_invoicing:create_chargeback(IID, PID, CBParams2, Client), CBID2 = Chargeback#domain_InvoicePaymentChargeback.id, @@ -2830,17 +2866,21 @@ accept_payment_chargeback_twice(C) -> [ ?payment_ev(PID, ?chargeback_ev(CBID2, ?chargeback_cash_flow_changed(_))) ] = next_event(IID, Client), - Settlement2 = hg_ct_helper:get_balance(SID), + [ + ?payment_ev(PID, ?chargeback_ev(CBID, ?chargeback_clock_update(Clock2))) + ] = next_event(IID, Client), + Settlement2 = hg_accounting_new:get_balance(SID, Clock2), AcceptParams = make_chargeback_accept_params(), ok = hg_client_invoicing:accept_chargeback(IID, PID, CBID2, AcceptParams, Client), [ ?payment_ev(PID, ?chargeback_ev(CBID2, ?chargeback_target_status_changed(?chargeback_status_accepted()))) ] = next_event(IID, Client), [ + ?payment_ev(PID, ?chargeback_ev(CBID, ?chargeback_clock_update(Clock3))), ?payment_ev(PID, ?chargeback_ev(CBID2, ?chargeback_status_changed(?chargeback_status_accepted()))), ?payment_ev(PID, ?payment_status_changed(?charged_back())) ] = next_event(IID, Client), - Settlement3 = hg_ct_helper:get_balance(SID), + Settlement3 = hg_accounting_new:get_balance(SID, Clock3), ?assertEqual(Paid - BodyAmount - LevyAmount, maps:get(min_available_amount, Settlement0)), ?assertEqual(Paid, maps:get(max_available_amount, Settlement0)), ?assertEqual(Paid - BodyAmount - LevyAmount, maps:get(min_available_amount, Settlement1)), @@ -2867,7 +2907,10 @@ accept_payment_chargeback_new_body(C) -> [ ?payment_ev(PID, ?chargeback_ev(CBID, ?chargeback_cash_flow_changed(_))) ] = next_event(IID, Client), - Settlement0 = hg_ct_helper:get_balance(SID), + [ + ?payment_ev(PID, ?chargeback_ev(CBID, ?chargeback_clock_update(Clock0))) + ] = next_event(IID, Client), + Settlement0 = hg_accounting_new:get_balance(SID, Clock0), Body = 40000, AcceptParams = make_chargeback_accept_params(undefined, ?cash(Body, <<"RUB">>)), ok = hg_client_invoicing:accept_chargeback(IID, PID, CBID, AcceptParams, Client), @@ -2879,9 +2922,13 @@ accept_payment_chargeback_new_body(C) -> ?payment_ev(PID, ?chargeback_ev(CBID, ?chargeback_cash_flow_changed(_))) ] = next_event(IID, Client), [ + ?payment_ev(PID, ?chargeback_ev(CBID, ?chargeback_clock_update(_))) + ] = next_event(IID, Client), + [ + ?payment_ev(PID, ?chargeback_ev(CBID, ?chargeback_clock_update(Clock1))), ?payment_ev(PID, ?chargeback_ev(CBID, ?chargeback_status_changed(?chargeback_status_accepted()))) ] = next_event(IID, Client), - Settlement1 = hg_ct_helper:get_balance(SID), + Settlement1 = hg_accounting_new:get_balance(SID, Clock1), ?assertEqual(Paid - Cost - LevyAmount, maps:get(min_available_amount, Settlement0)), ?assertEqual(Paid, maps:get(max_available_amount, Settlement0)), ?assertEqual(Paid - Body - LevyAmount, maps:get(min_available_amount, Settlement1)), @@ -2905,7 +2952,10 @@ accept_payment_chargeback_new_levy(C) -> [ ?payment_ev(PID, ?chargeback_ev(CBID, ?chargeback_cash_flow_changed(_))) ] = next_event(IID, Client), - Settlement0 = hg_ct_helper:get_balance(SID), + [ + ?payment_ev(PID, ?chargeback_ev(CBID, ?chargeback_clock_update(Clock0))) + ] = next_event(IID, Client), + Settlement0 = hg_accounting_new:get_balance(SID, Clock0), AcceptParams = make_chargeback_accept_params(?cash(NewLevyAmount, <<"RUB">>), undefined), ok = hg_client_invoicing:accept_chargeback(IID, PID, CBID, AcceptParams, Client), [ @@ -2916,10 +2966,14 @@ accept_payment_chargeback_new_levy(C) -> ?payment_ev(PID, ?chargeback_ev(CBID, ?chargeback_cash_flow_changed(_))) ] = next_event(IID, Client), [ + ?payment_ev(PID, ?chargeback_ev(CBID, ?chargeback_clock_update(_))) + ] = next_event(IID, Client), + [ + ?payment_ev(PID, ?chargeback_ev(CBID, ?chargeback_clock_update(Clock1))), ?payment_ev(PID, ?chargeback_ev(CBID, ?chargeback_status_changed(?chargeback_status_accepted()))), ?payment_ev(PID, ?payment_status_changed(?charged_back())) ] = next_event(IID, Client), - Settlement1 = hg_ct_helper:get_balance(SID), + Settlement1 = hg_accounting_new:get_balance(SID, Clock1), ?assertEqual(Paid - Cost - LevyAmount, maps:get(min_available_amount, Settlement0)), ?assertEqual(Paid, maps:get(max_available_amount, Settlement0)), ?assertEqual(Paid - Cost - NewLevyAmount, maps:get(min_available_amount, Settlement1)), @@ -2940,12 +2994,16 @@ reopen_accepted_payment_chargeback_fails(C) -> [ ?payment_ev(PID, ?chargeback_ev(CBID, ?chargeback_cash_flow_changed(_))) ] = next_event(IID, Client), + [ + ?payment_ev(PID, ?chargeback_ev(CBID, ?chargeback_clock_update(_))) + ] = next_event(IID, Client), AcceptParams = make_chargeback_accept_params(), ok = hg_client_invoicing:accept_chargeback(IID, PID, CBID, AcceptParams, Client), [ ?payment_ev(PID, ?chargeback_ev(CBID, ?chargeback_target_status_changed(?chargeback_status_accepted()))) ] = next_event(IID, Client), [ + ?payment_ev(PID, ?chargeback_ev(CBID, ?chargeback_clock_update(_))), ?payment_ev(PID, ?chargeback_ev(CBID, ?chargeback_status_changed(?chargeback_status_accepted()))), ?payment_ev(PID, ?payment_status_changed(?charged_back())) ] = next_event(IID, Client), @@ -2968,6 +3026,9 @@ reopen_payment_chargeback_inconsistent(C) -> [ ?payment_ev(PID, ?chargeback_ev(CBID, ?chargeback_cash_flow_changed(_))) ] = next_event(IID, Client), + [ + ?payment_ev(PID, ?chargeback_ev(CBID, ?chargeback_clock_update(_))) + ] = next_event(IID, Client), RejectParams = make_chargeback_reject_params(Levy), ok = hg_client_invoicing:reject_chargeback(IID, PID, CBID, RejectParams, Client), [ @@ -2977,6 +3038,10 @@ reopen_payment_chargeback_inconsistent(C) -> ?payment_ev(PID, ?chargeback_ev(CBID, ?chargeback_cash_flow_changed(_))) ] = next_event(IID, Client), [ + ?payment_ev(PID, ?chargeback_ev(CBID, ?chargeback_clock_update(_))) + ] = next_event(IID, Client), + [ + ?payment_ev(PID, ?chargeback_ev(CBID, ?chargeback_clock_update(_))), ?payment_ev(PID, ?chargeback_ev(CBID, ?chargeback_status_changed(?chargeback_status_rejected()))) ] = next_event(IID, Client), InconsistentLevyParams = make_chargeback_reopen_params(?cash(10, <<"USD">>), undefined), @@ -3001,6 +3066,9 @@ reopen_payment_chargeback_exceeded(C) -> [ ?payment_ev(PID, ?chargeback_ev(CBID, ?chargeback_cash_flow_changed(_))) ] = next_event(IID, Client), + [ + ?payment_ev(PID, ?chargeback_ev(CBID, ?chargeback_clock_update(_))) + ] = next_event(IID, Client), RejectParams = make_chargeback_reject_params(Levy), ok = hg_client_invoicing:reject_chargeback(IID, PID, CBID, RejectParams, Client), [ @@ -3010,6 +3078,10 @@ reopen_payment_chargeback_exceeded(C) -> ?payment_ev(PID, ?chargeback_ev(CBID, ?chargeback_cash_flow_changed(_))) ] = next_event(IID, Client), [ + ?payment_ev(PID, ?chargeback_ev(CBID, ?chargeback_clock_update(_))) + ] = next_event(IID, Client), + [ + ?payment_ev(PID, ?chargeback_ev(CBID, ?chargeback_clock_update(_))), ?payment_ev(PID, ?chargeback_ev(CBID, ?chargeback_status_changed(?chargeback_status_rejected()))) ] = next_event(IID, Client), ExceededParams = make_chargeback_reopen_params(Levy, ?cash(50000, <<"RUB">>)), @@ -3035,7 +3107,10 @@ reopen_payment_chargeback_cancel(C) -> [ ?payment_ev(PID, ?chargeback_ev(CBID, ?chargeback_cash_flow_changed(_))) ] = next_event(IID, Client), - Settlement0 = hg_ct_helper:get_balance(SID), + [ + ?payment_ev(PID, ?chargeback_ev(CBID, ?chargeback_clock_update(Clock0))) + ] = next_event(IID, Client), + Settlement0 = hg_accounting_new:get_balance(SID, Clock0), RejectParams = make_chargeback_reject_params(Levy), ok = hg_client_invoicing:reject_chargeback(IID, PID, CBID, RejectParams, Client), [ @@ -3045,9 +3120,13 @@ reopen_payment_chargeback_cancel(C) -> ?payment_ev(PID, ?chargeback_ev(CBID, ?chargeback_cash_flow_changed(_))) ] = next_event(IID, Client), [ + ?payment_ev(PID, ?chargeback_ev(CBID, ?chargeback_clock_update(_))) + ] = next_event(IID, Client), + [ + ?payment_ev(PID, ?chargeback_ev(CBID, ?chargeback_clock_update(Clock1))), ?payment_ev(PID, ?chargeback_ev(CBID, ?chargeback_status_changed(?chargeback_status_rejected()))) ] = next_event(IID, Client), - Settlement1 = hg_ct_helper:get_balance(SID), + Settlement1 = hg_accounting_new:get_balance(SID, Clock1), ReopenParams = make_chargeback_reopen_params(ReopenLevy), ok = hg_client_invoicing:reopen_chargeback(IID, PID, CBID, ReopenParams, Client), [ @@ -3059,9 +3138,13 @@ reopen_payment_chargeback_cancel(C) -> ?payment_ev(PID, ?chargeback_ev(CBID, ?chargeback_cash_flow_changed(_))) ] = next_event(IID, Client), [ + ?payment_ev(PID, ?chargeback_ev(CBID, ?chargeback_clock_update(_))) + ] = next_event(IID, Client), + [ + ?payment_ev(PID, ?chargeback_ev(CBID, ?chargeback_clock_update(Clock2))), ?payment_ev(PID, ?chargeback_ev(CBID, ?chargeback_status_changed(?chargeback_status_pending()))) ] = next_event(IID, Client), - Settlement2 = hg_ct_helper:get_balance(SID), + Settlement2 = hg_accounting_new:get_balance(SID, Clock2), CancelParams = make_chargeback_cancel_params(), ok = hg_client_invoicing:cancel_chargeback(IID, PID, CBID, CancelParams, Client), [ @@ -3071,9 +3154,13 @@ reopen_payment_chargeback_cancel(C) -> ?payment_ev(PID, ?chargeback_ev(CBID, ?chargeback_cash_flow_changed(_))) ] = next_event(IID, Client), [ + ?payment_ev(PID, ?chargeback_ev(CBID, ?chargeback_clock_update(_))) + ] = next_event(IID, Client), + [ + ?payment_ev(PID, ?chargeback_ev(CBID, ?chargeback_clock_update(Clock3))), ?payment_ev(PID, ?chargeback_ev(CBID, ?chargeback_status_changed(?chargeback_status_cancelled()))) ] = next_event(IID, Client), - Settlement3 = hg_ct_helper:get_balance(SID), + Settlement3 = hg_accounting_new:get_balance(SID, Clock3), ?assertEqual(Paid - Cost - LevyAmount, maps:get(min_available_amount, Settlement0)), ?assertEqual(Paid, maps:get(max_available_amount, Settlement0)), ?assertEqual(Paid - LevyAmount, maps:get(min_available_amount, Settlement1)), @@ -3102,7 +3189,10 @@ reopen_payment_chargeback_reject(C) -> [ ?payment_ev(PID, ?chargeback_ev(CBID, ?chargeback_cash_flow_changed(_))) ] = next_event(IID, Client), - Settlement0 = hg_ct_helper:get_balance(SID), + [ + ?payment_ev(PID, ?chargeback_ev(CBID, ?chargeback_clock_update(Clock0))) + ] = next_event(IID, Client), + Settlement0 = hg_accounting_new:get_balance(SID, Clock0), RejectParams = make_chargeback_reject_params(Levy), ok = hg_client_invoicing:reject_chargeback(IID, PID, CBID, RejectParams, Client), [ @@ -3112,9 +3202,13 @@ reopen_payment_chargeback_reject(C) -> ?payment_ev(PID, ?chargeback_ev(CBID, ?chargeback_cash_flow_changed(_))) ] = next_event(IID, Client), [ + ?payment_ev(PID, ?chargeback_ev(CBID, ?chargeback_clock_update(_))) + ] = next_event(IID, Client), + [ + ?payment_ev(PID, ?chargeback_ev(CBID, ?chargeback_clock_update(Clock1))), ?payment_ev(PID, ?chargeback_ev(CBID, ?chargeback_status_changed(?chargeback_status_rejected()))) ] = next_event(IID, Client), - Settlement1 = hg_ct_helper:get_balance(SID), + Settlement1 = hg_accounting_new:get_balance(SID, Clock1), ReopenParams = make_chargeback_reopen_params(ReopenLevy), ok = hg_client_invoicing:reopen_chargeback(IID, PID, CBID, ReopenParams, Client), [ @@ -3126,9 +3220,13 @@ reopen_payment_chargeback_reject(C) -> ?payment_ev(PID, ?chargeback_ev(CBID, ?chargeback_cash_flow_changed(_))) ] = next_event(IID, Client), [ + ?payment_ev(PID, ?chargeback_ev(CBID, ?chargeback_clock_update(_))) + ] = next_event(IID, Client), + [ + ?payment_ev(PID, ?chargeback_ev(CBID, ?chargeback_clock_update(Clock2))), ?payment_ev(PID, ?chargeback_ev(CBID, ?chargeback_status_changed(?chargeback_status_pending()))) ] = next_event(IID, Client), - Settlement2 = hg_ct_helper:get_balance(SID), + Settlement2 = hg_accounting_new:get_balance(SID, Clock2), ok = hg_client_invoicing:reject_chargeback(IID, PID, CBID, RejectParams, Client), [ ?payment_ev(PID, ?chargeback_ev(CBID, ?chargeback_levy_changed(Levy))), @@ -3138,9 +3236,13 @@ reopen_payment_chargeback_reject(C) -> ?payment_ev(PID, ?chargeback_ev(CBID, ?chargeback_cash_flow_changed(_))) ] = next_event(IID, Client), [ + ?payment_ev(PID, ?chargeback_ev(CBID, ?chargeback_clock_update(_))) + ] = next_event(IID, Client), + [ + ?payment_ev(PID, ?chargeback_ev(CBID, ?chargeback_clock_update(Clock3))), ?payment_ev(PID, ?chargeback_ev(CBID, ?chargeback_status_changed(?chargeback_status_rejected()))) ] = next_event(IID, Client), - Settlement3 = hg_ct_helper:get_balance(SID), + Settlement3 = hg_accounting_new:get_balance(SID, Clock3), ?assertEqual(Paid - Cost - LevyAmount, maps:get(min_available_amount, Settlement0)), ?assertEqual(Paid, maps:get(max_available_amount, Settlement0)), ?assertEqual(Paid - LevyAmount, maps:get(min_available_amount, Settlement1)), @@ -3169,7 +3271,10 @@ reopen_payment_chargeback_accept(C) -> [ ?payment_ev(PID, ?chargeback_ev(CBID, ?chargeback_cash_flow_changed(_))) ] = next_event(IID, Client), - Settlement0 = hg_ct_helper:get_balance(SID), + [ + ?payment_ev(PID, ?chargeback_ev(CBID, ?chargeback_clock_update(Clock0))) + ] = next_event(IID, Client), + Settlement0 = hg_accounting_new:get_balance(SID, Clock0), RejectParams = make_chargeback_reject_params(Levy), ok = hg_client_invoicing:reject_chargeback(IID, PID, CBID, RejectParams, Client), [ @@ -3179,9 +3284,13 @@ reopen_payment_chargeback_accept(C) -> ?payment_ev(PID, ?chargeback_ev(CBID, ?chargeback_cash_flow_changed(_))) ] = next_event(IID, Client), [ + ?payment_ev(PID, ?chargeback_ev(CBID, ?chargeback_clock_update(_))) + ] = next_event(IID, Client), + [ + ?payment_ev(PID, ?chargeback_ev(CBID, ?chargeback_clock_update(Clock1))), ?payment_ev(PID, ?chargeback_ev(CBID, ?chargeback_status_changed(?chargeback_status_rejected()))) ] = next_event(IID, Client), - Settlement1 = hg_ct_helper:get_balance(SID), + Settlement1 = hg_accounting_new:get_balance(SID, Clock1), ReopenParams = make_chargeback_reopen_params(ReopenLevy), ok = hg_client_invoicing:reopen_chargeback(IID, PID, CBID, ReopenParams, Client), [ @@ -3193,19 +3302,24 @@ reopen_payment_chargeback_accept(C) -> ?payment_ev(PID, ?chargeback_ev(CBID, ?chargeback_cash_flow_changed(_))) ] = next_event(IID, Client), [ + ?payment_ev(PID, ?chargeback_ev(CBID, ?chargeback_clock_update(_))) + ] = next_event(IID, Client), + [ + ?payment_ev(PID, ?chargeback_ev(CBID, ?chargeback_clock_update(Clock2))), ?payment_ev(PID, ?chargeback_ev(CBID, ?chargeback_status_changed(?chargeback_status_pending()))) ] = next_event(IID, Client), - Settlement2 = hg_ct_helper:get_balance(SID), + Settlement2 = hg_accounting_new:get_balance(SID, Clock2), AcceptParams = make_chargeback_accept_params(), ok = hg_client_invoicing:accept_chargeback(IID, PID, CBID, AcceptParams, Client), [ ?payment_ev(PID, ?chargeback_ev(CBID, ?chargeback_target_status_changed(?chargeback_status_accepted()))) ] = next_event(IID, Client), [ + ?payment_ev(PID, ?chargeback_ev(CBID, ?chargeback_clock_update(Clock3))), ?payment_ev(PID, ?chargeback_ev(CBID, ?chargeback_status_changed(?chargeback_status_accepted()))), ?payment_ev(PID, ?payment_status_changed(?charged_back())) ] = next_event(IID, Client), - Settlement3 = hg_ct_helper:get_balance(SID), + Settlement3 = hg_accounting_new:get_balance(SID, Clock3), ?assertEqual(Paid - Cost - LevyAmount, maps:get(min_available_amount, Settlement0)), ?assertEqual(Paid, maps:get(max_available_amount, Settlement0)), ?assertEqual(Paid - LevyAmount, maps:get(min_available_amount, Settlement1)), @@ -3234,7 +3348,10 @@ reopen_payment_chargeback_skip_stage_accept(C) -> [ ?payment_ev(PID, ?chargeback_ev(CBID, ?chargeback_cash_flow_changed(_))) ] = next_event(IID, Client), - Settlement0 = hg_ct_helper:get_balance(SID), + [ + ?payment_ev(PID, ?chargeback_ev(CBID, ?chargeback_clock_update(Clock0))) + ] = next_event(IID, Client), + Settlement0 = hg_accounting_new:get_balance(SID, Clock0), RejectParams = make_chargeback_reject_params(Levy), ok = hg_client_invoicing:reject_chargeback(IID, PID, CBID, RejectParams, Client), [ @@ -3244,9 +3361,13 @@ reopen_payment_chargeback_skip_stage_accept(C) -> ?payment_ev(PID, ?chargeback_ev(CBID, ?chargeback_cash_flow_changed(_))) ] = next_event(IID, Client), [ + ?payment_ev(PID, ?chargeback_ev(CBID, ?chargeback_clock_update(_))) + ] = next_event(IID, Client), + [ + ?payment_ev(PID, ?chargeback_ev(CBID, ?chargeback_clock_update(Clock1))), ?payment_ev(PID, ?chargeback_ev(CBID, ?chargeback_status_changed(?chargeback_status_rejected()))) ] = next_event(IID, Client), - Settlement1 = hg_ct_helper:get_balance(SID), + Settlement1 = hg_accounting_new:get_balance(SID, Clock1), NextStage = ?chargeback_stage_arbitration(), ReopenParams = make_chargeback_reopen_params_move_to_stage(ReopenLevy, NextStage), ok = hg_client_invoicing:reopen_chargeback(IID, PID, CBID, ReopenParams, Client), @@ -3259,19 +3380,24 @@ reopen_payment_chargeback_skip_stage_accept(C) -> ?payment_ev(PID, ?chargeback_ev(CBID, ?chargeback_cash_flow_changed(_))) ] = next_event(IID, Client), [ + ?payment_ev(PID, ?chargeback_ev(CBID, ?chargeback_clock_update(_))) + ] = next_event(IID, Client), + [ + ?payment_ev(PID, ?chargeback_ev(CBID, ?chargeback_clock_update(Clock2))), ?payment_ev(PID, ?chargeback_ev(CBID, ?chargeback_status_changed(?chargeback_status_pending()))) ] = next_event(IID, Client), - Settlement2 = hg_ct_helper:get_balance(SID), + Settlement2 = hg_accounting_new:get_balance(SID, Clock2), AcceptParams = make_chargeback_accept_params(), ok = hg_client_invoicing:accept_chargeback(IID, PID, CBID, AcceptParams, Client), [ ?payment_ev(PID, ?chargeback_ev(CBID, ?chargeback_target_status_changed(?chargeback_status_accepted()))) ] = next_event(IID, Client), [ + ?payment_ev(PID, ?chargeback_ev(CBID, ?chargeback_clock_update(Clock3))), ?payment_ev(PID, ?chargeback_ev(CBID, ?chargeback_status_changed(?chargeback_status_accepted()))), ?payment_ev(PID, ?payment_status_changed(?charged_back())) ] = next_event(IID, Client), - Settlement3 = hg_ct_helper:get_balance(SID), + Settlement3 = hg_accounting_new:get_balance(SID, Clock3), ?assertEqual(Paid - Cost - LevyAmount, maps:get(min_available_amount, Settlement0)), ?assertEqual(Paid, maps:get(max_available_amount, Settlement0)), ?assertEqual(Paid - LevyAmount, maps:get(min_available_amount, Settlement1)), @@ -3303,7 +3429,10 @@ reopen_payment_chargeback_accept_new_levy(C) -> [ ?payment_ev(PID, ?chargeback_ev(CBID, ?chargeback_cash_flow_changed(_))) ] = next_event(IID, Client), - Settlement0 = hg_ct_helper:get_balance(SID), + [ + ?payment_ev(PID, ?chargeback_ev(CBID, ?chargeback_clock_update(Clock0))) + ] = next_event(IID, Client), + Settlement0 = hg_accounting_new:get_balance(SID, Clock0), RejectParams = make_chargeback_reject_params(Levy), ok = hg_client_invoicing:reject_chargeback(IID, PID, CBID, RejectParams, Client), [ @@ -3313,9 +3442,13 @@ reopen_payment_chargeback_accept_new_levy(C) -> ?payment_ev(PID, ?chargeback_ev(CBID, ?chargeback_cash_flow_changed(_))) ] = next_event(IID, Client), [ + ?payment_ev(PID, ?chargeback_ev(CBID, ?chargeback_clock_update(_))) + ] = next_event(IID, Client), + [ + ?payment_ev(PID, ?chargeback_ev(CBID, ?chargeback_clock_update(Clock1))), ?payment_ev(PID, ?chargeback_ev(CBID, ?chargeback_status_changed(?chargeback_status_rejected()))) ] = next_event(IID, Client), - Settlement1 = hg_ct_helper:get_balance(SID), + Settlement1 = hg_accounting_new:get_balance(SID, Clock1), ReopenParams = make_chargeback_reopen_params(ReopenLevy), ok = hg_client_invoicing:reopen_chargeback(IID, PID, CBID, ReopenParams, Client), [ @@ -3327,9 +3460,13 @@ reopen_payment_chargeback_accept_new_levy(C) -> ?payment_ev(PID, ?chargeback_ev(CBID, ?chargeback_cash_flow_changed(_))) ] = next_event(IID, Client), [ + ?payment_ev(PID, ?chargeback_ev(CBID, ?chargeback_clock_update(_))) + ] = next_event(IID, Client), + [ + ?payment_ev(PID, ?chargeback_ev(CBID, ?chargeback_clock_update(Clock2))), ?payment_ev(PID, ?chargeback_ev(CBID, ?chargeback_status_changed(?chargeback_status_pending()))) ] = next_event(IID, Client), - Settlement2 = hg_ct_helper:get_balance(SID), + Settlement2 = hg_accounting_new:get_balance(SID, Clock2), AcceptParams = make_chargeback_accept_params(AcceptLevy, Body), ok = hg_client_invoicing:accept_chargeback(IID, PID, CBID, AcceptParams, Client), [ @@ -3340,10 +3477,14 @@ reopen_payment_chargeback_accept_new_levy(C) -> ?payment_ev(PID, ?chargeback_ev(CBID, ?chargeback_cash_flow_changed(_))) ] = next_event(IID, Client), [ + ?payment_ev(PID, ?chargeback_ev(CBID, ?chargeback_clock_update(_))) + ] = next_event(IID, Client), + [ + ?payment_ev(PID, ?chargeback_ev(CBID, ?chargeback_clock_update(Clock3))), ?payment_ev(PID, ?chargeback_ev(CBID, ?chargeback_status_changed(?chargeback_status_accepted()))), ?payment_ev(PID, ?payment_status_changed(?charged_back())) ] = next_event(IID, Client), - Settlement3 = hg_ct_helper:get_balance(SID), + Settlement3 = hg_accounting_new:get_balance(SID, Clock3), ?assertEqual(Paid - Cost - LevyAmount, maps:get(min_available_amount, Settlement0)), ?assertEqual(Paid, maps:get(max_available_amount, Settlement0)), ?assertEqual(Paid - LevyAmount, maps:get(min_available_amount, Settlement1)), @@ -3374,7 +3515,10 @@ reopen_payment_chargeback_arbitration(C) -> [ ?payment_ev(PID, ?chargeback_ev(CBID, ?chargeback_cash_flow_changed(_))) ] = next_event(IID, Client), - Settlement0 = hg_ct_helper:get_balance(SID), + [ + ?payment_ev(PID, ?chargeback_ev(CBID, ?chargeback_clock_update(Clock0))) + ] = next_event(IID, Client), + Settlement0 = hg_accounting_new:get_balance(SID, Clock0), RejectParams = make_chargeback_reject_params(Levy), ok = hg_client_invoicing:reject_chargeback(IID, PID, CBID, RejectParams, Client), [ @@ -3384,9 +3528,13 @@ reopen_payment_chargeback_arbitration(C) -> ?payment_ev(PID, ?chargeback_ev(CBID, ?chargeback_cash_flow_changed(_))) ] = next_event(IID, Client), [ + ?payment_ev(PID, ?chargeback_ev(CBID, ?chargeback_clock_update(_))) + ] = next_event(IID, Client), + [ + ?payment_ev(PID, ?chargeback_ev(CBID, ?chargeback_clock_update(Clock1))), ?payment_ev(PID, ?chargeback_ev(CBID, ?chargeback_status_changed(?chargeback_status_rejected()))) ] = next_event(IID, Client), - Settlement1 = hg_ct_helper:get_balance(SID), + Settlement1 = hg_accounting_new:get_balance(SID, Clock1), ReopenParams = make_chargeback_reopen_params(ReopenLevy), ok = hg_client_invoicing:reopen_chargeback(IID, PID, CBID, ReopenParams, Client), [ @@ -3398,9 +3546,13 @@ reopen_payment_chargeback_arbitration(C) -> ?payment_ev(PID, ?chargeback_ev(CBID, ?chargeback_cash_flow_changed(_))) ] = next_event(IID, Client), [ + ?payment_ev(PID, ?chargeback_ev(CBID, ?chargeback_clock_update(_))) + ] = next_event(IID, Client), + [ + ?payment_ev(PID, ?chargeback_ev(CBID, ?chargeback_clock_update(Clock2))), ?payment_ev(PID, ?chargeback_ev(CBID, ?chargeback_status_changed(?chargeback_status_pending()))) ] = next_event(IID, Client), - Settlement2 = hg_ct_helper:get_balance(SID), + Settlement2 = hg_accounting_new:get_balance(SID, Clock2), ok = hg_client_invoicing:reject_chargeback(IID, PID, CBID, RejectParams, Client), [ ?payment_ev(PID, ?chargeback_ev(CBID, ?chargeback_levy_changed(_))), @@ -3410,9 +3562,13 @@ reopen_payment_chargeback_arbitration(C) -> ?payment_ev(PID, ?chargeback_ev(CBID, ?chargeback_cash_flow_changed(_))) ] = next_event(IID, Client), [ + ?payment_ev(PID, ?chargeback_ev(CBID, ?chargeback_clock_update(_))) + ] = next_event(IID, Client), + [ + ?payment_ev(PID, ?chargeback_ev(CBID, ?chargeback_clock_update(Clock3))), ?payment_ev(PID, ?chargeback_ev(CBID, ?chargeback_status_changed(?chargeback_status_rejected()))) ] = next_event(IID, Client), - Settlement3 = hg_ct_helper:get_balance(SID), + Settlement3 = hg_accounting_new:get_balance(SID, Clock3), ReopenArbParams = make_chargeback_reopen_params(ReopenArbLevy), ok = hg_client_invoicing:reopen_chargeback(IID, PID, CBID, ReopenArbParams, Client), [ @@ -3424,19 +3580,24 @@ reopen_payment_chargeback_arbitration(C) -> ?payment_ev(PID, ?chargeback_ev(CBID, ?chargeback_cash_flow_changed(_))) ] = next_event(IID, Client), [ + ?payment_ev(PID, ?chargeback_ev(CBID, ?chargeback_clock_update(_))) + ] = next_event(IID, Client), + [ + ?payment_ev(PID, ?chargeback_ev(CBID, ?chargeback_clock_update(Clock4))), ?payment_ev(PID, ?chargeback_ev(CBID, ?chargeback_status_changed(?chargeback_status_pending()))) ] = next_event(IID, Client), - Settlement4 = hg_ct_helper:get_balance(SID), + Settlement4 = hg_accounting_new:get_balance(SID, Clock4), AcceptParams = make_chargeback_accept_params(), ok = hg_client_invoicing:accept_chargeback(IID, PID, CBID, AcceptParams, Client), [ ?payment_ev(PID, ?chargeback_ev(CBID, ?chargeback_target_status_changed(?chargeback_status_accepted()))) ] = next_event(IID, Client), [ + ?payment_ev(PID, ?chargeback_ev(CBID, ?chargeback_clock_update(Clock5))), ?payment_ev(PID, ?chargeback_ev(CBID, ?chargeback_status_changed(?chargeback_status_accepted()))), ?payment_ev(PID, ?payment_status_changed(?charged_back())) ] = next_event(IID, Client), - Settlement5 = hg_ct_helper:get_balance(SID), + Settlement5 = hg_accounting_new:get_balance(SID, Clock5), ?assertEqual(Paid - Cost - LevyAmount, maps:get(min_available_amount, Settlement0)), ?assertEqual(Paid, maps:get(max_available_amount, Settlement0)), ?assertEqual(Paid - LevyAmount, maps:get(min_available_amount, Settlement1)), @@ -3471,7 +3632,10 @@ reopen_payment_chargeback_arbitration_reopen_fails(C) -> [ ?payment_ev(PID, ?chargeback_ev(CBID, ?chargeback_cash_flow_changed(_))) ] = next_event(IID, Client), - Settlement0 = hg_ct_helper:get_balance(SID), + [ + ?payment_ev(PID, ?chargeback_ev(CBID, ?chargeback_clock_update(Clock0))) + ] = next_event(IID, Client), + Settlement0 = hg_accounting_new:get_balance(SID, Clock0), RejectParams = make_chargeback_reject_params(Levy), ok = hg_client_invoicing:reject_chargeback(IID, PID, CBID, RejectParams, Client), [ @@ -3481,9 +3645,13 @@ reopen_payment_chargeback_arbitration_reopen_fails(C) -> ?payment_ev(PID, ?chargeback_ev(CBID, ?chargeback_cash_flow_changed(_))) ] = next_event(IID, Client), [ + ?payment_ev(PID, ?chargeback_ev(CBID, ?chargeback_clock_update(_))) + ] = next_event(IID, Client), + [ + ?payment_ev(PID, ?chargeback_ev(CBID, ?chargeback_clock_update(Clock1))), ?payment_ev(PID, ?chargeback_ev(CBID, ?chargeback_status_changed(?chargeback_status_rejected()))) ] = next_event(IID, Client), - Settlement1 = hg_ct_helper:get_balance(SID), + Settlement1 = hg_accounting_new:get_balance(SID, Clock1), ReopenParams = make_chargeback_reopen_params(ReopenLevy), ok = hg_client_invoicing:reopen_chargeback(IID, PID, CBID, ReopenParams, Client), [ @@ -3495,9 +3663,13 @@ reopen_payment_chargeback_arbitration_reopen_fails(C) -> ?payment_ev(PID, ?chargeback_ev(CBID, ?chargeback_cash_flow_changed(_))) ] = next_event(IID, Client), [ + ?payment_ev(PID, ?chargeback_ev(CBID, ?chargeback_clock_update(_))) + ] = next_event(IID, Client), + [ + ?payment_ev(PID, ?chargeback_ev(CBID, ?chargeback_clock_update(Clock2))), ?payment_ev(PID, ?chargeback_ev(CBID, ?chargeback_status_changed(?chargeback_status_pending()))) ] = next_event(IID, Client), - Settlement2 = hg_ct_helper:get_balance(SID), + Settlement2 = hg_accounting_new:get_balance(SID, Clock2), ok = hg_client_invoicing:reject_chargeback(IID, PID, CBID, RejectParams, Client), [ ?payment_ev(PID, ?chargeback_ev(CBID, ?chargeback_levy_changed(_))), @@ -3507,9 +3679,13 @@ reopen_payment_chargeback_arbitration_reopen_fails(C) -> ?payment_ev(PID, ?chargeback_ev(CBID, ?chargeback_cash_flow_changed(_))) ] = next_event(IID, Client), [ + ?payment_ev(PID, ?chargeback_ev(CBID, ?chargeback_clock_update(_))) + ] = next_event(IID, Client), + [ + ?payment_ev(PID, ?chargeback_ev(CBID, ?chargeback_clock_update(Clock3))), ?payment_ev(PID, ?chargeback_ev(CBID, ?chargeback_status_changed(?chargeback_status_rejected()))) ] = next_event(IID, Client), - Settlement3 = hg_ct_helper:get_balance(SID), + Settlement3 = hg_accounting_new:get_balance(SID, Clock3), ReopenArbParams = make_chargeback_reopen_params(ReopenArbLevy), ok = hg_client_invoicing:reopen_chargeback(IID, PID, CBID, ReopenArbParams, Client), [ @@ -3521,9 +3697,13 @@ reopen_payment_chargeback_arbitration_reopen_fails(C) -> ?payment_ev(PID, ?chargeback_ev(CBID, ?chargeback_cash_flow_changed(_))) ] = next_event(IID, Client), [ + ?payment_ev(PID, ?chargeback_ev(CBID, ?chargeback_clock_update(_))) + ] = next_event(IID, Client), + [ + ?payment_ev(PID, ?chargeback_ev(CBID, ?chargeback_clock_update(Clock4))), ?payment_ev(PID, ?chargeback_ev(CBID, ?chargeback_status_changed(?chargeback_status_pending()))) ] = next_event(IID, Client), - Settlement4 = hg_ct_helper:get_balance(SID), + Settlement4 = hg_accounting_new:get_balance(SID, Clock4), ok = hg_client_invoicing:reject_chargeback(IID, PID, CBID, RejectParams, Client), [ ?payment_ev(PID, ?chargeback_ev(CBID, ?chargeback_levy_changed(_))), @@ -3533,9 +3713,13 @@ reopen_payment_chargeback_arbitration_reopen_fails(C) -> ?payment_ev(PID, ?chargeback_ev(CBID, ?chargeback_cash_flow_changed(_))) ] = next_event(IID, Client), [ + ?payment_ev(PID, ?chargeback_ev(CBID, ?chargeback_clock_update(_))) + ] = next_event(IID, Client), + [ + ?payment_ev(PID, ?chargeback_ev(CBID, ?chargeback_clock_update(Clock5))), ?payment_ev(PID, ?chargeback_ev(CBID, ?chargeback_status_changed(?chargeback_status_rejected()))) ] = next_event(IID, Client), - Settlement5 = hg_ct_helper:get_balance(SID), + Settlement5 = hg_accounting_new:get_balance(SID, Clock5), Error = hg_client_invoicing:reopen_chargeback(IID, PID, CBID, ReopenArbParams, Client), ?assertEqual(Paid - Cost - LevyAmount, maps:get(min_available_amount, Settlement0)), ?assertEqual(Paid, maps:get(max_available_amount, Settlement0)), @@ -3564,13 +3748,25 @@ start_chargeback(C, Cost, CBParams, PaymentParams) -> Shop = maps:get(ShopID, Party#domain_Party.shops), Account = Shop#domain_Shop.account, SettlementID = Account#domain_ShopAccount.settlement, - Settlement0 = hg_ct_helper:get_balance(SettlementID), % 0.045 Fee = 1890, - ?assertEqual(0, maps:get(min_available_amount, Settlement0)), InvoiceID = start_invoice(ShopID, <<"rubberduck">>, make_due_date(10), Cost, C), - PaymentID = execute_payment(InvoiceID, PaymentParams, Client), - Settlement1 = hg_ct_helper:get_balance(SettlementID), + ?payment_state(?payment(PaymentID)) = hg_client_invoicing:start_payment(InvoiceID, PaymentParams, Client), + [ + ?payment_ev(PaymentID, ?payment_started(?payment_w_status(?pending()))) + ] = next_event(InvoiceID, Client), + [ + ?payment_ev(PaymentID, ?risk_score_changed(_)), + ?payment_ev(PaymentID, ?route_changed(_)) + ] = next_event(InvoiceID, Client), + [ + ?payment_ev(PaymentID, ?cash_flow_changed(_)), + ?payment_ev(PaymentID, ?payment_clock_update(Clock0)) + ] = next_event(InvoiceID, Client), + PaymentID = await_payment_session_started(InvoiceID, PaymentID, Client, ?processed()), + PaymentID = await_payment_process_finish(InvoiceID, PaymentID, Client, 0), + PaymentID = await_payment_capture(InvoiceID, PaymentID, Client), + Settlement1 = hg_accounting_new:get_balance(SettlementID, Clock0), ?assertEqual(Cost - Fee, maps:get(min_available_amount, Settlement1)), Chargeback = hg_client_invoicing:create_chargeback(InvoiceID, PaymentID, CBParams, Client), {InvoiceID, PaymentID, SettlementID, Chargeback}. @@ -3584,9 +3780,7 @@ start_chargeback_partial_capture(C, Cost, Partial, CBParams) -> Shop = maps:get(ShopID, Party#domain_Party.shops), Account = Shop#domain_Shop.account, SettlementID = Account#domain_ShopAccount.settlement, - Settlement0 = hg_ct_helper:get_balance(SettlementID), % Fee = 450, % 0.045 - ?assertEqual(0, maps:get(min_available_amount, Settlement0)), InvoiceID = start_invoice(ShopID, <<"rubberduck">>, make_due_date(10), Cost, C), {PaymentTool, Session} = hg_dummy_provider:make_payment_tool(no_preauth_mc), PaymentParams = make_payment_params(PaymentTool, Session, {hold, cancel}), @@ -5497,6 +5691,9 @@ execute_payment_chargeback(InvoiceID, PaymentID, Params, Client) -> ] = next_event(InvoiceID, Client), AcceptParams = make_chargeback_accept_params(), ok = hg_client_invoicing:accept_chargeback(InvoiceID, PaymentID, ChargebackID, AcceptParams, Client), + [ + ?payment_ev(PaymentID, ?chargeback_ev(ChargebackID, ?chargeback_clock_update(_))) + ] = next_event(InvoiceID, Client), [ ?payment_ev( PaymentID, @@ -5504,6 +5701,7 @@ execute_payment_chargeback(InvoiceID, PaymentID, Params, Client) -> ) ] = next_event(InvoiceID, Client), [ + ?payment_ev(PaymentID, ?chargeback_ev(ChargebackID, ?chargeback_clock_update(_))), ?payment_ev(PaymentID, ?chargeback_ev(ChargebackID, ?chargeback_status_changed(?chargeback_status_accepted()))), ?payment_ev(PaymentID, ?payment_status_changed(?charged_back())) ] = next_event(InvoiceID, Client), From fd1ec4ee1d91f04e8bd9cc0893998dfdeaccdf35 Mon Sep 17 00:00:00 2001 From: Kehitt Date: Tue, 13 Jul 2021 20:21:26 +0300 Subject: [PATCH 15/35] drop specific clock --- apps/hellgate/test/hg_invoice_tests_SUITE.erl | 18 ++---------------- 1 file changed, 2 insertions(+), 16 deletions(-) diff --git a/apps/hellgate/test/hg_invoice_tests_SUITE.erl b/apps/hellgate/test/hg_invoice_tests_SUITE.erl index 6550d5d49..035d6c631 100644 --- a/apps/hellgate/test/hg_invoice_tests_SUITE.erl +++ b/apps/hellgate/test/hg_invoice_tests_SUITE.erl @@ -3751,22 +3751,8 @@ start_chargeback(C, Cost, CBParams, PaymentParams) -> % 0.045 Fee = 1890, InvoiceID = start_invoice(ShopID, <<"rubberduck">>, make_due_date(10), Cost, C), - ?payment_state(?payment(PaymentID)) = hg_client_invoicing:start_payment(InvoiceID, PaymentParams, Client), - [ - ?payment_ev(PaymentID, ?payment_started(?payment_w_status(?pending()))) - ] = next_event(InvoiceID, Client), - [ - ?payment_ev(PaymentID, ?risk_score_changed(_)), - ?payment_ev(PaymentID, ?route_changed(_)) - ] = next_event(InvoiceID, Client), - [ - ?payment_ev(PaymentID, ?cash_flow_changed(_)), - ?payment_ev(PaymentID, ?payment_clock_update(Clock0)) - ] = next_event(InvoiceID, Client), - PaymentID = await_payment_session_started(InvoiceID, PaymentID, Client, ?processed()), - PaymentID = await_payment_process_finish(InvoiceID, PaymentID, Client, 0), - PaymentID = await_payment_capture(InvoiceID, PaymentID, Client), - Settlement1 = hg_accounting_new:get_balance(SettlementID, Clock0), + PaymentID = execute_payment(InvoiceID, PaymentParams, Client), + Settlement1 = hg_accounting_new:get_balance(SettlementID), ?assertEqual(Cost - Fee, maps:get(min_available_amount, Settlement1)), Chargeback = hg_client_invoicing:create_chargeback(InvoiceID, PaymentID, CBParams, Client), {InvoiceID, PaymentID, SettlementID, Chargeback}. From a45348eccd36b9c4d99e4e72024a9851122cff1b Mon Sep 17 00:00:00 2001 From: Kehitt Date: Wed, 14 Jul 2021 18:32:44 +0300 Subject: [PATCH 16/35] some, but still not all, fixes for tests --- apps/hellgate/test/hg_invoice_tests_SUITE.erl | 29 +++++++------------ 1 file changed, 10 insertions(+), 19 deletions(-) diff --git a/apps/hellgate/test/hg_invoice_tests_SUITE.erl b/apps/hellgate/test/hg_invoice_tests_SUITE.erl index 9a7f40c1a..110ae2ff7 100644 --- a/apps/hellgate/test/hg_invoice_tests_SUITE.erl +++ b/apps/hellgate/test/hg_invoice_tests_SUITE.erl @@ -3142,10 +3142,9 @@ reopen_payment_chargeback_cancel(C) -> ?payment_ev(PID, ?chargeback_ev(CBID, ?chargeback_cash_flow_changed(_))) ] = next_event(IID, Client), [ - ?payment_ev(PID, ?chargeback_ev(CBID, ?chargeback_clock_update(_))) + ?payment_ev(PID, ?chargeback_ev(CBID, ?chargeback_clock_update(Clock2))) ] = next_event(IID, Client), [ - ?payment_ev(PID, ?chargeback_ev(CBID, ?chargeback_clock_update(Clock2))), ?payment_ev(PID, ?chargeback_ev(CBID, ?chargeback_status_changed(?chargeback_status_pending()))) ] = next_event(IID, Client), Settlement2 = hg_accounting_new:get_balance(SID, Clock2), @@ -3224,10 +3223,9 @@ reopen_payment_chargeback_reject(C) -> ?payment_ev(PID, ?chargeback_ev(CBID, ?chargeback_cash_flow_changed(_))) ] = next_event(IID, Client), [ - ?payment_ev(PID, ?chargeback_ev(CBID, ?chargeback_clock_update(_))) + ?payment_ev(PID, ?chargeback_ev(CBID, ?chargeback_clock_update(Clock2))) ] = next_event(IID, Client), [ - ?payment_ev(PID, ?chargeback_ev(CBID, ?chargeback_clock_update(Clock2))), ?payment_ev(PID, ?chargeback_ev(CBID, ?chargeback_status_changed(?chargeback_status_pending()))) ] = next_event(IID, Client), Settlement2 = hg_accounting_new:get_balance(SID, Clock2), @@ -3306,10 +3304,9 @@ reopen_payment_chargeback_accept(C) -> ?payment_ev(PID, ?chargeback_ev(CBID, ?chargeback_cash_flow_changed(_))) ] = next_event(IID, Client), [ - ?payment_ev(PID, ?chargeback_ev(CBID, ?chargeback_clock_update(_))) + ?payment_ev(PID, ?chargeback_ev(CBID, ?chargeback_clock_update(Clock2))) ] = next_event(IID, Client), [ - ?payment_ev(PID, ?chargeback_ev(CBID, ?chargeback_clock_update(Clock2))), ?payment_ev(PID, ?chargeback_ev(CBID, ?chargeback_status_changed(?chargeback_status_pending()))) ] = next_event(IID, Client), Settlement2 = hg_accounting_new:get_balance(SID, Clock2), @@ -3384,10 +3381,9 @@ reopen_payment_chargeback_skip_stage_accept(C) -> ?payment_ev(PID, ?chargeback_ev(CBID, ?chargeback_cash_flow_changed(_))) ] = next_event(IID, Client), [ - ?payment_ev(PID, ?chargeback_ev(CBID, ?chargeback_clock_update(_))) + ?payment_ev(PID, ?chargeback_ev(CBID, ?chargeback_clock_update(Clock2))) ] = next_event(IID, Client), [ - ?payment_ev(PID, ?chargeback_ev(CBID, ?chargeback_clock_update(Clock2))), ?payment_ev(PID, ?chargeback_ev(CBID, ?chargeback_status_changed(?chargeback_status_pending()))) ] = next_event(IID, Client), Settlement2 = hg_accounting_new:get_balance(SID, Clock2), @@ -3464,10 +3460,9 @@ reopen_payment_chargeback_accept_new_levy(C) -> ?payment_ev(PID, ?chargeback_ev(CBID, ?chargeback_cash_flow_changed(_))) ] = next_event(IID, Client), [ - ?payment_ev(PID, ?chargeback_ev(CBID, ?chargeback_clock_update(_))) + ?payment_ev(PID, ?chargeback_ev(CBID, ?chargeback_clock_update(Clock2))) ] = next_event(IID, Client), [ - ?payment_ev(PID, ?chargeback_ev(CBID, ?chargeback_clock_update(Clock2))), ?payment_ev(PID, ?chargeback_ev(CBID, ?chargeback_status_changed(?chargeback_status_pending()))) ] = next_event(IID, Client), Settlement2 = hg_accounting_new:get_balance(SID, Clock2), @@ -3550,10 +3545,9 @@ reopen_payment_chargeback_arbitration(C) -> ?payment_ev(PID, ?chargeback_ev(CBID, ?chargeback_cash_flow_changed(_))) ] = next_event(IID, Client), [ - ?payment_ev(PID, ?chargeback_ev(CBID, ?chargeback_clock_update(_))) + ?payment_ev(PID, ?chargeback_ev(CBID, ?chargeback_clock_update(Clock2))) ] = next_event(IID, Client), [ - ?payment_ev(PID, ?chargeback_ev(CBID, ?chargeback_clock_update(Clock2))), ?payment_ev(PID, ?chargeback_ev(CBID, ?chargeback_status_changed(?chargeback_status_pending()))) ] = next_event(IID, Client), Settlement2 = hg_accounting_new:get_balance(SID, Clock2), @@ -3584,10 +3578,9 @@ reopen_payment_chargeback_arbitration(C) -> ?payment_ev(PID, ?chargeback_ev(CBID, ?chargeback_cash_flow_changed(_))) ] = next_event(IID, Client), [ - ?payment_ev(PID, ?chargeback_ev(CBID, ?chargeback_clock_update(_))) + ?payment_ev(PID, ?chargeback_ev(CBID, ?chargeback_clock_update(Clock4))) ] = next_event(IID, Client), [ - ?payment_ev(PID, ?chargeback_ev(CBID, ?chargeback_clock_update(Clock4))), ?payment_ev(PID, ?chargeback_ev(CBID, ?chargeback_status_changed(?chargeback_status_pending()))) ] = next_event(IID, Client), Settlement4 = hg_accounting_new:get_balance(SID, Clock4), @@ -3667,10 +3660,9 @@ reopen_payment_chargeback_arbitration_reopen_fails(C) -> ?payment_ev(PID, ?chargeback_ev(CBID, ?chargeback_cash_flow_changed(_))) ] = next_event(IID, Client), [ - ?payment_ev(PID, ?chargeback_ev(CBID, ?chargeback_clock_update(_))) + ?payment_ev(PID, ?chargeback_ev(CBID, ?chargeback_clock_update(Clock2))) ] = next_event(IID, Client), [ - ?payment_ev(PID, ?chargeback_ev(CBID, ?chargeback_clock_update(Clock2))), ?payment_ev(PID, ?chargeback_ev(CBID, ?chargeback_status_changed(?chargeback_status_pending()))) ] = next_event(IID, Client), Settlement2 = hg_accounting_new:get_balance(SID, Clock2), @@ -3701,10 +3693,9 @@ reopen_payment_chargeback_arbitration_reopen_fails(C) -> ?payment_ev(PID, ?chargeback_ev(CBID, ?chargeback_cash_flow_changed(_))) ] = next_event(IID, Client), [ - ?payment_ev(PID, ?chargeback_ev(CBID, ?chargeback_clock_update(_))) + ?payment_ev(PID, ?chargeback_ev(CBID, ?chargeback_clock_update(Clock4))) ] = next_event(IID, Client), [ - ?payment_ev(PID, ?chargeback_ev(CBID, ?chargeback_clock_update(Clock4))), ?payment_ev(PID, ?chargeback_ev(CBID, ?chargeback_status_changed(?chargeback_status_pending()))) ] = next_event(IID, Client), Settlement4 = hg_accounting_new:get_balance(SID, Clock4), @@ -3757,7 +3748,7 @@ start_chargeback(C, Cost, CBParams, PaymentParams) -> InvoiceID = start_invoice(ShopID, <<"rubberduck">>, make_due_date(10), Cost, C), PaymentID = execute_payment(InvoiceID, PaymentParams, Client), Settlement1 = hg_accounting_new:get_balance(SettlementID), - ?assertEqual(Cost - Fee, maps:get(min_available_amount, Settlement1)), + ?assertEqual(-Fee, maps:get(min_available_amount, Settlement1)), Chargeback = hg_client_invoicing:create_chargeback(InvoiceID, PaymentID, CBParams, Client), {InvoiceID, PaymentID, SettlementID, Chargeback}. From a717600f87d45ae13cfccf3913e50ecadb3bc1fb Mon Sep 17 00:00:00 2001 From: Kehitt Date: Wed, 14 Jul 2021 18:48:47 +0300 Subject: [PATCH 17/35] fix balance min_value --- apps/hellgate/test/hg_invoice_tests_SUITE.erl | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/apps/hellgate/test/hg_invoice_tests_SUITE.erl b/apps/hellgate/test/hg_invoice_tests_SUITE.erl index 110ae2ff7..06ddee81e 100644 --- a/apps/hellgate/test/hg_invoice_tests_SUITE.erl +++ b/apps/hellgate/test/hg_invoice_tests_SUITE.erl @@ -3748,7 +3748,7 @@ start_chargeback(C, Cost, CBParams, PaymentParams) -> InvoiceID = start_invoice(ShopID, <<"rubberduck">>, make_due_date(10), Cost, C), PaymentID = execute_payment(InvoiceID, PaymentParams, Client), Settlement1 = hg_accounting_new:get_balance(SettlementID), - ?assertEqual(-Fee, maps:get(min_available_amount, Settlement1)), + ?assertEqual(Cost - Fee, maps:get(min_available_amount, Settlement1)), Chargeback = hg_client_invoicing:create_chargeback(InvoiceID, PaymentID, CBParams, Client), {InvoiceID, PaymentID, SettlementID, Chargeback}. From 6a975bc2142b043961e31560e5bfe9fbe26e3c0c Mon Sep 17 00:00:00 2001 From: Kehitt Date: Wed, 14 Jul 2021 19:17:17 +0300 Subject: [PATCH 18/35] pass clock to get_balance for chargeback --- apps/hellgate/test/hg_invoice_tests_SUITE.erl | 16 ++++++++++++++-- 1 file changed, 14 insertions(+), 2 deletions(-) diff --git a/apps/hellgate/test/hg_invoice_tests_SUITE.erl b/apps/hellgate/test/hg_invoice_tests_SUITE.erl index 06ddee81e..672b6a19b 100644 --- a/apps/hellgate/test/hg_invoice_tests_SUITE.erl +++ b/apps/hellgate/test/hg_invoice_tests_SUITE.erl @@ -3746,8 +3746,20 @@ start_chargeback(C, Cost, CBParams, PaymentParams) -> % 0.045 Fee = 1890, InvoiceID = start_invoice(ShopID, <<"rubberduck">>, make_due_date(10), Cost, C), - PaymentID = execute_payment(InvoiceID, PaymentParams, Client), - Settlement1 = hg_accounting_new:get_balance(SettlementID), + PaymentID = process_payment(InvoiceID, PaymentParams, Client), + [ + ?payment_ev(PaymentID, ?payment_capture_started(Reason, Cost, _)), + ?payment_ev(PaymentID, ?session_ev(?captured(Reason, Cost), ?session_started())) + ] = next_event(InvoiceID, Client), + [ + ?payment_ev(PaymentID, ?session_ev(Target, ?session_finished(?session_succeeded()))) + ] = next_event(InvoiceID, Client), + [ + ?payment_ev(PaymentID, ?payment_clock_update(Clock)), + ?payment_ev(PaymentID, ?payment_status_changed(Target)), + ?invoice_status_changed(?invoice_paid()) + ] = next_event(InvoiceID, Client), + Settlement1 = hg_accounting_new:get_balance(SettlementID, Clock), ?assertEqual(Cost - Fee, maps:get(min_available_amount, Settlement1)), Chargeback = hg_client_invoicing:create_chargeback(InvoiceID, PaymentID, CBParams, Client), {InvoiceID, PaymentID, SettlementID, Chargeback}. From 9f38487d3c8b47ff0eb8c065b13c9af07e502192 Mon Sep 17 00:00:00 2001 From: Kehitt Date: Wed, 14 Jul 2021 19:29:56 +0300 Subject: [PATCH 19/35] fix match --- apps/hellgate/test/hg_invoice_tests_SUITE.erl | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/apps/hellgate/test/hg_invoice_tests_SUITE.erl b/apps/hellgate/test/hg_invoice_tests_SUITE.erl index 672b6a19b..00b5ed948 100644 --- a/apps/hellgate/test/hg_invoice_tests_SUITE.erl +++ b/apps/hellgate/test/hg_invoice_tests_SUITE.erl @@ -3748,8 +3748,8 @@ start_chargeback(C, Cost, CBParams, PaymentParams) -> InvoiceID = start_invoice(ShopID, <<"rubberduck">>, make_due_date(10), Cost, C), PaymentID = process_payment(InvoiceID, PaymentParams, Client), [ - ?payment_ev(PaymentID, ?payment_capture_started(Reason, Cost, _)), - ?payment_ev(PaymentID, ?session_ev(?captured(Reason, Cost), ?session_started())) + ?payment_ev(PaymentID, ?payment_capture_started(Reason, Cash, _)), + ?payment_ev(PaymentID, ?session_ev(?captured(Reason, Cash), ?session_started())) ] = next_event(InvoiceID, Client), [ ?payment_ev(PaymentID, ?session_ev(Target, ?session_finished(?session_succeeded()))) From 8a710aa721452f6ae7b7c27cf84d0bcd6c12c159 Mon Sep 17 00:00:00 2001 From: Kehitt Date: Wed, 14 Jul 2021 21:40:55 +0300 Subject: [PATCH 20/35] fix balance checks --- apps/hellgate/test/hg_invoice_tests_SUITE.erl | 40 +++++++++---------- 1 file changed, 20 insertions(+), 20 deletions(-) diff --git a/apps/hellgate/test/hg_invoice_tests_SUITE.erl b/apps/hellgate/test/hg_invoice_tests_SUITE.erl index 00b5ed948..cb774b8ae 100644 --- a/apps/hellgate/test/hg_invoice_tests_SUITE.erl +++ b/apps/hellgate/test/hg_invoice_tests_SUITE.erl @@ -2871,7 +2871,7 @@ accept_payment_chargeback_twice(C) -> ?payment_ev(PID, ?chargeback_ev(CBID2, ?chargeback_cash_flow_changed(_))) ] = next_event(IID, Client), [ - ?payment_ev(PID, ?chargeback_ev(CBID, ?chargeback_clock_update(Clock2))) + ?payment_ev(PID, ?chargeback_ev(CBID2, ?chargeback_clock_update(Clock2))) ] = next_event(IID, Client), Settlement2 = hg_accounting_new:get_balance(SID, Clock2), AcceptParams = make_chargeback_accept_params(), @@ -2880,7 +2880,7 @@ accept_payment_chargeback_twice(C) -> ?payment_ev(PID, ?chargeback_ev(CBID2, ?chargeback_target_status_changed(?chargeback_status_accepted()))) ] = next_event(IID, Client), [ - ?payment_ev(PID, ?chargeback_ev(CBID, ?chargeback_clock_update(Clock3))), + ?payment_ev(PID, ?chargeback_ev(CBID2, ?chargeback_clock_update(Clock3))), ?payment_ev(PID, ?chargeback_ev(CBID2, ?chargeback_status_changed(?chargeback_status_accepted()))), ?payment_ev(PID, ?payment_status_changed(?charged_back())) ] = next_event(IID, Client), @@ -3168,8 +3168,8 @@ reopen_payment_chargeback_cancel(C) -> ?assertEqual(Paid, maps:get(max_available_amount, Settlement0)), ?assertEqual(Paid - LevyAmount, maps:get(min_available_amount, Settlement1)), ?assertEqual(Paid - LevyAmount, maps:get(max_available_amount, Settlement1)), - ?assertEqual(Paid - Cost - ReopenLevyAmount, maps:get(min_available_amount, Settlement2)), - ?assertEqual(Paid - LevyAmount, maps:get(max_available_amount, Settlement2)), + ?assertEqual(Paid - Cost - ReopenLevyAmount - LevyAmount, maps:get(min_available_amount, Settlement2)), + ?assertEqual(Paid, maps:get(max_available_amount, Settlement2)), ?assertEqual(Paid, maps:get(min_available_amount, Settlement3)), ?assertEqual(Paid, maps:get(max_available_amount, Settlement3)). @@ -3249,8 +3249,8 @@ reopen_payment_chargeback_reject(C) -> ?assertEqual(Paid, maps:get(max_available_amount, Settlement0)), ?assertEqual(Paid - LevyAmount, maps:get(min_available_amount, Settlement1)), ?assertEqual(Paid - LevyAmount, maps:get(max_available_amount, Settlement1)), - ?assertEqual(Paid - Cost - ReopenLevyAmount, maps:get(min_available_amount, Settlement2)), - ?assertEqual(Paid - LevyAmount, maps:get(max_available_amount, Settlement2)), + ?assertEqual(Paid - Cost - ReopenLevyAmount - LevyAmount, maps:get(min_available_amount, Settlement2)), + ?assertEqual(Paid, maps:get(max_available_amount, Settlement2)), ?assertEqual(Paid - LevyAmount, maps:get(min_available_amount, Settlement3)), ?assertEqual(Paid - LevyAmount, maps:get(max_available_amount, Settlement3)). @@ -3325,8 +3325,8 @@ reopen_payment_chargeback_accept(C) -> ?assertEqual(Paid, maps:get(max_available_amount, Settlement0)), ?assertEqual(Paid - LevyAmount, maps:get(min_available_amount, Settlement1)), ?assertEqual(Paid - LevyAmount, maps:get(max_available_amount, Settlement1)), - ?assertEqual(Paid - Cost - ReopenLevyAmount, maps:get(min_available_amount, Settlement2)), - ?assertEqual(Paid - LevyAmount, maps:get(max_available_amount, Settlement2)), + ?assertEqual(Paid - Cost - ReopenLevyAmount - LevyAmount, maps:get(min_available_amount, Settlement2)), + ?assertEqual(Paid, maps:get(max_available_amount, Settlement2)), ?assertEqual(Paid - Cost - ReopenLevyAmount, maps:get(min_available_amount, Settlement3)), ?assertEqual(Paid - Cost - ReopenLevyAmount, maps:get(max_available_amount, Settlement3)). @@ -3402,8 +3402,8 @@ reopen_payment_chargeback_skip_stage_accept(C) -> ?assertEqual(Paid, maps:get(max_available_amount, Settlement0)), ?assertEqual(Paid - LevyAmount, maps:get(min_available_amount, Settlement1)), ?assertEqual(Paid - LevyAmount, maps:get(max_available_amount, Settlement1)), - ?assertEqual(Paid - Cost - ReopenLevyAmount, maps:get(min_available_amount, Settlement2)), - ?assertEqual(Paid - LevyAmount, maps:get(max_available_amount, Settlement2)), + ?assertEqual(Paid - Cost - ReopenLevyAmount - LevyAmount, maps:get(min_available_amount, Settlement2)), + ?assertEqual(Paid, maps:get(max_available_amount, Settlement2)), ?assertEqual(Paid - Cost - ReopenLevyAmount, maps:get(min_available_amount, Settlement3)), ?assertEqual(Paid - Cost - ReopenLevyAmount, maps:get(max_available_amount, Settlement3)). @@ -3488,8 +3488,8 @@ reopen_payment_chargeback_accept_new_levy(C) -> ?assertEqual(Paid, maps:get(max_available_amount, Settlement0)), ?assertEqual(Paid - LevyAmount, maps:get(min_available_amount, Settlement1)), ?assertEqual(Paid - LevyAmount, maps:get(max_available_amount, Settlement1)), - ?assertEqual(Paid - Cost - ReopenLevyAmount, maps:get(min_available_amount, Settlement2)), - ?assertEqual(Paid - LevyAmount, maps:get(max_available_amount, Settlement2)), + ?assertEqual(Paid - Cost - ReopenLevyAmount - LevyAmount, maps:get(min_available_amount, Settlement2)), + ?assertEqual(Paid, maps:get(max_available_amount, Settlement2)), ?assertEqual(Paid - Cost - AcceptLevyAmount, maps:get(min_available_amount, Settlement3)), ?assertEqual(Paid - Cost - AcceptLevyAmount, maps:get(max_available_amount, Settlement3)). @@ -3599,12 +3599,12 @@ reopen_payment_chargeback_arbitration(C) -> ?assertEqual(Paid, maps:get(max_available_amount, Settlement0)), ?assertEqual(Paid - LevyAmount, maps:get(min_available_amount, Settlement1)), ?assertEqual(Paid - LevyAmount, maps:get(max_available_amount, Settlement1)), - ?assertEqual(Paid - Cost - ReopenLevyAmount, maps:get(min_available_amount, Settlement2)), - ?assertEqual(Paid - LevyAmount, maps:get(max_available_amount, Settlement2)), + ?assertEqual(Paid - Cost - ReopenLevyAmount - LevyAmount, maps:get(min_available_amount, Settlement2)), + ?assertEqual(Paid, maps:get(max_available_amount, Settlement2)), ?assertEqual(Paid - LevyAmount, maps:get(min_available_amount, Settlement3)), ?assertEqual(Paid - LevyAmount, maps:get(max_available_amount, Settlement3)), - ?assertEqual(Paid - Cost - ReopenArbAmount, maps:get(min_available_amount, Settlement4)), - ?assertEqual(Paid - LevyAmount, maps:get(max_available_amount, Settlement4)), + ?assertEqual(Paid - Cost - ReopenArbAmount - LevyAmount, maps:get(min_available_amount, Settlement4)), + ?assertEqual(Paid, maps:get(max_available_amount, Settlement4)), ?assertEqual(Paid - Cost - ReopenArbAmount, maps:get(min_available_amount, Settlement5)), ?assertEqual(Paid - Cost - ReopenArbAmount, maps:get(max_available_amount, Settlement5)). @@ -3720,12 +3720,12 @@ reopen_payment_chargeback_arbitration_reopen_fails(C) -> ?assertEqual(Paid, maps:get(max_available_amount, Settlement0)), ?assertEqual(Paid - LevyAmount, maps:get(min_available_amount, Settlement1)), ?assertEqual(Paid - LevyAmount, maps:get(max_available_amount, Settlement1)), - ?assertEqual(Paid - Cost - ReopenLevyAmount, maps:get(min_available_amount, Settlement2)), - ?assertEqual(Paid - LevyAmount, maps:get(max_available_amount, Settlement2)), + ?assertEqual(Paid - Cost - ReopenLevyAmount - LevyAmount, maps:get(min_available_amount, Settlement2)), + ?assertEqual(Paid, maps:get(max_available_amount, Settlement2)), ?assertEqual(Paid - LevyAmount, maps:get(min_available_amount, Settlement3)), ?assertEqual(Paid - LevyAmount, maps:get(max_available_amount, Settlement3)), - ?assertEqual(Paid - Cost - ReopenArbAmount, maps:get(min_available_amount, Settlement4)), - ?assertEqual(Paid - LevyAmount, maps:get(max_available_amount, Settlement4)), + ?assertEqual(Paid - Cost - ReopenArbAmount - LevyAmount, maps:get(min_available_amount, Settlement4)), + ?assertEqual(Paid, maps:get(max_available_amount, Settlement4)), ?assertEqual(Paid - LevyAmount, maps:get(min_available_amount, Settlement5)), ?assertEqual(Paid - LevyAmount, maps:get(max_available_amount, Settlement5)), ?assertMatch(?chargeback_cannot_reopen_arbitration(), Error). From cf718d56ce70bdb7400345b5963404c4e1438ee7 Mon Sep 17 00:00:00 2001 From: Kehitt Date: Thu, 15 Jul 2021 19:01:19 +0300 Subject: [PATCH 21/35] boost timeout values --- apps/hellgate/test/hg_invoice_tests_SUITE.erl | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/apps/hellgate/test/hg_invoice_tests_SUITE.erl b/apps/hellgate/test/hg_invoice_tests_SUITE.erl index cb774b8ae..bb5f94aad 100644 --- a/apps/hellgate/test/hg_invoice_tests_SUITE.erl +++ b/apps/hellgate/test/hg_invoice_tests_SUITE.erl @@ -4945,7 +4945,10 @@ consistent_account_balance_new(AccountID, Comment) -> next_event(InvoiceID, Client) -> %% timeout should be at least as large as hold expiration in construct_domain_fixture/0 - next_event(InvoiceID, 12000, Client). + %% next_event(InvoiceID, 12000, Client). + %% FIXME: The shumaich+shumway combo employed here is considerably slower at processing payments (up to +3 seconds) + %% Change this value back to original when the migraton is completed + next_event(InvoiceID, 20000, Client). next_event(InvoiceID, Timeout, Client) -> case hg_client_invoicing:pull_event(InvoiceID, Timeout, Client) of @@ -6601,7 +6604,10 @@ construct_domain_fixture() -> {bank_card, #domain_BankCardCondition{ definition = {payment_system_is, visa} }}}}, - then_ = {value, ?hold_lifetime(12)} + %% FIXME: The shumaich+shumway combo employed here is considerably slower at processing payments (up to +3 seconds) + %% Change this value back to original when the migraton is completed + % then_ = {value, ?hold_lifetime(12)} + then_ = {value, ?hold_lifetime(20)} } ]} }, From a391675c1d7060ff8acfe139c195ceaa8f847a84 Mon Sep 17 00:00:00 2001 From: Kehitt Date: Thu, 15 Jul 2021 19:18:22 +0300 Subject: [PATCH 22/35] fix lint --- apps/hellgate/test/hg_invoice_tests_SUITE.erl | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/apps/hellgate/test/hg_invoice_tests_SUITE.erl b/apps/hellgate/test/hg_invoice_tests_SUITE.erl index bb5f94aad..51bbb1d30 100644 --- a/apps/hellgate/test/hg_invoice_tests_SUITE.erl +++ b/apps/hellgate/test/hg_invoice_tests_SUITE.erl @@ -6604,8 +6604,9 @@ construct_domain_fixture() -> {bank_card, #domain_BankCardCondition{ definition = {payment_system_is, visa} }}}}, - %% FIXME: The shumaich+shumway combo employed here is considerably slower at processing payments (up to +3 seconds) - %% Change this value back to original when the migraton is completed + %% FIXME: The shumaich+shumway combo employed here is considerably slower + %% at processing payments (up to +3 seconds). Change this value back to + %% original when the migraton is completed % then_ = {value, ?hold_lifetime(12)} then_ = {value, ?hold_lifetime(20)} } From 8c5a95f5bf7d186bf2f21a8a1612a0072dc144b5 Mon Sep 17 00:00:00 2001 From: Kehitt Date: Thu, 15 Jul 2021 20:00:15 +0300 Subject: [PATCH 23/35] fix hold_lifetime --- apps/hellgate/test/hg_invoice_tests_SUITE.erl | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/apps/hellgate/test/hg_invoice_tests_SUITE.erl b/apps/hellgate/test/hg_invoice_tests_SUITE.erl index 51bbb1d30..e061fd207 100644 --- a/apps/hellgate/test/hg_invoice_tests_SUITE.erl +++ b/apps/hellgate/test/hg_invoice_tests_SUITE.erl @@ -6604,11 +6604,7 @@ construct_domain_fixture() -> {bank_card, #domain_BankCardCondition{ definition = {payment_system_is, visa} }}}}, - %% FIXME: The shumaich+shumway combo employed here is considerably slower - %% at processing payments (up to +3 seconds). Change this value back to - %% original when the migraton is completed - % then_ = {value, ?hold_lifetime(12)} - then_ = {value, ?hold_lifetime(20)} + then_ = {value, ?hold_lifetime(12)} } ]} }, @@ -6727,7 +6723,11 @@ construct_domain_fixture() -> {bank_card, #domain_BankCardCondition{ definition = {payment_system_is, visa} }}}}, - then_ = {value, ?hold_lifetime(5)} + %% FIXME: The shumaich+shumway combo employed here is considerably slower + %% at processing payments (up to +3 seconds). Change this value back to + %% original when the migraton is completed + % then_ = {value, ?hold_lifetime(5)} + then_ = {value, ?hold_lifetime(20)} }, #domain_HoldLifetimeDecision{ if_ = From d309afdb9707dbf75ab966340b7bacc5fed235bd Mon Sep 17 00:00:00 2001 From: Kehitt Date: Thu, 15 Jul 2021 21:23:49 +0300 Subject: [PATCH 24/35] ??? --- apps/hellgate/test/hg_invoice_tests_SUITE.erl | 8 ++------ 1 file changed, 2 insertions(+), 6 deletions(-) diff --git a/apps/hellgate/test/hg_invoice_tests_SUITE.erl b/apps/hellgate/test/hg_invoice_tests_SUITE.erl index e061fd207..4326b928f 100644 --- a/apps/hellgate/test/hg_invoice_tests_SUITE.erl +++ b/apps/hellgate/test/hg_invoice_tests_SUITE.erl @@ -6723,11 +6723,7 @@ construct_domain_fixture() -> {bank_card, #domain_BankCardCondition{ definition = {payment_system_is, visa} }}}}, - %% FIXME: The shumaich+shumway combo employed here is considerably slower - %% at processing payments (up to +3 seconds). Change this value back to - %% original when the migraton is completed - % then_ = {value, ?hold_lifetime(5)} - then_ = {value, ?hold_lifetime(20)} + then_ = {value, ?hold_lifetime(5)} }, #domain_HoldLifetimeDecision{ if_ = @@ -6736,7 +6732,7 @@ construct_domain_fixture() -> {bank_card, #domain_BankCardCondition{ definition = {payment_system_is, mastercard} }}}}, - then_ = {value, ?hold_lifetime(120)} + then_ = {value, ?hold_lifetime(999)} } ]} }, From 0c04b7a4348c3928a505a6d7a4b10fd3cd086c61 Mon Sep 17 00:00:00 2001 From: Kehitt Date: Thu, 15 Jul 2021 21:25:22 +0300 Subject: [PATCH 25/35] tst --- apps/hellgate/test/hg_invoice_tests_SUITE.erl | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/apps/hellgate/test/hg_invoice_tests_SUITE.erl b/apps/hellgate/test/hg_invoice_tests_SUITE.erl index 4326b928f..1f64dd27f 100644 --- a/apps/hellgate/test/hg_invoice_tests_SUITE.erl +++ b/apps/hellgate/test/hg_invoice_tests_SUITE.erl @@ -3776,7 +3776,7 @@ start_chargeback_partial_capture(C, Cost, Partial, CBParams) -> % Fee = 450, % 0.045 InvoiceID = start_invoice(ShopID, <<"rubberduck">>, make_due_date(10), Cost, C), {PaymentTool, Session} = hg_dummy_provider:make_payment_tool(no_preauth_mc), - PaymentParams = make_payment_params(PaymentTool, Session, {hold, cancel}), + PaymentParams = make_payment_params(PaymentTool, Session, {hold, capture}), PaymentID = process_payment(InvoiceID, PaymentParams, Client), ok = hg_client_invoicing:capture_payment(InvoiceID, PaymentID, <<"ok">>, Cash, Client), [ From a681572d98a695b79accc6ea82f7685839bf02cb Mon Sep 17 00:00:00 2001 From: Kehitt Date: Fri, 16 Jul 2021 08:07:57 +0300 Subject: [PATCH 26/35] revert lifetime changes --- apps/hellgate/test/hg_invoice_tests_SUITE.erl | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/apps/hellgate/test/hg_invoice_tests_SUITE.erl b/apps/hellgate/test/hg_invoice_tests_SUITE.erl index 1f64dd27f..07f63e77e 100644 --- a/apps/hellgate/test/hg_invoice_tests_SUITE.erl +++ b/apps/hellgate/test/hg_invoice_tests_SUITE.erl @@ -3776,7 +3776,7 @@ start_chargeback_partial_capture(C, Cost, Partial, CBParams) -> % Fee = 450, % 0.045 InvoiceID = start_invoice(ShopID, <<"rubberduck">>, make_due_date(10), Cost, C), {PaymentTool, Session} = hg_dummy_provider:make_payment_tool(no_preauth_mc), - PaymentParams = make_payment_params(PaymentTool, Session, {hold, capture}), + PaymentParams = make_payment_params(PaymentTool, Session, {hold, cancel}), PaymentID = process_payment(InvoiceID, PaymentParams, Client), ok = hg_client_invoicing:capture_payment(InvoiceID, PaymentID, <<"ok">>, Cash, Client), [ @@ -6732,7 +6732,7 @@ construct_domain_fixture() -> {bank_card, #domain_BankCardCondition{ definition = {payment_system_is, mastercard} }}}}, - then_ = {value, ?hold_lifetime(999)} + then_ = {value, ?hold_lifetime(120)} } ]} }, From 270132350e6166e03d0680f3f3c1994349e1b460 Mon Sep 17 00:00:00 2001 From: Kehitt Date: Thu, 22 Jul 2021 20:50:56 +0300 Subject: [PATCH 27/35] get clock from payment, update payment clock when done --- apps/hellgate/src/hg_invoice_payment.erl | 28 +++++++++-- .../src/hg_invoice_payment_chargeback.erl | 47 ++++++++++--------- 2 files changed, 49 insertions(+), 26 deletions(-) diff --git a/apps/hellgate/src/hg_invoice_payment.erl b/apps/hellgate/src/hg_invoice_payment.erl index e644eecd7..10c5852db 100644 --- a/apps/hellgate/src/hg_invoice_payment.erl +++ b/apps/hellgate/src/hg_invoice_payment.erl @@ -36,6 +36,7 @@ -export([get_adjustments/1]). -export([get_adjustment/2]). -export([get_trx/1]). +-export([get_clock/1]). -export([get_final_cashflow/1]). -export([get_sessions/1]). @@ -1906,12 +1907,24 @@ process_chargeback(Type = finalising_accounter, ID, Action0, St) -> ChargebackBody = hg_invoice_payment_chargeback:get_body(ChargebackState), ChargebackTarget = hg_invoice_payment_chargeback:get_target_status(ChargebackState), MaybeChargedback = maybe_set_charged_back_status(ChargebackTarget, ChargebackBody, St), - {Changes, Action1} = hg_invoice_payment_chargeback:process_timeout(Type, ChargebackState, Action0, ChargebackOpts), + {Changes, Action1} = hg_invoice_payment_chargeback:process_timeout( + Type, + ChargebackState, + St, + Action0, + ChargebackOpts + ), {done, {[?chargeback_ev(ID, C) || C <- Changes] ++ MaybeChargedback, Action1}}; process_chargeback(Type, ID, Action0, St) -> ChargebackState = get_chargeback_state(ID, St), ChargebackOpts = get_chargeback_opts(St), - {Changes, Action1} = hg_invoice_payment_chargeback:process_timeout(Type, ChargebackState, Action0, ChargebackOpts), + {Changes, Action1} = hg_invoice_payment_chargeback:process_timeout( + Type, + ChargebackState, + St, + Action0, + ChargebackOpts + ), {done, {[?chargeback_ev(ID, C) || C <- Changes], Action1}}. maybe_set_charged_back_status(?chargeback_status_accepted(), ChargebackBody, St) -> @@ -3065,7 +3078,7 @@ merge_change(Change = ?chargeback_ev(ID, Event), St, Opts) -> St#st{activity = idle} end, ChargebackSt = merge_chargeback_change(Event, try_get_chargeback_state(ID, St1)), - set_chargeback_state(ID, ChargebackSt, St1); + set_chargeback_clock(set_chargeback_state(ID, ChargebackSt, St1), Event); merge_change(Change = ?refund_ev(ID, Event), St, Opts) -> St1 = case Event of @@ -3192,6 +3205,11 @@ save_retry_attempt(Target, #st{retry_attempts = Attempts} = St) -> merge_chargeback_change(Change, ChargebackState) -> hg_invoice_payment_chargeback:merge_change(Change, ChargebackState). +set_chargeback_clock(St = #st{activity = {chargeback, _, finalising_accounter}}, ?chargeback_clock_update(Clock)) -> + St#st{clock = Clock}; +set_chargeback_clock(St = #st{}, _) -> + St. + merge_refund_change(?refund_created(Refund, Cashflow, TransactionInfo), undefined) -> #refund_st{refund = Refund, cash_flow = Cashflow, transaction_info = TransactionInfo}; merge_refund_change(?refund_status_changed(Status), RefundSt) -> @@ -3287,6 +3305,10 @@ get_trx(#st{trx = Trx}) -> set_trx(Trx, St = #st{}) -> St#st{trx = Trx}. +-spec get_clock(st()) -> hg_accounting_new:clock(). +get_clock(#st{clock = Clock}) -> + Clock. + try_get_refund_state(ID, #st{refunds = Rs}) -> case Rs of #{ID := RefundSt} -> diff --git a/apps/hellgate/src/hg_invoice_payment_chargeback.erl b/apps/hellgate/src/hg_invoice_payment_chargeback.erl index fe98f5143..d729469f7 100644 --- a/apps/hellgate/src/hg_invoice_payment_chargeback.erl +++ b/apps/hellgate/src/hg_invoice_payment_chargeback.erl @@ -18,7 +18,7 @@ -export( [ merge_change/2, - process_timeout/4 + process_timeout/5 ] ). @@ -66,6 +66,7 @@ }). -type state() :: #chargeback_st{}. +-type payment_state() :: hg_invoice_payment:st(). -type cash_flow_plans() :: #{ ?chargeback_stage_chargeback() := [batch()], @@ -275,17 +276,17 @@ merge_change(?chargeback_clock_update(Clock), State) -> merge_change(?chargeback_cash_flow_changed(CashFlow), State) -> set_cash_flow(CashFlow, State). --spec process_timeout(activity(), state(), action(), opts()) -> result(). -process_timeout(preparing_initial_cash_flow, State, _Action, Opts) -> +-spec process_timeout(activity(), state(), payment_state(), action(), opts()) -> result(). +process_timeout(preparing_initial_cash_flow, State, _PaymentSt, _Action, Opts) -> update_cash_flow(State, hg_machine_action:instant(), Opts); -process_timeout(holding_initial_cash_flow, State, _Action, Opts) -> - hold_cash_flow(State, hg_machine_action:new(), Opts); -process_timeout(updating_cash_flow, State, _Action, Opts) -> +process_timeout(holding_initial_cash_flow, State, PaymentSt, _Action, Opts) -> + hold_cash_flow(State, PaymentSt, hg_machine_action:new(), Opts); +process_timeout(updating_cash_flow, State, _PaymentSt, _Action, Opts) -> update_cash_flow(State, hg_machine_action:instant(), Opts); -process_timeout(holding_updated_cash_flow, State, _Action, Opts) -> - hold_cash_flow(State, hg_machine_action:instant(), Opts); -process_timeout(finalising_accounter, State, Action, Opts) -> - finalise(State, Action, Opts). +process_timeout(holding_updated_cash_flow, State, PaymentSt, _Action, Opts) -> + hold_cash_flow(State, PaymentSt, hg_machine_action:instant(), Opts); +process_timeout(finalising_accounter, State, PaymentSt, Action, Opts) -> + finalise(State, PaymentSt, Action, Opts). %% Private @@ -355,21 +356,21 @@ update_cash_flow(State, Action, Opts) -> FinalCashFlow = build_chargeback_cash_flow(State, Opts), {[?chargeback_cash_flow_changed(FinalCashFlow)], Action}. --spec hold_cash_flow(state(), action(), opts()) -> result() | no_return(). -hold_cash_flow(State, Action, Opts) -> +-spec hold_cash_flow(state(), payment_state(), action(), opts()) -> result() | no_return(). +hold_cash_flow(State, PaymentSt, Action, Opts) -> CashFlowPlan = get_current_plan(State), - Clock = prepare_cash_flow(State, CashFlowPlan, Opts), + Clock = prepare_cash_flow(get_clock(State, PaymentSt), State, CashFlowPlan, Opts), {[?chargeback_clock_update(Clock)], Action}. --spec finalise(state(), action(), opts()) -> result() | no_return(). -finalise(#chargeback_st{target_status = Status = ?chargeback_status_pending()}, Action, _Opts) -> +-spec finalise(state(), payment_state(), action(), opts()) -> result() | no_return(). +finalise(#chargeback_st{target_status = Status = ?chargeback_status_pending()}, _PaymentSt, Action, _Opts) -> {[?chargeback_status_changed(Status)], Action}; -finalise(State = #chargeback_st{target_status = Status}, Action, Opts) when +finalise(State = #chargeback_st{target_status = Status}, PaymentSt, Action, Opts) when Status =:= ?chargeback_status_rejected(); Status =:= ?chargeback_status_accepted(); Status =:= ?chargeback_status_cancelled() -> - Clock = commit_cash_flow(State, Opts), + Clock = commit_cash_flow(get_clock(State, PaymentSt), State, Opts), {[?chargeback_clock_update(Clock), ?chargeback_status_changed(Status)], Action}. -spec build_chargeback(opts(), create_params(), revision(), timestamp()) -> chargeback() | no_return(). @@ -512,15 +513,13 @@ define_body(undefined, PaymentState) -> define_body(Cash, _PaymentState) -> Cash. -prepare_cash_flow(State, CashFlowPlan, Opts) -> +prepare_cash_flow(Clock, State, CashFlowPlan, Opts) -> #{timestamp := Timestamp} = Opts, - Clock = get_clock(State), PlanID = construct_chargeback_plan_id(State, Opts), hg_accounting_new:plan(PlanID, CashFlowPlan, Timestamp, Clock). -commit_cash_flow(State, Opts) -> +commit_cash_flow(Clock, State, Opts) -> #{timestamp := Timestamp} = Opts, - Clock = get_clock(State), CashFlowPlan = get_current_plan(State), PlanID = construct_chargeback_plan_id(State, Opts), hg_accounting_new:commit(PlanID, CashFlowPlan, Timestamp, Clock). @@ -626,8 +625,10 @@ get_current_plan(#chargeback_st{cash_flow_plans = Plans} = State) -> #{Stage := Plan} = Plans, Plan. --spec get_clock(state()) -> clock(). -get_clock(#chargeback_st{clock = Clock}) -> +-spec get_clock(state(), payment_state()) -> clock(). +get_clock(#chargeback_st{clock = undefined}, PaymentSt) -> + hg_invoice_payment:get_clock(PaymentSt); +get_clock(#chargeback_st{clock = Clock}, _PaymentSt) -> Clock. -spec get_reverted_previous_stage(state()) -> [batch()]. From 35a6957e89fc30ca2ab38879336652932a13a4e7 Mon Sep 17 00:00:00 2001 From: Kehitt Date: Fri, 23 Jul 2021 11:03:02 +0300 Subject: [PATCH 28/35] remove excessive type definition --- apps/hellgate/src/hg_invoice_payment_chargeback.erl | 1 - 1 file changed, 1 deletion(-) diff --git a/apps/hellgate/src/hg_invoice_payment_chargeback.erl b/apps/hellgate/src/hg_invoice_payment_chargeback.erl index d729469f7..306d4d0de 100644 --- a/apps/hellgate/src/hg_invoice_payment_chargeback.erl +++ b/apps/hellgate/src/hg_invoice_payment_chargeback.erl @@ -66,7 +66,6 @@ }). -type state() :: #chargeback_st{}. --type payment_state() :: hg_invoice_payment:st(). -type cash_flow_plans() :: #{ ?chargeback_stage_chargeback() := [batch()], From 6889d5ddf928ee68ec45066368a65e3d962f7b2b Mon Sep 17 00:00:00 2001 From: Kehitt Date: Thu, 5 Aug 2021 17:25:01 +0300 Subject: [PATCH 29/35] merge clocks --- apps/hellgate/src/hg_invoice_payment.erl | 2 +- .../src/hg_invoice_payment_chargeback.erl | 20 +++++++------------ 2 files changed, 8 insertions(+), 14 deletions(-) diff --git a/apps/hellgate/src/hg_invoice_payment.erl b/apps/hellgate/src/hg_invoice_payment.erl index 10c5852db..83e147329 100644 --- a/apps/hellgate/src/hg_invoice_payment.erl +++ b/apps/hellgate/src/hg_invoice_payment.erl @@ -3205,7 +3205,7 @@ save_retry_attempt(Target, #st{retry_attempts = Attempts} = St) -> merge_chargeback_change(Change, ChargebackState) -> hg_invoice_payment_chargeback:merge_change(Change, ChargebackState). -set_chargeback_clock(St = #st{activity = {chargeback, _, finalising_accounter}}, ?chargeback_clock_update(Clock)) -> +set_chargeback_clock(St = #st{}, ?chargeback_clock_update(Clock)) -> St#st{clock = Clock}; set_chargeback_clock(St = #st{}, _) -> St. diff --git a/apps/hellgate/src/hg_invoice_payment_chargeback.erl b/apps/hellgate/src/hg_invoice_payment_chargeback.erl index 306d4d0de..aaa88bbae 100644 --- a/apps/hellgate/src/hg_invoice_payment_chargeback.erl +++ b/apps/hellgate/src/hg_invoice_payment_chargeback.erl @@ -270,8 +270,8 @@ merge_change(?chargeback_target_status_changed(Status), State) -> set_target_status(Status, State); merge_change(?chargeback_status_changed(Status), State) -> set_target_status(undefined, set_status(Status, State)); -merge_change(?chargeback_clock_update(Clock), State) -> - set_clock(Clock, State); +merge_change(?chargeback_clock_update(_), State) -> + State; merge_change(?chargeback_cash_flow_changed(CashFlow), State) -> set_cash_flow(CashFlow, State). @@ -358,7 +358,7 @@ update_cash_flow(State, Action, Opts) -> -spec hold_cash_flow(state(), payment_state(), action(), opts()) -> result() | no_return(). hold_cash_flow(State, PaymentSt, Action, Opts) -> CashFlowPlan = get_current_plan(State), - Clock = prepare_cash_flow(get_clock(State, PaymentSt), State, CashFlowPlan, Opts), + Clock = prepare_cash_flow(get_clock(PaymentSt), State, CashFlowPlan, Opts), {[?chargeback_clock_update(Clock)], Action}. -spec finalise(state(), payment_state(), action(), opts()) -> result() | no_return(). @@ -369,7 +369,7 @@ finalise(State = #chargeback_st{target_status = Status}, PaymentSt, Action, Opts Status =:= ?chargeback_status_accepted(); Status =:= ?chargeback_status_cancelled() -> - Clock = commit_cash_flow(get_clock(State, PaymentSt), State, Opts), + Clock = commit_cash_flow(get_clock(PaymentSt), State, Opts), {[?chargeback_clock_update(Clock), ?chargeback_status_changed(Status)], Action}. -spec build_chargeback(opts(), create_params(), revision(), timestamp()) -> chargeback() | no_return(). @@ -624,11 +624,9 @@ get_current_plan(#chargeback_st{cash_flow_plans = Plans} = State) -> #{Stage := Plan} = Plans, Plan. --spec get_clock(state(), payment_state()) -> clock(). -get_clock(#chargeback_st{clock = undefined}, PaymentSt) -> - hg_invoice_payment:get_clock(PaymentSt); -get_clock(#chargeback_st{clock = Clock}, _PaymentSt) -> - Clock. +-spec get_clock(payment_state()) -> clock(). +get_clock(PaymentSt) -> + hg_invoice_payment:get_clock(PaymentSt). -spec get_reverted_previous_stage(state()) -> [batch()]. get_reverted_previous_stage(State) -> @@ -709,10 +707,6 @@ set_cash_flow(CashFlow, #chargeback_st{cash_flow_plans = Plans} = State) -> Plan = build_updated_plan(CashFlow, State), State#chargeback_st{cash_flow_plans = Plans#{Stage := Plan}, cash_flow = CashFlow}. --spec set_clock(clock(), state()) -> state(). -set_clock(Clock, #chargeback_st{} = State) -> - State#chargeback_st{clock = Clock}. - -spec set_target_status(status() | undefined, state()) -> state(). set_target_status(TargetStatus, #chargeback_st{} = State) -> State#chargeback_st{target_status = TargetStatus}. From 8658d5f60e77139d55769fd61d87a0ccdd493765 Mon Sep 17 00:00:00 2001 From: Kehitt Date: Fri, 6 Aug 2021 16:49:10 +0300 Subject: [PATCH 30/35] formatting, argument order --- apps/hellgate/src/hg_invoice_payment.erl | 9 ++++----- 1 file changed, 4 insertions(+), 5 deletions(-) diff --git a/apps/hellgate/src/hg_invoice_payment.erl b/apps/hellgate/src/hg_invoice_payment.erl index 83e147329..79c6398c6 100644 --- a/apps/hellgate/src/hg_invoice_payment.erl +++ b/apps/hellgate/src/hg_invoice_payment.erl @@ -962,8 +962,7 @@ collect_cash_flow_context( get_available_amount(AccountID, Clock) -> #{ min_available_amount := AvailableAmount - } = - hg_accounting:get_balance(AccountID, Clock), + } = hg_accounting:get_balance(AccountID, Clock), AvailableAmount. construct_payment_plan_id(St) -> @@ -3078,7 +3077,7 @@ merge_change(Change = ?chargeback_ev(ID, Event), St, Opts) -> St#st{activity = idle} end, ChargebackSt = merge_chargeback_change(Event, try_get_chargeback_state(ID, St1)), - set_chargeback_clock(set_chargeback_state(ID, ChargebackSt, St1), Event); + set_chargeback_clock(Event, set_chargeback_state(ID, ChargebackSt, St1)); merge_change(Change = ?refund_ev(ID, Event), St, Opts) -> St1 = case Event of @@ -3205,9 +3204,9 @@ save_retry_attempt(Target, #st{retry_attempts = Attempts} = St) -> merge_chargeback_change(Change, ChargebackState) -> hg_invoice_payment_chargeback:merge_change(Change, ChargebackState). -set_chargeback_clock(St = #st{}, ?chargeback_clock_update(Clock)) -> +set_chargeback_clock(?chargeback_clock_update(Clock), St = #st{}) -> St#st{clock = Clock}; -set_chargeback_clock(St = #st{}, _) -> +set_chargeback_clock(_, St = #st{}) -> St. merge_refund_change(?refund_created(Refund, Cashflow, TransactionInfo), undefined) -> From b48aca4b476d1e613d919edb717011146047638c Mon Sep 17 00:00:00 2001 From: Kehitt Date: Mon, 16 Aug 2021 16:21:02 +0300 Subject: [PATCH 31/35] small review fixes --- apps/hellgate/src/hg_invoice_payment.erl | 2 +- apps/hellgate/src/hg_invoice_payment_chargeback.erl | 1 - 2 files changed, 1 insertion(+), 2 deletions(-) diff --git a/apps/hellgate/src/hg_invoice_payment.erl b/apps/hellgate/src/hg_invoice_payment.erl index 79c6398c6..a2995d4be 100644 --- a/apps/hellgate/src/hg_invoice_payment.erl +++ b/apps/hellgate/src/hg_invoice_payment.erl @@ -3059,7 +3059,7 @@ merge_change(Change = ?chargeback_ev(ID, Event), St, Opts) -> #st{activity = {chargeback, ID, holding_updated_cash_flow}} -> St#st{activity = {chargeback, ID, finalising_accounter}}; #st{activity = {chargeback, ID, finalising_accounter}} -> - St#st{activity = {chargeback, ID, finalising_accounter}} + St end; ?chargeback_target_status_changed(?chargeback_status_accepted()) -> _ = validate_transition([idle, {chargeback, ID, updating_chargeback}], Change, St, Opts), diff --git a/apps/hellgate/src/hg_invoice_payment_chargeback.erl b/apps/hellgate/src/hg_invoice_payment_chargeback.erl index aaa88bbae..2ec8d4dc8 100644 --- a/apps/hellgate/src/hg_invoice_payment_chargeback.erl +++ b/apps/hellgate/src/hg_invoice_payment_chargeback.erl @@ -54,7 +54,6 @@ -record(chargeback_st, { chargeback :: undefined | chargeback(), - clock :: undefined | clock(), target_status :: undefined | status(), cash_flow = [] :: cash_flow(), cash_flow_plans = #{ From e7f6dde69a24f9cda7c0995c6c2eb5967f86f0cf Mon Sep 17 00:00:00 2001 From: Kehitt Date: Tue, 17 Aug 2021 19:54:45 +0300 Subject: [PATCH 32/35] use existing test methods where convinient --- apps/hellgate/test/hg_invoice_tests_SUITE.erl | 15 +++------------ 1 file changed, 3 insertions(+), 12 deletions(-) diff --git a/apps/hellgate/test/hg_invoice_tests_SUITE.erl b/apps/hellgate/test/hg_invoice_tests_SUITE.erl index 07f63e77e..bd49ab3fc 100644 --- a/apps/hellgate/test/hg_invoice_tests_SUITE.erl +++ b/apps/hellgate/test/hg_invoice_tests_SUITE.erl @@ -3778,18 +3778,9 @@ start_chargeback_partial_capture(C, Cost, Partial, CBParams) -> {PaymentTool, Session} = hg_dummy_provider:make_payment_tool(no_preauth_mc), PaymentParams = make_payment_params(PaymentTool, Session, {hold, cancel}), PaymentID = process_payment(InvoiceID, PaymentParams, Client), - ok = hg_client_invoicing:capture_payment(InvoiceID, PaymentID, <<"ok">>, Cash, Client), - [ - ?payment_ev(PaymentID, ?payment_capture_started(Reason, Cash, _)), - ?payment_ev(PaymentID, ?cash_flow_changed(_)) - ] = next_event(InvoiceID, Client), - [ - ?payment_ev(PaymentID, ?payment_clock_update(_)), - ?payment_ev(PaymentID, ?session_ev(?captured(Reason, Cash), ?session_started())) - ] = next_event(InvoiceID, Client), - PaymentID = await_payment_capture_finish(InvoiceID, PaymentID, Reason, Client, 0, Cash), - % Settlement1 = hg_ct_helper:get_balance(SettlementID), - % ?assertEqual(Partial - Fee, maps:get(min_available_amount, Settlement1)), + Reason = <<"ok">>, + ok = hg_client_invoicing:capture_payment(InvoiceID, PaymentID, Reason, Cash, Client), + PaymentID = await_payment_partial_capture(InvoiceID, PaymentID, Reason, Cash, Client), Chargeback = hg_client_invoicing:create_chargeback(InvoiceID, PaymentID, CBParams, Client), {InvoiceID, PaymentID, SettlementID, Chargeback}. From 4a4f06691ef4ef841e1555605f110416491c8754 Mon Sep 17 00:00:00 2001 From: Kehitt Date: Tue, 21 Sep 2021 17:59:01 +0300 Subject: [PATCH 33/35] update chargebacks for new accounter api --- .../src/hg_invoice_payment_chargeback.erl | 11 +- apps/hellgate/test/hg_invoice_tests_SUITE.erl | 110 +++++++++--------- 2 files changed, 63 insertions(+), 58 deletions(-) diff --git a/apps/hellgate/src/hg_invoice_payment_chargeback.erl b/apps/hellgate/src/hg_invoice_payment_chargeback.erl index 2ec8d4dc8..5873f554d 100644 --- a/apps/hellgate/src/hg_invoice_payment_chargeback.erl +++ b/apps/hellgate/src/hg_invoice_payment_chargeback.erl @@ -357,7 +357,7 @@ update_cash_flow(State, Action, Opts) -> -spec hold_cash_flow(state(), payment_state(), action(), opts()) -> result() | no_return(). hold_cash_flow(State, PaymentSt, Action, Opts) -> CashFlowPlan = get_current_plan(State), - Clock = prepare_cash_flow(get_clock(PaymentSt), State, CashFlowPlan, Opts), + {ok, Clock} = prepare_cash_flow(get_clock(PaymentSt), State, CashFlowPlan, Opts), {[?chargeback_clock_update(Clock)], Action}. -spec finalise(state(), payment_state(), action(), opts()) -> result() | no_return(). @@ -368,8 +368,13 @@ finalise(State = #chargeback_st{target_status = Status}, PaymentSt, Action, Opts Status =:= ?chargeback_status_accepted(); Status =:= ?chargeback_status_cancelled() -> - Clock = commit_cash_flow(get_clock(PaymentSt), State, Opts), - {[?chargeback_clock_update(Clock), ?chargeback_status_changed(Status)], Action}. + case commit_cash_flow(get_clock(PaymentSt), State, Opts) of + {ok, Clock} -> + {[?chargeback_clock_update(Clock), ?chargeback_status_changed(Status)], Action}; + {error, not_ready} -> + _ = logger:warning("Accounter was not ready, retrying"), + {[], hg_machine_action:set_timeout(0, Action)} + end. -spec build_chargeback(opts(), create_params(), revision(), timestamp()) -> chargeback() | no_return(). build_chargeback(Opts, Params = ?chargeback_params(Levy, Body, Reason), Revision, CreatedAt) -> diff --git a/apps/hellgate/test/hg_invoice_tests_SUITE.erl b/apps/hellgate/test/hg_invoice_tests_SUITE.erl index 150b6a6e0..6305f82f6 100644 --- a/apps/hellgate/test/hg_invoice_tests_SUITE.erl +++ b/apps/hellgate/test/hg_invoice_tests_SUITE.erl @@ -2386,7 +2386,7 @@ create_chargeback_idempotency(C) -> [ ?payment_ev(PID, ?chargeback_ev(CBID, ?chargeback_clock_update(Clock0))) ] = next_event(IID, Client), - Settlement0 = hg_accounting_new:get_balance(SID, Clock0), + {ok, Settlement0} = hg_accounting_new:get_balance(SID, Clock0), ?assertMatch(CB, hg_client_invoicing:create_chargeback(IID, PID, CBParams, Client)), NewCBParams = make_chargeback_params(Levy), ?assertMatch(?chargeback_pending(), hg_client_invoicing:create_chargeback(IID, PID, NewCBParams, Client)), @@ -2405,7 +2405,7 @@ create_chargeback_idempotency(C) -> ?payment_ev(PID, ?chargeback_ev(CBID, ?chargeback_clock_update(Clock1))), ?payment_ev(PID, ?chargeback_ev(CBID, ?chargeback_status_changed(?chargeback_status_cancelled()))) ] = next_event(IID, Client), - Settlement1 = hg_accounting_new:get_balance(SID, Clock1), + {ok, Settlement1} = hg_accounting_new:get_balance(SID, Clock1), ?assertEqual(Paid - Cost - LevyAmount, maps:get(min_available_amount, Settlement0)), ?assertEqual(Paid, maps:get(max_available_amount, Settlement0)), ?assertEqual(Paid, maps:get(min_available_amount, Settlement1)), @@ -2431,7 +2431,7 @@ cancel_payment_chargeback(C) -> [ ?payment_ev(PID, ?chargeback_ev(CBID, ?chargeback_clock_update(Clock0))) ] = next_event(IID, Client), - Settlement0 = hg_accounting_new:get_balance(SID, Clock0), + {ok, Settlement0} = hg_accounting_new:get_balance(SID, Clock0), CancelParams = make_chargeback_cancel_params(), ok = hg_client_invoicing:cancel_chargeback(IID, PID, CBID, CancelParams, Client), [ @@ -2447,7 +2447,7 @@ cancel_payment_chargeback(C) -> ?payment_ev(PID, ?chargeback_ev(CBID, ?chargeback_clock_update(Clock1))), ?payment_ev(PID, ?chargeback_ev(CBID, ?chargeback_status_changed(?chargeback_status_cancelled()))) ] = next_event(IID, Client), - Settlement1 = hg_accounting_new:get_balance(SID, Clock1), + {ok, Settlement1} = hg_accounting_new:get_balance(SID, Clock1), ?assertEqual(Paid - Cost - LevyAmount, maps:get(min_available_amount, Settlement0)), ?assertEqual(Paid, maps:get(max_available_amount, Settlement0)), ?assertEqual(Paid, maps:get(min_available_amount, Settlement1)), @@ -2474,7 +2474,7 @@ cancel_partial_payment_chargeback(C) -> [ ?payment_ev(PID, ?chargeback_ev(CBID, ?chargeback_clock_update(Clock0))) ] = next_event(IID, Client), - Settlement0 = hg_accounting_new:get_balance(SID, Clock0), + {ok, Settlement0} = hg_accounting_new:get_balance(SID, Clock0), CancelParams = make_chargeback_cancel_params(), ok = hg_client_invoicing:cancel_chargeback(IID, PID, CBID, CancelParams, Client), [ @@ -2490,7 +2490,7 @@ cancel_partial_payment_chargeback(C) -> ?payment_ev(PID, ?chargeback_ev(CBID, ?chargeback_clock_update(Clock1))), ?payment_ev(PID, ?chargeback_ev(CBID, ?chargeback_status_changed(?chargeback_status_cancelled()))) ] = next_event(IID, Client), - Settlement1 = hg_accounting_new:get_balance(SID, Clock1), + {ok, Settlement1} = hg_accounting_new:get_balance(SID, Clock1), ?assertEqual(Paid - Partial - LevyAmount, maps:get(min_available_amount, Settlement0)), ?assertEqual(Paid, maps:get(max_available_amount, Settlement0)), ?assertEqual(Paid, maps:get(min_available_amount, Settlement1)), @@ -2603,7 +2603,7 @@ reject_payment_chargeback(C) -> [ ?payment_ev(PID, ?chargeback_ev(CBID, ?chargeback_clock_update(Clock0))) ] = next_event(IID, Client), - Settlement0 = hg_accounting_new:get_balance(SID, Clock0), + {ok, Settlement0} = hg_accounting_new:get_balance(SID, Clock0), RejectParams = make_chargeback_reject_params(Levy), ok = hg_client_invoicing:reject_chargeback(IID, PID, CBID, RejectParams, Client), [ @@ -2619,7 +2619,7 @@ reject_payment_chargeback(C) -> ?payment_ev(PID, ?chargeback_ev(CBID, ?chargeback_clock_update(Clock1))), ?payment_ev(PID, ?chargeback_ev(CBID, ?chargeback_status_changed(?chargeback_status_rejected()))) ] = next_event(IID, Client), - Settlement1 = hg_accounting_new:get_balance(SID, Clock1), + {ok, Settlement1} = hg_accounting_new:get_balance(SID, Clock1), ?assertEqual(Paid - Cost - LevyAmount, maps:get(min_available_amount, Settlement0)), ?assertEqual(Paid, maps:get(max_available_amount, Settlement0)), ?assertEqual(Paid - LevyAmount, maps:get(min_available_amount, Settlement1)), @@ -2645,7 +2645,7 @@ reject_payment_chargeback_no_fees(C) -> [ ?payment_ev(PID, ?chargeback_ev(CBID, ?chargeback_clock_update(Clock0))) ] = next_event(IID, Client), - Settlement0 = hg_accounting_new:get_balance(SID, Clock0), + {ok, Settlement0} = hg_accounting_new:get_balance(SID, Clock0), RejectParams = make_chargeback_reject_params(Levy), ok = hg_client_invoicing:reject_chargeback(IID, PID, CBID, RejectParams, Client), [ @@ -2661,7 +2661,7 @@ reject_payment_chargeback_no_fees(C) -> ?payment_ev(PID, ?chargeback_ev(CBID, ?chargeback_clock_update(Clock1))), ?payment_ev(PID, ?chargeback_ev(CBID, ?chargeback_status_changed(?chargeback_status_rejected()))) ] = next_event(IID, Client), - Settlement1 = hg_accounting_new:get_balance(SID, Clock1), + {ok, Settlement1} = hg_accounting_new:get_balance(SID, Clock1), ?assertEqual(Paid - Cost - LevyAmount, maps:get(min_available_amount, Settlement0)), ?assertEqual(Paid, maps:get(max_available_amount, Settlement0)), ?assertEqual(Paid - LevyAmount, maps:get(min_available_amount, Settlement1)), @@ -2687,7 +2687,7 @@ reject_payment_chargeback_new_levy(C) -> [ ?payment_ev(PID, ?chargeback_ev(CBID, ?chargeback_clock_update(Clock0))) ] = next_event(IID, Client), - Settlement0 = hg_accounting_new:get_balance(SID, Clock0), + {ok, Settlement0} = hg_accounting_new:get_balance(SID, Clock0), RejectAmount = 5000, RejectLevy = ?cash(RejectAmount, <<"RUB">>), RejectParams = make_chargeback_reject_params(RejectLevy), @@ -2706,7 +2706,7 @@ reject_payment_chargeback_new_levy(C) -> ?payment_ev(PID, ?chargeback_ev(CBID, ?chargeback_clock_update(Clock1))), ?payment_ev(PID, ?chargeback_ev(CBID, ?chargeback_status_changed(?chargeback_status_rejected()))) ] = next_event(IID, Client), - Settlement1 = hg_accounting_new:get_balance(SID, Clock1), + {ok, Settlement1} = hg_accounting_new:get_balance(SID, Clock1), ?assertNotEqual(CF0, CF1), ?assertEqual(Paid - Cost - LevyAmount, maps:get(min_available_amount, Settlement0)), ?assertEqual(Paid, maps:get(max_available_amount, Settlement0)), @@ -2811,7 +2811,7 @@ accept_payment_chargeback_empty_params(C) -> [ ?payment_ev(PID, ?chargeback_ev(CBID, ?chargeback_clock_update(Clock0))) ] = next_event(IID, Client), - Settlement0 = hg_accounting_new:get_balance(SID, Clock0), + {ok, Settlement0} = hg_accounting_new:get_balance(SID, Clock0), AcceptParams = make_chargeback_accept_params(), ok = hg_client_invoicing:accept_chargeback(IID, PID, CBID, AcceptParams, Client), [ @@ -2822,7 +2822,7 @@ accept_payment_chargeback_empty_params(C) -> ?payment_ev(PID, ?chargeback_ev(CBID, ?chargeback_status_changed(?chargeback_status_accepted()))), ?payment_ev(PID, ?payment_status_changed(?charged_back())) ] = next_event(IID, Client), - Settlement1 = hg_accounting_new:get_balance(SID, Clock1), + {ok, Settlement1} = hg_accounting_new:get_balance(SID, Clock1), ?assertEqual(Paid - Cost - LevyAmount, maps:get(min_available_amount, Settlement0)), ?assertEqual(Paid, maps:get(max_available_amount, Settlement0)), ?assertEqual(Paid - Cost - LevyAmount, maps:get(min_available_amount, Settlement1)), @@ -2850,7 +2850,7 @@ accept_payment_chargeback_twice(C) -> [ ?payment_ev(PID, ?chargeback_ev(CBID, ?chargeback_clock_update(Clock0))) ] = next_event(IID, Client), - Settlement0 = hg_accounting_new:get_balance(SID, Clock0), + {ok, Settlement0} = hg_accounting_new:get_balance(SID, Clock0), AcceptParams = make_chargeback_accept_params(), ok = hg_client_invoicing:accept_chargeback(IID, PID, CBID, AcceptParams, Client), [ @@ -2860,7 +2860,7 @@ accept_payment_chargeback_twice(C) -> ?payment_ev(PID, ?chargeback_ev(CBID, ?chargeback_clock_update(Clock1))), ?payment_ev(PID, ?chargeback_ev(CBID, ?chargeback_status_changed(?chargeback_status_accepted()))) ] = next_event(IID, Client), - Settlement1 = hg_accounting_new:get_balance(SID, Clock1), + {ok, Settlement1} = hg_accounting_new:get_balance(SID, Clock1), CBParams2 = make_chargeback_params(Levy), Chargeback = hg_client_invoicing:create_chargeback(IID, PID, CBParams2, Client), CBID2 = Chargeback#domain_InvoicePaymentChargeback.id, @@ -2873,7 +2873,7 @@ accept_payment_chargeback_twice(C) -> [ ?payment_ev(PID, ?chargeback_ev(CBID2, ?chargeback_clock_update(Clock2))) ] = next_event(IID, Client), - Settlement2 = hg_accounting_new:get_balance(SID, Clock2), + {ok, Settlement2} = hg_accounting_new:get_balance(SID, Clock2), AcceptParams = make_chargeback_accept_params(), ok = hg_client_invoicing:accept_chargeback(IID, PID, CBID2, AcceptParams, Client), [ @@ -2884,7 +2884,7 @@ accept_payment_chargeback_twice(C) -> ?payment_ev(PID, ?chargeback_ev(CBID2, ?chargeback_status_changed(?chargeback_status_accepted()))), ?payment_ev(PID, ?payment_status_changed(?charged_back())) ] = next_event(IID, Client), - Settlement3 = hg_accounting_new:get_balance(SID, Clock3), + {ok, Settlement3} = hg_accounting_new:get_balance(SID, Clock3), ?assertEqual(Paid - BodyAmount - LevyAmount, maps:get(min_available_amount, Settlement0)), ?assertEqual(Paid, maps:get(max_available_amount, Settlement0)), ?assertEqual(Paid - BodyAmount - LevyAmount, maps:get(min_available_amount, Settlement1)), @@ -2914,7 +2914,7 @@ accept_payment_chargeback_new_body(C) -> [ ?payment_ev(PID, ?chargeback_ev(CBID, ?chargeback_clock_update(Clock0))) ] = next_event(IID, Client), - Settlement0 = hg_accounting_new:get_balance(SID, Clock0), + {ok, Settlement0} = hg_accounting_new:get_balance(SID, Clock0), Body = 40000, AcceptParams = make_chargeback_accept_params(undefined, ?cash(Body, <<"RUB">>)), ok = hg_client_invoicing:accept_chargeback(IID, PID, CBID, AcceptParams, Client), @@ -2932,7 +2932,7 @@ accept_payment_chargeback_new_body(C) -> ?payment_ev(PID, ?chargeback_ev(CBID, ?chargeback_clock_update(Clock1))), ?payment_ev(PID, ?chargeback_ev(CBID, ?chargeback_status_changed(?chargeback_status_accepted()))) ] = next_event(IID, Client), - Settlement1 = hg_accounting_new:get_balance(SID, Clock1), + {ok, Settlement1} = hg_accounting_new:get_balance(SID, Clock1), ?assertEqual(Paid - Cost - LevyAmount, maps:get(min_available_amount, Settlement0)), ?assertEqual(Paid, maps:get(max_available_amount, Settlement0)), ?assertEqual(Paid - Body - LevyAmount, maps:get(min_available_amount, Settlement1)), @@ -2959,7 +2959,7 @@ accept_payment_chargeback_new_levy(C) -> [ ?payment_ev(PID, ?chargeback_ev(CBID, ?chargeback_clock_update(Clock0))) ] = next_event(IID, Client), - Settlement0 = hg_accounting_new:get_balance(SID, Clock0), + {ok, Settlement0} = hg_accounting_new:get_balance(SID, Clock0), AcceptParams = make_chargeback_accept_params(?cash(NewLevyAmount, <<"RUB">>), undefined), ok = hg_client_invoicing:accept_chargeback(IID, PID, CBID, AcceptParams, Client), [ @@ -2977,7 +2977,7 @@ accept_payment_chargeback_new_levy(C) -> ?payment_ev(PID, ?chargeback_ev(CBID, ?chargeback_status_changed(?chargeback_status_accepted()))), ?payment_ev(PID, ?payment_status_changed(?charged_back())) ] = next_event(IID, Client), - Settlement1 = hg_accounting_new:get_balance(SID, Clock1), + {ok, Settlement1} = hg_accounting_new:get_balance(SID, Clock1), ?assertEqual(Paid - Cost - LevyAmount, maps:get(min_available_amount, Settlement0)), ?assertEqual(Paid, maps:get(max_available_amount, Settlement0)), ?assertEqual(Paid - Cost - NewLevyAmount, maps:get(min_available_amount, Settlement1)), @@ -3114,7 +3114,7 @@ reopen_payment_chargeback_cancel(C) -> [ ?payment_ev(PID, ?chargeback_ev(CBID, ?chargeback_clock_update(Clock0))) ] = next_event(IID, Client), - Settlement0 = hg_accounting_new:get_balance(SID, Clock0), + {ok, Settlement0} = hg_accounting_new:get_balance(SID, Clock0), RejectParams = make_chargeback_reject_params(Levy), ok = hg_client_invoicing:reject_chargeback(IID, PID, CBID, RejectParams, Client), [ @@ -3130,7 +3130,7 @@ reopen_payment_chargeback_cancel(C) -> ?payment_ev(PID, ?chargeback_ev(CBID, ?chargeback_clock_update(Clock1))), ?payment_ev(PID, ?chargeback_ev(CBID, ?chargeback_status_changed(?chargeback_status_rejected()))) ] = next_event(IID, Client), - Settlement1 = hg_accounting_new:get_balance(SID, Clock1), + {ok, Settlement1} = hg_accounting_new:get_balance(SID, Clock1), ReopenParams = make_chargeback_reopen_params(ReopenLevy), ok = hg_client_invoicing:reopen_chargeback(IID, PID, CBID, ReopenParams, Client), [ @@ -3147,7 +3147,7 @@ reopen_payment_chargeback_cancel(C) -> [ ?payment_ev(PID, ?chargeback_ev(CBID, ?chargeback_status_changed(?chargeback_status_pending()))) ] = next_event(IID, Client), - Settlement2 = hg_accounting_new:get_balance(SID, Clock2), + {ok, Settlement2} = hg_accounting_new:get_balance(SID, Clock2), CancelParams = make_chargeback_cancel_params(), ok = hg_client_invoicing:cancel_chargeback(IID, PID, CBID, CancelParams, Client), [ @@ -3163,7 +3163,7 @@ reopen_payment_chargeback_cancel(C) -> ?payment_ev(PID, ?chargeback_ev(CBID, ?chargeback_clock_update(Clock3))), ?payment_ev(PID, ?chargeback_ev(CBID, ?chargeback_status_changed(?chargeback_status_cancelled()))) ] = next_event(IID, Client), - Settlement3 = hg_accounting_new:get_balance(SID, Clock3), + {ok, Settlement3} = hg_accounting_new:get_balance(SID, Clock3), ?assertEqual(Paid - Cost - LevyAmount, maps:get(min_available_amount, Settlement0)), ?assertEqual(Paid, maps:get(max_available_amount, Settlement0)), ?assertEqual(Paid - LevyAmount, maps:get(min_available_amount, Settlement1)), @@ -3195,7 +3195,7 @@ reopen_payment_chargeback_reject(C) -> [ ?payment_ev(PID, ?chargeback_ev(CBID, ?chargeback_clock_update(Clock0))) ] = next_event(IID, Client), - Settlement0 = hg_accounting_new:get_balance(SID, Clock0), + {ok, Settlement0} = hg_accounting_new:get_balance(SID, Clock0), RejectParams = make_chargeback_reject_params(Levy), ok = hg_client_invoicing:reject_chargeback(IID, PID, CBID, RejectParams, Client), [ @@ -3211,7 +3211,7 @@ reopen_payment_chargeback_reject(C) -> ?payment_ev(PID, ?chargeback_ev(CBID, ?chargeback_clock_update(Clock1))), ?payment_ev(PID, ?chargeback_ev(CBID, ?chargeback_status_changed(?chargeback_status_rejected()))) ] = next_event(IID, Client), - Settlement1 = hg_accounting_new:get_balance(SID, Clock1), + {ok, Settlement1} = hg_accounting_new:get_balance(SID, Clock1), ReopenParams = make_chargeback_reopen_params(ReopenLevy), ok = hg_client_invoicing:reopen_chargeback(IID, PID, CBID, ReopenParams, Client), [ @@ -3228,7 +3228,7 @@ reopen_payment_chargeback_reject(C) -> [ ?payment_ev(PID, ?chargeback_ev(CBID, ?chargeback_status_changed(?chargeback_status_pending()))) ] = next_event(IID, Client), - Settlement2 = hg_accounting_new:get_balance(SID, Clock2), + {ok, Settlement2} = hg_accounting_new:get_balance(SID, Clock2), ok = hg_client_invoicing:reject_chargeback(IID, PID, CBID, RejectParams, Client), [ ?payment_ev(PID, ?chargeback_ev(CBID, ?chargeback_levy_changed(Levy))), @@ -3244,7 +3244,7 @@ reopen_payment_chargeback_reject(C) -> ?payment_ev(PID, ?chargeback_ev(CBID, ?chargeback_clock_update(Clock3))), ?payment_ev(PID, ?chargeback_ev(CBID, ?chargeback_status_changed(?chargeback_status_rejected()))) ] = next_event(IID, Client), - Settlement3 = hg_accounting_new:get_balance(SID, Clock3), + {ok, Settlement3} = hg_accounting_new:get_balance(SID, Clock3), ?assertEqual(Paid - Cost - LevyAmount, maps:get(min_available_amount, Settlement0)), ?assertEqual(Paid, maps:get(max_available_amount, Settlement0)), ?assertEqual(Paid - LevyAmount, maps:get(min_available_amount, Settlement1)), @@ -3276,7 +3276,7 @@ reopen_payment_chargeback_accept(C) -> [ ?payment_ev(PID, ?chargeback_ev(CBID, ?chargeback_clock_update(Clock0))) ] = next_event(IID, Client), - Settlement0 = hg_accounting_new:get_balance(SID, Clock0), + {ok, Settlement0} = hg_accounting_new:get_balance(SID, Clock0), RejectParams = make_chargeback_reject_params(Levy), ok = hg_client_invoicing:reject_chargeback(IID, PID, CBID, RejectParams, Client), [ @@ -3292,7 +3292,7 @@ reopen_payment_chargeback_accept(C) -> ?payment_ev(PID, ?chargeback_ev(CBID, ?chargeback_clock_update(Clock1))), ?payment_ev(PID, ?chargeback_ev(CBID, ?chargeback_status_changed(?chargeback_status_rejected()))) ] = next_event(IID, Client), - Settlement1 = hg_accounting_new:get_balance(SID, Clock1), + {ok, Settlement1} = hg_accounting_new:get_balance(SID, Clock1), ReopenParams = make_chargeback_reopen_params(ReopenLevy), ok = hg_client_invoicing:reopen_chargeback(IID, PID, CBID, ReopenParams, Client), [ @@ -3309,7 +3309,7 @@ reopen_payment_chargeback_accept(C) -> [ ?payment_ev(PID, ?chargeback_ev(CBID, ?chargeback_status_changed(?chargeback_status_pending()))) ] = next_event(IID, Client), - Settlement2 = hg_accounting_new:get_balance(SID, Clock2), + {ok, Settlement2} = hg_accounting_new:get_balance(SID, Clock2), AcceptParams = make_chargeback_accept_params(), ok = hg_client_invoicing:accept_chargeback(IID, PID, CBID, AcceptParams, Client), [ @@ -3320,7 +3320,7 @@ reopen_payment_chargeback_accept(C) -> ?payment_ev(PID, ?chargeback_ev(CBID, ?chargeback_status_changed(?chargeback_status_accepted()))), ?payment_ev(PID, ?payment_status_changed(?charged_back())) ] = next_event(IID, Client), - Settlement3 = hg_accounting_new:get_balance(SID, Clock3), + {ok, Settlement3} = hg_accounting_new:get_balance(SID, Clock3), ?assertEqual(Paid - Cost - LevyAmount, maps:get(min_available_amount, Settlement0)), ?assertEqual(Paid, maps:get(max_available_amount, Settlement0)), ?assertEqual(Paid - LevyAmount, maps:get(min_available_amount, Settlement1)), @@ -3352,7 +3352,7 @@ reopen_payment_chargeback_skip_stage_accept(C) -> [ ?payment_ev(PID, ?chargeback_ev(CBID, ?chargeback_clock_update(Clock0))) ] = next_event(IID, Client), - Settlement0 = hg_accounting_new:get_balance(SID, Clock0), + {ok, Settlement0} = hg_accounting_new:get_balance(SID, Clock0), RejectParams = make_chargeback_reject_params(Levy), ok = hg_client_invoicing:reject_chargeback(IID, PID, CBID, RejectParams, Client), [ @@ -3368,7 +3368,7 @@ reopen_payment_chargeback_skip_stage_accept(C) -> ?payment_ev(PID, ?chargeback_ev(CBID, ?chargeback_clock_update(Clock1))), ?payment_ev(PID, ?chargeback_ev(CBID, ?chargeback_status_changed(?chargeback_status_rejected()))) ] = next_event(IID, Client), - Settlement1 = hg_accounting_new:get_balance(SID, Clock1), + {ok, Settlement1} = hg_accounting_new:get_balance(SID, Clock1), NextStage = ?chargeback_stage_arbitration(), ReopenParams = make_chargeback_reopen_params_move_to_stage(ReopenLevy, NextStage), ok = hg_client_invoicing:reopen_chargeback(IID, PID, CBID, ReopenParams, Client), @@ -3386,7 +3386,7 @@ reopen_payment_chargeback_skip_stage_accept(C) -> [ ?payment_ev(PID, ?chargeback_ev(CBID, ?chargeback_status_changed(?chargeback_status_pending()))) ] = next_event(IID, Client), - Settlement2 = hg_accounting_new:get_balance(SID, Clock2), + {ok, Settlement2} = hg_accounting_new:get_balance(SID, Clock2), AcceptParams = make_chargeback_accept_params(), ok = hg_client_invoicing:accept_chargeback(IID, PID, CBID, AcceptParams, Client), [ @@ -3397,7 +3397,7 @@ reopen_payment_chargeback_skip_stage_accept(C) -> ?payment_ev(PID, ?chargeback_ev(CBID, ?chargeback_status_changed(?chargeback_status_accepted()))), ?payment_ev(PID, ?payment_status_changed(?charged_back())) ] = next_event(IID, Client), - Settlement3 = hg_accounting_new:get_balance(SID, Clock3), + {ok, Settlement3} = hg_accounting_new:get_balance(SID, Clock3), ?assertEqual(Paid - Cost - LevyAmount, maps:get(min_available_amount, Settlement0)), ?assertEqual(Paid, maps:get(max_available_amount, Settlement0)), ?assertEqual(Paid - LevyAmount, maps:get(min_available_amount, Settlement1)), @@ -3432,7 +3432,7 @@ reopen_payment_chargeback_accept_new_levy(C) -> [ ?payment_ev(PID, ?chargeback_ev(CBID, ?chargeback_clock_update(Clock0))) ] = next_event(IID, Client), - Settlement0 = hg_accounting_new:get_balance(SID, Clock0), + {ok, Settlement0} = hg_accounting_new:get_balance(SID, Clock0), RejectParams = make_chargeback_reject_params(Levy), ok = hg_client_invoicing:reject_chargeback(IID, PID, CBID, RejectParams, Client), [ @@ -3448,7 +3448,7 @@ reopen_payment_chargeback_accept_new_levy(C) -> ?payment_ev(PID, ?chargeback_ev(CBID, ?chargeback_clock_update(Clock1))), ?payment_ev(PID, ?chargeback_ev(CBID, ?chargeback_status_changed(?chargeback_status_rejected()))) ] = next_event(IID, Client), - Settlement1 = hg_accounting_new:get_balance(SID, Clock1), + {ok, Settlement1} = hg_accounting_new:get_balance(SID, Clock1), ReopenParams = make_chargeback_reopen_params(ReopenLevy), ok = hg_client_invoicing:reopen_chargeback(IID, PID, CBID, ReopenParams, Client), [ @@ -3465,7 +3465,7 @@ reopen_payment_chargeback_accept_new_levy(C) -> [ ?payment_ev(PID, ?chargeback_ev(CBID, ?chargeback_status_changed(?chargeback_status_pending()))) ] = next_event(IID, Client), - Settlement2 = hg_accounting_new:get_balance(SID, Clock2), + {ok, Settlement2} = hg_accounting_new:get_balance(SID, Clock2), AcceptParams = make_chargeback_accept_params(AcceptLevy, Body), ok = hg_client_invoicing:accept_chargeback(IID, PID, CBID, AcceptParams, Client), [ @@ -3483,7 +3483,7 @@ reopen_payment_chargeback_accept_new_levy(C) -> ?payment_ev(PID, ?chargeback_ev(CBID, ?chargeback_status_changed(?chargeback_status_accepted()))), ?payment_ev(PID, ?payment_status_changed(?charged_back())) ] = next_event(IID, Client), - Settlement3 = hg_accounting_new:get_balance(SID, Clock3), + {ok, Settlement3} = hg_accounting_new:get_balance(SID, Clock3), ?assertEqual(Paid - Cost - LevyAmount, maps:get(min_available_amount, Settlement0)), ?assertEqual(Paid, maps:get(max_available_amount, Settlement0)), ?assertEqual(Paid - LevyAmount, maps:get(min_available_amount, Settlement1)), @@ -3517,7 +3517,7 @@ reopen_payment_chargeback_arbitration(C) -> [ ?payment_ev(PID, ?chargeback_ev(CBID, ?chargeback_clock_update(Clock0))) ] = next_event(IID, Client), - Settlement0 = hg_accounting_new:get_balance(SID, Clock0), + {ok, Settlement0} = hg_accounting_new:get_balance(SID, Clock0), RejectParams = make_chargeback_reject_params(Levy), ok = hg_client_invoicing:reject_chargeback(IID, PID, CBID, RejectParams, Client), [ @@ -3533,7 +3533,7 @@ reopen_payment_chargeback_arbitration(C) -> ?payment_ev(PID, ?chargeback_ev(CBID, ?chargeback_clock_update(Clock1))), ?payment_ev(PID, ?chargeback_ev(CBID, ?chargeback_status_changed(?chargeback_status_rejected()))) ] = next_event(IID, Client), - Settlement1 = hg_accounting_new:get_balance(SID, Clock1), + {ok, Settlement1} = hg_accounting_new:get_balance(SID, Clock1), ReopenParams = make_chargeback_reopen_params(ReopenLevy), ok = hg_client_invoicing:reopen_chargeback(IID, PID, CBID, ReopenParams, Client), [ @@ -3550,7 +3550,7 @@ reopen_payment_chargeback_arbitration(C) -> [ ?payment_ev(PID, ?chargeback_ev(CBID, ?chargeback_status_changed(?chargeback_status_pending()))) ] = next_event(IID, Client), - Settlement2 = hg_accounting_new:get_balance(SID, Clock2), + {ok, Settlement2} = hg_accounting_new:get_balance(SID, Clock2), ok = hg_client_invoicing:reject_chargeback(IID, PID, CBID, RejectParams, Client), [ ?payment_ev(PID, ?chargeback_ev(CBID, ?chargeback_levy_changed(_))), @@ -3566,7 +3566,7 @@ reopen_payment_chargeback_arbitration(C) -> ?payment_ev(PID, ?chargeback_ev(CBID, ?chargeback_clock_update(Clock3))), ?payment_ev(PID, ?chargeback_ev(CBID, ?chargeback_status_changed(?chargeback_status_rejected()))) ] = next_event(IID, Client), - Settlement3 = hg_accounting_new:get_balance(SID, Clock3), + {ok, Settlement3} = hg_accounting_new:get_balance(SID, Clock3), ReopenArbParams = make_chargeback_reopen_params(ReopenArbLevy), ok = hg_client_invoicing:reopen_chargeback(IID, PID, CBID, ReopenArbParams, Client), [ @@ -3583,7 +3583,7 @@ reopen_payment_chargeback_arbitration(C) -> [ ?payment_ev(PID, ?chargeback_ev(CBID, ?chargeback_status_changed(?chargeback_status_pending()))) ] = next_event(IID, Client), - Settlement4 = hg_accounting_new:get_balance(SID, Clock4), + {ok, Settlement4} = hg_accounting_new:get_balance(SID, Clock4), AcceptParams = make_chargeback_accept_params(), ok = hg_client_invoicing:accept_chargeback(IID, PID, CBID, AcceptParams, Client), [ @@ -3594,7 +3594,7 @@ reopen_payment_chargeback_arbitration(C) -> ?payment_ev(PID, ?chargeback_ev(CBID, ?chargeback_status_changed(?chargeback_status_accepted()))), ?payment_ev(PID, ?payment_status_changed(?charged_back())) ] = next_event(IID, Client), - Settlement5 = hg_accounting_new:get_balance(SID, Clock5), + {ok, Settlement5} = hg_accounting_new:get_balance(SID, Clock5), ?assertEqual(Paid - Cost - LevyAmount, maps:get(min_available_amount, Settlement0)), ?assertEqual(Paid, maps:get(max_available_amount, Settlement0)), ?assertEqual(Paid - LevyAmount, maps:get(min_available_amount, Settlement1)), @@ -3632,7 +3632,7 @@ reopen_payment_chargeback_arbitration_reopen_fails(C) -> [ ?payment_ev(PID, ?chargeback_ev(CBID, ?chargeback_clock_update(Clock0))) ] = next_event(IID, Client), - Settlement0 = hg_accounting_new:get_balance(SID, Clock0), + {ok, Settlement0} = hg_accounting_new:get_balance(SID, Clock0), RejectParams = make_chargeback_reject_params(Levy), ok = hg_client_invoicing:reject_chargeback(IID, PID, CBID, RejectParams, Client), [ @@ -3648,7 +3648,7 @@ reopen_payment_chargeback_arbitration_reopen_fails(C) -> ?payment_ev(PID, ?chargeback_ev(CBID, ?chargeback_clock_update(Clock1))), ?payment_ev(PID, ?chargeback_ev(CBID, ?chargeback_status_changed(?chargeback_status_rejected()))) ] = next_event(IID, Client), - Settlement1 = hg_accounting_new:get_balance(SID, Clock1), + {ok, Settlement1} = hg_accounting_new:get_balance(SID, Clock1), ReopenParams = make_chargeback_reopen_params(ReopenLevy), ok = hg_client_invoicing:reopen_chargeback(IID, PID, CBID, ReopenParams, Client), [ @@ -3665,7 +3665,7 @@ reopen_payment_chargeback_arbitration_reopen_fails(C) -> [ ?payment_ev(PID, ?chargeback_ev(CBID, ?chargeback_status_changed(?chargeback_status_pending()))) ] = next_event(IID, Client), - Settlement2 = hg_accounting_new:get_balance(SID, Clock2), + {ok, Settlement2} = hg_accounting_new:get_balance(SID, Clock2), ok = hg_client_invoicing:reject_chargeback(IID, PID, CBID, RejectParams, Client), [ ?payment_ev(PID, ?chargeback_ev(CBID, ?chargeback_levy_changed(_))), @@ -3681,7 +3681,7 @@ reopen_payment_chargeback_arbitration_reopen_fails(C) -> ?payment_ev(PID, ?chargeback_ev(CBID, ?chargeback_clock_update(Clock3))), ?payment_ev(PID, ?chargeback_ev(CBID, ?chargeback_status_changed(?chargeback_status_rejected()))) ] = next_event(IID, Client), - Settlement3 = hg_accounting_new:get_balance(SID, Clock3), + {ok, Settlement3} = hg_accounting_new:get_balance(SID, Clock3), ReopenArbParams = make_chargeback_reopen_params(ReopenArbLevy), ok = hg_client_invoicing:reopen_chargeback(IID, PID, CBID, ReopenArbParams, Client), [ @@ -3698,7 +3698,7 @@ reopen_payment_chargeback_arbitration_reopen_fails(C) -> [ ?payment_ev(PID, ?chargeback_ev(CBID, ?chargeback_status_changed(?chargeback_status_pending()))) ] = next_event(IID, Client), - Settlement4 = hg_accounting_new:get_balance(SID, Clock4), + {ok, Settlement4} = hg_accounting_new:get_balance(SID, Clock4), ok = hg_client_invoicing:reject_chargeback(IID, PID, CBID, RejectParams, Client), [ ?payment_ev(PID, ?chargeback_ev(CBID, ?chargeback_levy_changed(_))), @@ -3714,7 +3714,7 @@ reopen_payment_chargeback_arbitration_reopen_fails(C) -> ?payment_ev(PID, ?chargeback_ev(CBID, ?chargeback_clock_update(Clock5))), ?payment_ev(PID, ?chargeback_ev(CBID, ?chargeback_status_changed(?chargeback_status_rejected()))) ] = next_event(IID, Client), - Settlement5 = hg_accounting_new:get_balance(SID, Clock5), + {ok, Settlement5} = hg_accounting_new:get_balance(SID, Clock5), Error = hg_client_invoicing:reopen_chargeback(IID, PID, CBID, ReopenArbParams, Client), ?assertEqual(Paid - Cost - LevyAmount, maps:get(min_available_amount, Settlement0)), ?assertEqual(Paid, maps:get(max_available_amount, Settlement0)), @@ -3759,7 +3759,7 @@ start_chargeback(C, Cost, CBParams, PaymentParams) -> ?payment_ev(PaymentID, ?payment_status_changed(Target)), ?invoice_status_changed(?invoice_paid()) ] = next_event(InvoiceID, Client), - Settlement1 = hg_accounting_new:get_balance(SettlementID, Clock), + {ok, Settlement1} = hg_accounting_new:get_balance(SettlementID, Clock), ?assertEqual(Cost - Fee, maps:get(min_available_amount, Settlement1)), Chargeback = hg_client_invoicing:create_chargeback(InvoiceID, PaymentID, CBParams, Client), {InvoiceID, PaymentID, SettlementID, Chargeback}. From 9510a6dda6857daa963c3275017c718996978438 Mon Sep 17 00:00:00 2001 From: Kehitt Date: Wed, 22 Sep 2021 17:27:21 +0300 Subject: [PATCH 34/35] raise resource unavailable when accounter is not ready --- apps/hellgate/src/hg_invoice_payment_chargeback.erl | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/apps/hellgate/src/hg_invoice_payment_chargeback.erl b/apps/hellgate/src/hg_invoice_payment_chargeback.erl index 5873f554d..054e97215 100644 --- a/apps/hellgate/src/hg_invoice_payment_chargeback.erl +++ b/apps/hellgate/src/hg_invoice_payment_chargeback.erl @@ -372,8 +372,7 @@ finalise(State = #chargeback_st{target_status = Status}, PaymentSt, Action, Opts {ok, Clock} -> {[?chargeback_clock_update(Clock), ?chargeback_status_changed(Status)], Action}; {error, not_ready} -> - _ = logger:warning("Accounter was not ready, retrying"), - {[], hg_machine_action:set_timeout(0, Action)} + woody_error:raise(system, {external, resource_unavailable, <<"Accounter was not ready">>}) end. -spec build_chargeback(opts(), create_params(), revision(), timestamp()) -> chargeback() | no_return(). From 484569f47fd43d3a759cfd04e58c901beeaffcd1 Mon Sep 17 00:00:00 2001 From: Kehitt Date: Thu, 23 Sep 2021 15:53:49 +0300 Subject: [PATCH 35/35] avoide resource_unavailable when possible --- apps/hellgate/src/hg_invoice_payment.erl | 26 ++++++++++------- .../src/hg_invoice_payment_chargeback.erl | 29 ++++++++++++------- 2 files changed, 35 insertions(+), 20 deletions(-) diff --git a/apps/hellgate/src/hg_invoice_payment.erl b/apps/hellgate/src/hg_invoice_payment.erl index 59c9f1dc7..9f5cd2b49 100644 --- a/apps/hellgate/src/hg_invoice_payment.erl +++ b/apps/hellgate/src/hg_invoice_payment.erl @@ -1906,25 +1906,31 @@ process_chargeback(Type = finalising_accounter, ID, Action0, St) -> ChargebackBody = hg_invoice_payment_chargeback:get_body(ChargebackState), ChargebackTarget = hg_invoice_payment_chargeback:get_target_status(ChargebackState), MaybeChargedback = maybe_set_charged_back_status(ChargebackTarget, ChargebackBody, St), - {Changes, Action1} = hg_invoice_payment_chargeback:process_timeout( - Type, - ChargebackState, - St, - Action0, - ChargebackOpts - ), - {done, {[?chargeback_ev(ID, C) || C <- Changes] ++ MaybeChargedback, Action1}}; + case + hg_invoice_payment_chargeback:process_timeout( + Type, + ChargebackState, + St, + Action0, + ChargebackOpts + ) + of + {done, {Changes, Action1}} -> + {done, {[?chargeback_ev(ID, C) || C <- Changes] ++ MaybeChargedback, Action1}}; + {next, {[], _Action}} = Result -> + Result + end; process_chargeback(Type, ID, Action0, St) -> ChargebackState = get_chargeback_state(ID, St), ChargebackOpts = get_chargeback_opts(St), - {Changes, Action1} = hg_invoice_payment_chargeback:process_timeout( + {Result, {Changes, Action1}} = hg_invoice_payment_chargeback:process_timeout( Type, ChargebackState, St, Action0, ChargebackOpts ), - {done, {[?chargeback_ev(ID, C) || C <- Changes], Action1}}. + {Result, {[?chargeback_ev(ID, C) || C <- Changes], Action1}}. maybe_set_charged_back_status(?chargeback_status_accepted(), ChargebackBody, St) -> InterimPaymentAmount = get_remaining_payment_balance(St), diff --git a/apps/hellgate/src/hg_invoice_payment_chargeback.erl b/apps/hellgate/src/hg_invoice_payment_chargeback.erl index 054e97215..5143c1299 100644 --- a/apps/hellgate/src/hg_invoice_payment_chargeback.erl +++ b/apps/hellgate/src/hg_invoice_payment_chargeback.erl @@ -136,6 +136,9 @@ -type result() :: {[change()], action()}. +-type machine_result() :: + {next | done, result()}. + -type change() :: dmsl_payment_processing_thrift:'InvoicePaymentChargebackChangePayload'(). @@ -274,7 +277,7 @@ merge_change(?chargeback_clock_update(_), State) -> merge_change(?chargeback_cash_flow_changed(CashFlow), State) -> set_cash_flow(CashFlow, State). --spec process_timeout(activity(), state(), payment_state(), action(), opts()) -> result(). +-spec process_timeout(activity(), state(), payment_state(), action(), opts()) -> machine_result(). process_timeout(preparing_initial_cash_flow, State, _PaymentSt, _Action, Opts) -> update_cash_flow(State, hg_machine_action:instant(), Opts); process_timeout(holding_initial_cash_flow, State, PaymentSt, _Action, Opts) -> @@ -349,20 +352,25 @@ do_reopen(State, PaymentState, ReopenParams = ?reopen_params(Levy, Body)) -> %% --spec update_cash_flow(state(), action(), opts()) -> result() | no_return(). +-spec update_cash_flow(state(), action(), opts()) -> machine_result() | no_return(). update_cash_flow(State, Action, Opts) -> FinalCashFlow = build_chargeback_cash_flow(State, Opts), - {[?chargeback_cash_flow_changed(FinalCashFlow)], Action}. + {done, {[?chargeback_cash_flow_changed(FinalCashFlow)], Action}}. --spec hold_cash_flow(state(), payment_state(), action(), opts()) -> result() | no_return(). +-spec hold_cash_flow(state(), payment_state(), action(), opts()) -> machine_result() | no_return(). hold_cash_flow(State, PaymentSt, Action, Opts) -> CashFlowPlan = get_current_plan(State), - {ok, Clock} = prepare_cash_flow(get_clock(PaymentSt), State, CashFlowPlan, Opts), - {[?chargeback_clock_update(Clock)], Action}. + case prepare_cash_flow(get_clock(PaymentSt), State, CashFlowPlan, Opts) of + {ok, Clock} -> + {done, {[?chargeback_clock_update(Clock)], Action}}; + {error, not_ready} -> + _ = logger:warning("Accounter was not ready, retrying"), + {next, {[], hg_machine_action:set_timeout(0, Action)}} + end. --spec finalise(state(), payment_state(), action(), opts()) -> result() | no_return(). +-spec finalise(state(), payment_state(), action(), opts()) -> machine_result() | no_return(). finalise(#chargeback_st{target_status = Status = ?chargeback_status_pending()}, _PaymentSt, Action, _Opts) -> - {[?chargeback_status_changed(Status)], Action}; + {done, {[?chargeback_status_changed(Status)], Action}}; finalise(State = #chargeback_st{target_status = Status}, PaymentSt, Action, Opts) when Status =:= ?chargeback_status_rejected(); Status =:= ?chargeback_status_accepted(); @@ -370,9 +378,10 @@ finalise(State = #chargeback_st{target_status = Status}, PaymentSt, Action, Opts -> case commit_cash_flow(get_clock(PaymentSt), State, Opts) of {ok, Clock} -> - {[?chargeback_clock_update(Clock), ?chargeback_status_changed(Status)], Action}; + {done, {[?chargeback_clock_update(Clock), ?chargeback_status_changed(Status)], Action}}; {error, not_ready} -> - woody_error:raise(system, {external, resource_unavailable, <<"Accounter was not ready">>}) + _ = logger:warning("Accounter was not ready, retrying"), + {next, {[], hg_machine_action:set_timeout(0, Action)}} end. -spec build_chargeback(opts(), create_params(), revision(), timestamp()) -> chargeback() | no_return().