58 lines
1.8 KiB
JavaScript
58 lines
1.8 KiB
JavaScript
const test = require('node:test')
|
|
const assert = require('node:assert/strict')
|
|
|
|
const { createMockContext } = require('../src/context/createMockContext')
|
|
const { buildCheckPrizeStockResponseXml } = require('../src/routes/gis/xmlResponse')
|
|
|
|
test('mock gis stock response marks default test unique codes as in stock', () => {
|
|
const context = createMockContext()
|
|
|
|
const response = context.getMockGisCheckPrizeStockResponse({
|
|
propertyId: 'GLP',
|
|
locationId: 'LOC013',
|
|
prizeIdentifier: '88888888',
|
|
prizeCode: 'mqa-gisprizec',
|
|
prizeName: 'MQA-GISPrizeC',
|
|
prizeCategory: 'Entertainment',
|
|
})
|
|
|
|
assert.equal(response.uniqueCode, '88888888')
|
|
assert.equal(response.quantity, 1)
|
|
assert.equal(response.errorCode, '')
|
|
assert.equal(response.errorMsg, '')
|
|
})
|
|
|
|
test('mock gis stock response returns NotFound for unknown unique codes', () => {
|
|
const context = createMockContext()
|
|
|
|
const response = context.getMockGisCheckPrizeStockResponse({
|
|
prizeIdentifier: 'unknown-code',
|
|
prizeCode: 'mqa-gisprizec',
|
|
})
|
|
|
|
assert.equal(response.quantity, 0)
|
|
assert.equal(response.errorCode, 'NotFound')
|
|
assert.equal(response.errorMsg, 'Not found matching prize')
|
|
})
|
|
|
|
test('check prize stock xml builder emits backend-compatible root and fields', () => {
|
|
const xml = buildCheckPrizeStockResponseXml([
|
|
{
|
|
propertyId: 'GLP',
|
|
locationId: 'LOC013',
|
|
prizeCode: 'mqa-gisprizec',
|
|
prizeName: 'MQA-GISPrizeC',
|
|
prizeCategory: 'Entertainment',
|
|
uniqueCode: '12341234',
|
|
quantity: 1,
|
|
errorCode: '',
|
|
errorMsg: '',
|
|
},
|
|
])
|
|
|
|
assert.match(xml, /<ArrayOfCheckPrizeStock_response_VM>/)
|
|
assert.match(xml, /<CheckPrizeStock_response_VM>/)
|
|
assert.match(xml, /<uniqueCode>12341234<\/uniqueCode>/)
|
|
assert.match(xml, /<quantity>1<\/quantity>/)
|
|
})
|