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, //) assert.match(xml, //) assert.match(xml, /12341234<\/uniqueCode>/) assert.match(xml, /1<\/quantity>/) })