2025-03-18 14:55:52 +01:00
|
|
|
import pkg/ethers
|
|
|
|
|
import pkg/questionable
|
|
|
|
|
|
2025-03-18 15:54:55 +01:00
|
|
|
import ../../../codexcrawler/services/marketplace
|
2025-03-20 16:20:37 +01:00
|
|
|
import ../../../codexcrawler/types
|
2025-03-18 14:55:52 +01:00
|
|
|
|
|
|
|
|
logScope:
|
|
|
|
|
topics = "marketplace"
|
|
|
|
|
|
2025-03-18 15:55:58 +01:00
|
|
|
type MockMarketplaceService* = ref object of MarketplaceService
|
2025-03-20 15:27:17 +01:00
|
|
|
subNewRequestsCallback*: ?OnNewRequest
|
|
|
|
|
iterRequestsCallback*: ?OnNewRequest
|
2025-03-20 16:20:37 +01:00
|
|
|
requestInfoReturns*: ?RequestInfo
|
|
|
|
|
requestInfoRid*: Rid
|
2025-03-18 14:55:52 +01:00
|
|
|
|
2025-03-21 09:41:05 +01:00
|
|
|
method subscribeToNewRequests*(
|
|
|
|
|
m: MockMarketplaceService, onNewRequest: OnNewRequest
|
|
|
|
|
): Future[?!void] {.async: (raises: []).} =
|
2025-03-20 15:27:17 +01:00
|
|
|
m.subNewRequestsCallback = some(onNewRequest)
|
|
|
|
|
return success()
|
2025-03-21 09:41:05 +01:00
|
|
|
|
|
|
|
|
method iteratePastNewRequestEvents*(
|
|
|
|
|
m: MockMarketplaceService, onNewRequest: OnNewRequest
|
|
|
|
|
): Future[?!void] {.async: (raises: []).} =
|
2025-03-20 15:27:17 +01:00
|
|
|
m.iterRequestsCallback = some(onNewRequest)
|
|
|
|
|
return success()
|
2025-03-18 14:55:52 +01:00
|
|
|
|
2025-03-21 09:41:05 +01:00
|
|
|
method getRequestInfo*(
|
|
|
|
|
m: MockMarketplaceService, rid: Rid
|
|
|
|
|
): Future[?RequestInfo] {.async: (raises: []).} =
|
2025-03-20 16:20:37 +01:00
|
|
|
m.requestInfoRid = rid
|
|
|
|
|
return m.requestInfoReturns
|
|
|
|
|
|
2025-03-18 14:55:52 +01:00
|
|
|
proc createMockMarketplaceService*(): MockMarketplaceService =
|
2025-03-20 15:27:17 +01:00
|
|
|
MockMarketplaceService(
|
2025-03-21 09:41:05 +01:00
|
|
|
subNewRequestsCallback: none(OnNewRequest), iterRequestsCallback: none(OnNewRequest)
|
2025-03-20 15:27:17 +01:00
|
|
|
)
|