import { assert } from 'chai' import { validate, ValidationError } from '../../src' import { validateTicketCreate } from '../../src/models/transactions/ticketCreate' /** * TicketCreate Transaction Verification Testing. * * Providing runtime verification testing for each specific transaction type. */ describe('TicketCreate', function () { let ticketCreate beforeEach(function () { ticketCreate = { TransactionType: 'TicketCreate', Account: 'rUn84CUYbNjRoTQ6mSW7BVJPSVJNLb1QLo', TicketCount: 150, } as any }) it('verifies valid TicketCreate', function () { assert.doesNotThrow(() => validateTicketCreate(ticketCreate)) assert.doesNotThrow(() => validate(ticketCreate)) }) it('throws when TicketCount is missing', function () { delete ticketCreate.TicketCount assert.throws( () => validateTicketCreate(ticketCreate), ValidationError, 'TicketCreate: missing field TicketCount', ) assert.throws( () => validate(ticketCreate), ValidationError, 'TicketCreate: missing field TicketCount', ) }) it('throws when TicketCount is not a number', function () { ticketCreate.TicketCount = '150' assert.throws( () => validateTicketCreate(ticketCreate), ValidationError, 'TicketCreate: TicketCount must be a number', ) assert.throws( () => validate(ticketCreate), ValidationError, 'TicketCreate: TicketCount must be a number', ) }) it('throws when TicketCount is not an integer', function () { ticketCreate.TicketCount = 12.5 assert.throws( () => validateTicketCreate(ticketCreate), ValidationError, 'TicketCreate: TicketCount must be an integer from 1 to 250', ) assert.throws( () => validate(ticketCreate), ValidationError, 'TicketCreate: TicketCount must be an integer from 1 to 250', ) }) it('throws when TicketCount is < 1', function () { ticketCreate.TicketCount = 0 assert.throws( () => validateTicketCreate(ticketCreate), ValidationError, 'TicketCreate: TicketCount must be an integer from 1 to 250', ) assert.throws( () => validate(ticketCreate), ValidationError, 'TicketCreate: TicketCount must be an integer from 1 to 250', ) }) it('throws when TicketCount is > 250', function () { ticketCreate.TicketCount = 251 assert.throws( () => validateTicketCreate(ticketCreate), ValidationError, 'TicketCreate: TicketCount must be an integer from 1 to 250', ) assert.throws( () => validate(ticketCreate), ValidationError, 'TicketCreate: TicketCount must be an integer from 1 to 250', ) }) })