X-Git-Url: http://git.squeep.com/?a=blobdiff_plain;f=test%2Flib%2Fenum.js;h=6247ee358fa990714bf83bf7409e0f782941c2dd;hb=HEAD;hp=0a86ec59e1518c7e534aa49f5750a2fbb06060db;hpb=29837f0eeb9fcb4c53426e5bd89e9bdf7e9d961b;p=squeep-api-dingus diff --git a/test/lib/enum.js b/test/lib/enum.js index 0a86ec5..a9be982 100644 --- a/test/lib/enum.js +++ b/test/lib/enum.js @@ -1,21 +1,43 @@ -/* eslint-disable capitalized-comments */ -/* eslint-env mocha */ 'use strict'; -const assert = require('assert'); +const assert = require('node:assert'); const Enum = require('../../lib/enum'); +const { mergeEnum } = require('../../lib/common'); - -describe('enum', function () { +describe('Enum', function () { describe('ErrorResponse', function () { - it('covers default', 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 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 });