postchain-client
Version:
Client library for accessing a Postchain node through REST.
74 lines • 4.49 kB
JavaScript
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
return new (P || (P = Promise))(function (resolve, reject) {
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
step((generator = generator.apply(thisArg, _arguments || [])).next());
});
};
import { AnchoringStatus, ChainConfirmationLevel, ResponseStatus, } from "../../src/blockchainClient/enums";
import { getAnchoringClientAndSystemChainRid } from "../../src/blockchainClient/utils";
import { mockSignatureProvider, unsignedTx } from "../common/mocks";
import { createClientToChromiaNetwork } from "../common/setups";
describe("signAndSendUniqueTransaction", () => {
let client;
let systemClients;
beforeAll(() => __awaiter(void 0, void 0, void 0, function* () {
client = yield createClientToChromiaNetwork();
systemClients = yield getAnchoringClientAndSystemChainRid(client);
}));
it("should get dapp confirmation status of 'pending'", () => __awaiter(void 0, void 0, void 0, function* () {
const result = yield client.signAndSendUniqueTransaction(unsignedTx, mockSignatureProvider, false);
const expectedResponse = {
status: ResponseStatus.Pending,
statusCode: null,
transactionRid: result.transactionRid,
};
expect(result).toEqual(expectedResponse);
}));
it("should get dapp confirmation status of 'waiting'", () => __awaiter(void 0, void 0, void 0, function* () {
const clientWithConfiguredDappPolling = Object.assign(Object.assign({}, client), { config: Object.assign(Object.assign({}, client.config), { dappStatusPolling: { count: 1, interval: 1 } }) });
const result = yield clientWithConfiguredDappPolling.signAndSendUniqueTransaction(unsignedTx, mockSignatureProvider);
const expectedResponse = {
status: ResponseStatus.Waiting,
statusCode: 200,
transactionRid: result.transactionRid,
};
expect(result).toEqual(expectedResponse);
}));
it("should get dapp confirmation status of 'confirmed'", () => __awaiter(void 0, void 0, void 0, function* () {
const result = yield client.signAndSendUniqueTransaction(unsignedTx, mockSignatureProvider, true, undefined, ChainConfirmationLevel.Dapp);
const expectedResponse = {
status: ResponseStatus.Confirmed,
statusCode: 200,
transactionRid: result.transactionRid,
};
expect(result).toEqual(expectedResponse);
}));
it("should get cluster anchoring confirmation status of 'clusterAnchored'", () => __awaiter(void 0, void 0, void 0, function* () {
const result = yield client.signAndSendUniqueTransaction(unsignedTx, mockSignatureProvider, true, undefined, ChainConfirmationLevel.ClusterAnchoring);
const expectedResponse = {
status: AnchoringStatus.ClusterAnchored,
statusCode: 200,
transactionRid: result.transactionRid,
clusterAnchoredTx: result.clusterAnchoredTx,
clusterAnchoringClientBrid: systemClients.anchoringClient.config.blockchainRid,
};
expect(result).toEqual(expectedResponse);
}));
it("should get cluster anchoring confirmation status of 'systemAnchored'", () => __awaiter(void 0, void 0, void 0, function* () {
const result = yield client.signAndSendUniqueTransaction(unsignedTx, mockSignatureProvider, true, undefined, ChainConfirmationLevel.SystemAnchoring);
const expectedResponse = {
status: AnchoringStatus.SystemAnchored,
statusCode: 200,
transactionRid: result.transactionRid,
clusterAnchoredTx: result.clusterAnchoredTx,
clusterAnchoringClientBrid: systemClients.anchoringClient.config.blockchainRid,
systemAnchoredTx: result.systemAnchoredTx,
systemAnchoringClientBrid: systemClients.systemAnchoringChainBridString,
};
expect(result).toEqual(expectedResponse);
}));
});
//# sourceMappingURL=signAndSendUniqueTransaction.test.js.map