Files
xahau.js/test/models/accountDelete.ts
Nathan Nichols 8b95ee5fab build: Initial linting setup (#1560)
* 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.
2021-10-04 14:10:10 -04:00

78 lines
2.1 KiB
TypeScript

import { assert } from "chai";
import { ValidationError } from "xrpl-local/common/errors";
import { verifyAccountDelete } from "../../src/models/transactions/accountDelete";
/**
* AccountDelete Transaction Verification Testing.
*
* Providing runtime verification testing for each specific transaction type.
*/
describe("AccountDelete Transaction Verification", function () {
it(`verifies valid AccountDelete`, function () {
const validAccountDelete = {
TransactionType: "AccountDelete",
Account: "rWYkbWkCeg8dP6rXALnjgZSjjLyih5NXm",
Destination: "rPT1Sjq2YGrBMTttX4GZHjKu9dyfzbpAYe",
DestinationTag: 13,
Fee: "5000000",
Sequence: 2470665,
Flags: 2147483648,
} as any;
assert.doesNotThrow(() => verifyAccountDelete(validAccountDelete));
});
it(`throws w/ missing Destination`, function () {
const invalidDestination = {
TransactionType: "AccountDelete",
Account: "rWYkbWkCeg8dP6rXALnjgZSjjLyih5NXm",
Fee: "5000000",
Sequence: 2470665,
Flags: 2147483648,
} as any;
assert.throws(
() => verifyAccountDelete(invalidDestination),
ValidationError,
"AccountDelete: missing field Destination"
);
});
it(`throws w/ invalid Destination`, function () {
const invalidDestination = {
TransactionType: "AccountDelete",
Account: "rWYkbWkCeg8dP6rXALnjgZSjjLyih5NXm",
Destination: 65478965,
Fee: "5000000",
Sequence: 2470665,
Flags: 2147483648,
} as any;
assert.throws(
() => verifyAccountDelete(invalidDestination),
ValidationError,
"AccountDelete: invalid Destination"
);
});
it(`throws w/ invalid DestinationTag`, function () {
const invalidDestinationTag = {
TransactionType: "AccountDelete",
Account: "rWYkbWkCeg8dP6rXALnjgZSjjLyih5NXm",
Destination: "rPT1Sjq2YGrBMTttX4GZHjKu9dyfzbpAYe",
DestinationTag: "gvftyujnbv",
Fee: "5000000",
Sequence: 2470665,
Flags: 2147483648,
} as any;
assert.throws(
() => verifyAccountDelete(invalidDestinationTag),
ValidationError,
"AccountDelete: invalid DestinationTag"
);
});
});