mirror of
https://github.com/Xahau/xahau.js.git
synced 2025-11-20 04:05:52 +00:00
* sets up linting config and runs `yarn lint --fix` once, so that all changes will show up correctly in future PRs. * Note that there are still a lot of linter errors.
69 lines
1.7 KiB
TypeScript
69 lines
1.7 KiB
TypeScript
import { assert } from "chai";
|
|
|
|
import { ValidationError } from "xrpl-local/common/errors";
|
|
|
|
import { verifyTrustSet } from "../../src/models/transactions/trustSet";
|
|
|
|
/**
|
|
* TrustSet Transaction Verification Testing.
|
|
*
|
|
* Providing runtime verification testing for each specific transaction type.
|
|
*/
|
|
describe("TrustSet Transaction Verification", function () {
|
|
let trustSet;
|
|
|
|
beforeEach(function () {
|
|
trustSet = {
|
|
TransactionType: "TrustSet",
|
|
Account: "rUn84CUYbNjRoTQ6mSW7BVJPSVJNLb1QLo",
|
|
LimitAmount: {
|
|
currency: "XRP",
|
|
issuer: "rcXY84C4g14iFp6taFXjjQGVeHqSCh9RX",
|
|
value: "4329.23",
|
|
},
|
|
QualityIn: 1234,
|
|
QualityOut: 4321,
|
|
} as any;
|
|
});
|
|
|
|
it("verifies valid TrustSet", function () {
|
|
assert.doesNotThrow(() => verifyTrustSet(trustSet));
|
|
});
|
|
|
|
it("throws when LimitAmount is missing", function () {
|
|
delete trustSet.LimitAmount;
|
|
assert.throws(
|
|
() => verifyTrustSet(trustSet),
|
|
ValidationError,
|
|
"TrustSet: missing field LimitAmount"
|
|
);
|
|
});
|
|
|
|
it("throws when LimitAmount is invalid", function () {
|
|
trustSet.LimitAmount = 1234;
|
|
assert.throws(
|
|
() => verifyTrustSet(trustSet),
|
|
ValidationError,
|
|
"TrustSet: invalid LimitAmount"
|
|
);
|
|
});
|
|
|
|
it("throws when QualityIn is not a number", function () {
|
|
trustSet.QualityIn = "1234";
|
|
assert.throws(
|
|
() => verifyTrustSet(trustSet),
|
|
ValidationError,
|
|
"TrustSet: QualityIn must be a number"
|
|
);
|
|
});
|
|
|
|
it("throws when QualityOut is not a number", function () {
|
|
trustSet.QualityOut = "4321";
|
|
assert.throws(
|
|
() => verifyTrustSet(trustSet),
|
|
ValidationError,
|
|
"TrustSet: QualityOut must be a number"
|
|
);
|
|
});
|
|
});
|