const assert = require('assert');
const Enum = require('../../lib/enum');
+const { mergeEnum } = require('../../lib/common');
-
-describe('enum', function () {
+describe('Enum', function () {
describe('ErrorResponse', function () {
it('covers broken', function () {
const result = Enum.ErrorResponse.notPresent;
const expected = {
- errorMessage: 'undefined error response \'notPresent\'',
+ statusCode: 500,
+ errorMessage: 'Internal Server Error',
+ details: ['undefined error response \'notPresent\''],
};
assert.deepStrictEqual(result, expected);
});
it('covers success', function () {
- const { statusCode } = Enum.ErrorResponse.ReallyForbidden;
- const expected = 403;
- assert.deepStrictEqual(statusCode, expected);
+ const result = Enum.ErrorResponse.Forbidden;
+ const expected = {
+ statusCode: 403,
+ errorMessage: 'Forbidden',
+ };
+ assert.deepStrictEqual(result, expected);
+ });
+ it('can be merged', function () {
+ const NewResponse = { statusCode: 444, errorMessage: 'stuff' };
+ const localErr = mergeEnum(Enum.ErrorResponse, { NewResponse });
+ const newResult = localErr.NewResponse;
+ assert.deepStrictEqual(newResult, NewResponse);
+ const oldResult = localErr.NotFound;
+ assert.deepStrictEqual(oldResult, { statusCode: 404, errorMessage: 'Not Found' });
+ const missingResult = localErr.Wrong;
+ assert.deepStrictEqual(missingResult, {
+ statusCode: 500,
+ errorMessage: 'Internal Server Error',
+ details: ['undefined error response \'Wrong\''],
+ });
});
}); // ErrorResponse