Files
Mock_Gateway_For_EWallet/tests/gisCheckPrizeStock.test.js
T
DESKTOP-U5J7A7B\Willtech007 633690b0c4 初始化
2026-10-12 17:55:59 +08:00

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>/)
})