const express = require('express'); const request = require('supertest'); const createLicenseRouter = require('../routes/license'); function asyncHandler(fn) { return (req, res, next) => Promise.resolve(fn(req, res, next)).catch(next); } test('GET license status forces online entitlement refresh before responding', async () => { const licenseManager = { refreshOnline: jest.fn().mockResolvedValue(true), getStatus: jest.fn().mockReturnValue({ active: true, tier: 'premium' }), }; const app = express(); app.use('/license', createLicenseRouter({ licenseManager, asyncHandler })); const response = await request(app).get('/license/status'); expect(response.status).toBe(200); expect(licenseManager.refreshOnline).toHaveBeenCalledWith(); expect(licenseManager.getStatus).toHaveBeenCalledTimes(1); });