mirror of
https://github.com/Xahau/xahau.js.git
synced 2025-11-19 19:55:51 +00:00
153 lines
4.3 KiB
TypeScript
153 lines
4.3 KiB
TypeScript
import { assert } from 'chai'
|
|
|
|
import { validate, ValidationError } from '../../src'
|
|
import { validateCheckCreate } from '../../src/models/transactions/checkCreate'
|
|
|
|
/**
|
|
* CheckCreate Transaction Verification Testing.
|
|
*
|
|
* Providing runtime verification testing for each specific transaction type.
|
|
*/
|
|
describe('CheckCreate', function () {
|
|
it(`verifies valid CheckCreate`, function () {
|
|
const validCheck = {
|
|
TransactionType: 'CheckCreate',
|
|
Account: 'rUn84CUYbNjRoTQ6mSW7BVJPSVJNLb1QLo',
|
|
Destination: 'rfkE1aSy9G8Upk4JssnwBxhEv5p4mn2KTy',
|
|
SendMax: '100000000',
|
|
Expiration: 570113521,
|
|
InvoiceID:
|
|
'6F1DFD1D0FE8A32E40E1F2C05CF1C15545BAB56B617F9C6C2D63A6B704BEF59B',
|
|
DestinationTag: 1,
|
|
Fee: '12',
|
|
} as any
|
|
|
|
assert.doesNotThrow(() => validateCheckCreate(validCheck))
|
|
assert.doesNotThrow(() => validate(validCheck))
|
|
})
|
|
|
|
it(`throws w/ invalid Destination`, function () {
|
|
const invalidDestination = {
|
|
TransactionType: 'CheckCreate',
|
|
Account: 'rUn84CUYbNjRoTQ6mSW7BVJPSVJNLb1QLo',
|
|
Destination: 7896214789632154,
|
|
SendMax: '100000000',
|
|
Expiration: 570113521,
|
|
InvoiceID:
|
|
'6F1DFD1D0FE8A32E40E1F2C05CF1C15545BAB56B617F9C6C2D63A6B704BEF59B',
|
|
DestinationTag: 1,
|
|
Fee: '12',
|
|
} as any
|
|
|
|
assert.throws(
|
|
() => validateCheckCreate(invalidDestination),
|
|
ValidationError,
|
|
'CheckCreate: invalid Destination',
|
|
)
|
|
assert.throws(
|
|
() => validate(invalidDestination),
|
|
ValidationError,
|
|
'CheckCreate: invalid Destination',
|
|
)
|
|
})
|
|
|
|
it(`throws w/ invalid SendMax`, function () {
|
|
const invalidSendMax = {
|
|
TransactionType: 'CheckCreate',
|
|
Account: 'rUn84CUYbNjRoTQ6mSW7BVJPSVJNLb1QLo',
|
|
Destination: 'rfkE1aSy9G8Upk4JssnwBxhEv5p4mn2KTy',
|
|
SendMax: 100000000,
|
|
Expiration: 570113521,
|
|
InvoiceID:
|
|
'6F1DFD1D0FE8A32E40E1F2C05CF1C15545BAB56B617F9C6C2D63A6B704BEF59B',
|
|
DestinationTag: 1,
|
|
Fee: '12',
|
|
} as any
|
|
|
|
assert.throws(
|
|
() => validateCheckCreate(invalidSendMax),
|
|
ValidationError,
|
|
'CheckCreate: invalid SendMax',
|
|
)
|
|
assert.throws(
|
|
() => validate(invalidSendMax),
|
|
ValidationError,
|
|
'CheckCreate: invalid SendMax',
|
|
)
|
|
})
|
|
|
|
it(`throws w/ invalid DestinationTag`, function () {
|
|
const invalidDestinationTag = {
|
|
TransactionType: 'CheckCreate',
|
|
Account: 'rUn84CUYbNjRoTQ6mSW7BVJPSVJNLb1QLo',
|
|
Destination: 'rfkE1aSy9G8Upk4JssnwBxhEv5p4mn2KTy',
|
|
SendMax: '100000000',
|
|
Expiration: 570113521,
|
|
InvoiceID:
|
|
'6F1DFD1D0FE8A32E40E1F2C05CF1C15545BAB56B617F9C6C2D63A6B704BEF59B',
|
|
DestinationTag: '1',
|
|
Fee: '12',
|
|
} as any
|
|
|
|
assert.throws(
|
|
() => validateCheckCreate(invalidDestinationTag),
|
|
ValidationError,
|
|
'CheckCreate: invalid DestinationTag',
|
|
)
|
|
assert.throws(
|
|
() => validate(invalidDestinationTag),
|
|
ValidationError,
|
|
'CheckCreate: invalid DestinationTag',
|
|
)
|
|
})
|
|
|
|
it(`throws w/ invalid Expiration`, function () {
|
|
const invalidExpiration = {
|
|
TransactionType: 'CheckCreate',
|
|
Account: 'rUn84CUYbNjRoTQ6mSW7BVJPSVJNLb1QLo',
|
|
Destination: 'rfkE1aSy9G8Upk4JssnwBxhEv5p4mn2KTy',
|
|
SendMax: '100000000',
|
|
Expiration: '570113521',
|
|
InvoiceID:
|
|
'6F1DFD1D0FE8A32E40E1F2C05CF1C15545BAB56B617F9C6C2D63A6B704BEF59B',
|
|
DestinationTag: 1,
|
|
Fee: '12',
|
|
} as any
|
|
|
|
assert.throws(
|
|
() => validateCheckCreate(invalidExpiration),
|
|
ValidationError,
|
|
'CheckCreate: invalid Expiration',
|
|
)
|
|
assert.throws(
|
|
() => validate(invalidExpiration),
|
|
ValidationError,
|
|
'CheckCreate: invalid Expiration',
|
|
)
|
|
})
|
|
|
|
it(`throws w/ invalid InvoiceID`, function () {
|
|
const invalidInvoiceID = {
|
|
TransactionType: 'CheckCreate',
|
|
Account: 'rUn84CUYbNjRoTQ6mSW7BVJPSVJNLb1QLo',
|
|
Destination: 'rfkE1aSy9G8Upk4JssnwBxhEv5p4mn2KTy',
|
|
SendMax: '100000000',
|
|
Expiration: 570113521,
|
|
InvoiceID: 789656963258531,
|
|
DestinationTag: 1,
|
|
Fee: '12',
|
|
} as any
|
|
|
|
assert.throws(
|
|
() => validateCheckCreate(invalidInvoiceID),
|
|
ValidationError,
|
|
'CheckCreate: invalid InvoiceID',
|
|
)
|
|
assert.throws(
|
|
() => validate(invalidInvoiceID),
|
|
ValidationError,
|
|
'CheckCreate: invalid InvoiceID',
|
|
)
|
|
})
|
|
})
|