From 35f500af0f1d29619af2802005b59986b89ddf35 Mon Sep 17 00:00:00 2001 From: Aaro Koivukangas Date: Sat, 8 Aug 2026 15:27:15 +0300 Subject: [PATCH] [TestNowHeader] Add small tests for the x-test-now header --- .../backend/tests/api/testTimeHeader.test.ts | 38 +++++++++++++++++++ 1 file changed, 38 insertions(+) create mode 100644 services/backend/tests/api/testTimeHeader.test.ts diff --git a/services/backend/tests/api/testTimeHeader.test.ts b/services/backend/tests/api/testTimeHeader.test.ts new file mode 100644 index 000000000..9a464dafd --- /dev/null +++ b/services/backend/tests/api/testTimeHeader.test.ts @@ -0,0 +1,38 @@ +import express from 'express' +import request from 'supertest' +import { describe, it, assert } from 'vitest' + +import { testTimeMiddleware } from '../../src/middleware/testTime' +import { now } from '../../src/util/clock' + +describe('test time middleware', () => { + it('uses the date from the x-test-now header', async () => { + const app = express() + app.use(testTimeMiddleware) + app.get('/', (_request, response) => response.send(now().toISOString())) + + const response = await request(app).get('/').set('x-test-now', '2026-03-01T12:00:00.000Z') + + assert.strictEqual(response.text, '2026-03-01T12:00:00.000Z') + }) + + it('the acual current date if x-test-now header missing', async () => { + const app = express() + app.use(testTimeMiddleware) + app.get('/', (_request, response) => response.send(now().toISOString())) + + const response = await request(app).get('/') + + assert.notStrictEqual(response.text, '2026-03-01T12:00:00.000Z') + }) + + it('the acual current date if x-test-now header has incorrect date', async () => { + const app = express() + app.use(testTimeMiddleware) + app.get('/', (_request, response) => response.send(now().toISOString())) + + const response = await request(app).get('/').set('x-test-now', 'moimoi mitä kuuluu') + + assert.notStrictEqual(response.text, '2026-03-01T12:00:00.000Z') + }) +})