CommunitySolidServer/test/unit/ldp/http/metadata/ConstantMetadataWriter.test.ts
2021-06-30 10:24:13 +02:00

25 lines
963 B
TypeScript

import { createResponse } from 'node-mocks-http';
import { ConstantMetadataWriter } from '../../../../../src/ldp/http/metadata/ConstantMetadataWriter';
import type { HttpResponse } from '../../../../../src/server/HttpResponse';
describe('A ConstantMetadataWriter', (): void => {
const writer = new ConstantMetadataWriter({ 'custom-Header': 'X', other: 'Y' });
it('adds new headers.', async(): Promise<void> => {
const response = createResponse() as HttpResponse;
await expect(writer.handle({ response })).resolves.toBeUndefined();
expect(response.getHeaders()).toEqual({ 'custom-header': 'X', other: 'Y' });
});
it('extends existing headers.', async(): Promise<void> => {
const response = createResponse() as HttpResponse;
response.setHeader('Other', 'A');
await expect(writer.handle({ response })).resolves.toBeUndefined();
expect(response.getHeaders()).toEqual({ 'custom-header': 'X', other: [ 'A', 'Y' ]});
});
});