mirror of
https://github.com/Xahau/xahau.js.git
synced 2025-11-20 04:05:52 +00:00
44 lines
1.2 KiB
JavaScript
44 lines
1.2 KiB
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: "rrrrrrrrrrrrrrrrrrrrrhoLvTp",
|
|
currency: "USD",
|
|
};
|
|
expect(amt.toJSON()).toEqual(rewritten);
|
|
});
|
|
amountErrorTests();
|
|
});
|