From 2f1c778d029759842c21197b737b6bf95e9a75c0 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Adam=20Uhl=C3=AD=C5=99?= Date: Wed, 27 Sep 2023 15:57:41 +0200 Subject: [PATCH] fix: unknown state goes to payout when slot state is finished (#555) --- codex/sales/states/unknown.nim | 5 ++++- tests/codex/sales/states/testunknown.nim | 5 +++-- 2 files changed, 7 insertions(+), 3 deletions(-) diff --git a/codex/sales/states/unknown.nim b/codex/sales/states/unknown.nim index 708a055c..601be1f3 100644 --- a/codex/sales/states/unknown.nim +++ b/codex/sales/states/unknown.nim @@ -6,6 +6,7 @@ import ./finished import ./failed import ./errored import ./cancelled +import ./payout logScope: topics = "marketplace sales unknown" @@ -47,7 +48,9 @@ method run*(state: SaleUnknown, machine: Machine): Future[?State] {.async.} = return some State(SaleErrored(error: error)) of SlotState.Filled: return some State(SaleFilled()) - of SlotState.Finished, SlotState.Paid: + of SlotState.Finished: + return some State(SalePayout()) + of SlotState.Paid: return some State(SaleFinished()) of SlotState.Failed: return some State(SaleFailed()) diff --git a/tests/codex/sales/states/testunknown.nim b/tests/codex/sales/states/testunknown.nim index d277733c..7c8e275a 100644 --- a/tests/codex/sales/states/testunknown.nim +++ b/tests/codex/sales/states/testunknown.nim @@ -8,6 +8,7 @@ import pkg/codex/sales/states/errored import pkg/codex/sales/states/filled import pkg/codex/sales/states/finished import pkg/codex/sales/states/failed +import pkg/codex/sales/states/payout import ../../helpers/mockmarket import ../../examples import ../../helpers @@ -45,10 +46,10 @@ checksuite "sales state 'unknown'": let next = await state.run(agent) check !next of SaleFilled - test "switches to finished state when on chain state is 'finished'": + test "switches to payout state when on chain state is 'finished'": market.slotState[slotId] = SlotState.Finished let next = await state.run(agent) - check !next of SaleFinished + check !next of SalePayout test "switches to finished state when on chain state is 'paid'": market.slotState[slotId] = SlotState.Paid