test-ic-wallet-middleware-icrc
Version:
Ic middleware wallet ICRC protocol
51 lines (50 loc) • 2.81 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
const agent_1 = require("@dfinity/agent");
const principal_1 = require("@dfinity/principal");
const common_1 = require("@ic-wallet-middleware/common");
const mockLogger_1 = require("../../../__tests_utils/mockLogger");
const notifyServiceHandler_1 = require("../../../handlers/serviceHandlers/notifyServiceHandler/notifyServiceHandler");
const ServiceAssetCacheCreditHandler_1 = require("../../../internalHandlers/icrcCacheDataHandlers/services/serviceAssetCreditCacheHandler/ServiceAssetCacheCreditHandler");
const serviceAssetDepositHandler_1 = require("../../../internalHandlers/icrcCacheDataHandlers/services/serviceAssetDepositHandler/serviceAssetDepositHandler");
describe("Unit NotifyServiceHandler tests", () => {
const testData = [
{
name: "Notify",
input: {
ledgerAddress: "ryjl3-tyaaa-aaaaa-aaaba-cai",
servicePrincipal: "pmr6h-yaaaa-aaaao-a3myq-cai",
},
data: {
credit: {
ledgerAddress: "ryjl3-tyaaa-aaaaa-aaaba-cai",
credit: BigInt(1000000)
},
debit: {
serviceAssetDeposit: BigInt(0)
}
},
result: common_1.FormResult.error([{
fieldName: "",
localizationKey: "default.error.message",
message: "could not perform remote call"
}])
}
];
for (let test of testData) {
it(test.name, async () => {
jest.restoreAllMocks();
const identifierService = new common_1.IdentifierService();
const serviceAssetCreditHandler = new ServiceAssetCacheCreditHandler_1.ServiceAssetCacheCreditHandler();
serviceAssetCreditHandler.process = jest.fn().mockReturnValue(Promise.resolve(test.data.credit));
const serviceAssetDepositHandler = new serviceAssetDepositHandler_1.ServiceAssetDepositHandler();
serviceAssetDepositHandler.process = jest.fn().mockReturnValue(Promise.resolve(test.data.debit));
identifierService.getAgent = jest.fn().mockReturnValue(new agent_1.HttpAgent());
identifierService.getPrincipal = jest.fn().mockReturnValue(principal_1.Principal.fromText("gjcgk-x4xlt-6dzvd-q3mrr-pvgj5-5bjoe-beege-n4b7d-7hna5-pa5uq-5qe"));
const logger = new mockLogger_1.MockLogger();
const notifyServiceHandler = new notifyServiceHandler_1.NotifyServiceHandler(logger, identifierService, serviceAssetCreditHandler, serviceAssetDepositHandler);
const result = await notifyServiceHandler.handle(test.input);
expect(result).toEqual(test.result);
});
}
});