@brtnetwork/brt-binary-codec
Version:
BRT Ledger binary codec
44 lines (41 loc) • 1.22 kB
JavaScript
const { loadFixture } = require("./utils");
const { coreTypes } = require("../dist/types");
const { Amount } = coreTypes;
const fixtures = loadFixture("data-driven-tests.json");
function amountErrorTests() {
fixtures.values_tests
.filter((obj) => obj.type === "Amount")
.forEach((f) => {
// We only want these with errors
if (!f.error) {
return;
}
const testName =
`${JSON.stringify(f.test_json)}\n\tis invalid ` + `because: ${f.error}`;
it(testName, () => {
expect(() => {
Amount.from(f.test_json);
JSON.stringify(f.test_json);
}).toThrow();
});
});
}
describe("Amount", function () {
it("can be parsed from", function () {
expect(Amount.from("1000000") instanceof Amount).toBe(true);
expect(Amount.from("1000000").toJSON()).toEqual("1000000");
const fixture = {
value: "1",
issuer: "0000000000000000000000000000000000000000",
currency: "USD",
};
const amt = Amount.from(fixture);
const rewritten = {
value: "1",
issuer: "bbbbbbbbbbbbbbbbbbbbbs8KvSr",
currency: "USD",
};
expect(amt.toJSON()).toEqual(rewritten);
});
amountErrorTests();
});