a9be982c60082a7ce14ec6d23c68f26ca05d3a19
[squeep-api-dingus] / test / lib / enum.js
1 'use strict';
2
3 const assert = require('node:assert');
4 const Enum = require('../../lib/enum');
5 const { mergeEnum } = require('../../lib/common');
6
7 describe('Enum', function () {
8
9 describe('ErrorResponse', function () {
10 it('covers broken', function () {
11 const result = Enum.ErrorResponse.notPresent;
12 const expected = {
13 statusCode: 500,
14 errorMessage: 'Internal Server Error',
15 details: ['undefined error response \'notPresent\''],
16 };
17 assert.deepStrictEqual(result, expected);
18 });
19 it('covers success', function () {
20 const result = Enum.ErrorResponse.Forbidden;
21 const expected = {
22 statusCode: 403,
23 errorMessage: 'Forbidden',
24 };
25 assert.deepStrictEqual(result, expected);
26 });
27 it('can be merged', function () {
28 const NewResponse = { statusCode: 444, errorMessage: 'stuff' };
29 const localErr = mergeEnum(Enum.ErrorResponse, { NewResponse });
30 const newResult = localErr.NewResponse;
31 assert.deepStrictEqual(newResult, NewResponse);
32 const oldResult = localErr.NotFound;
33 assert.deepStrictEqual(oldResult, { statusCode: 404, errorMessage: 'Not Found' });
34 const missingResult = localErr.Wrong;
35 assert.deepStrictEqual(missingResult, {
36 statusCode: 500,
37 errorMessage: 'Internal Server Error',
38 details: ['undefined error response \'Wrong\''],
39 });
40 });
41 }); // ErrorResponse
42
43 });