Files
dashcaddy/dashcaddy-api/__tests__/license-status-refresh.test.js
T
Hermes 5e60c27f2b
CI / Test & Lint (push) Canceled after 0s
CI / Security audit (push) Canceled after 0s
[grade=A] Harden server-managed license renewals
2026-08-22 18:15:37 -07:00

21 lines
828 B
JavaScript

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