X-Git-Url: http://git.squeep.com/?p=squeep-api-dingus;a=blobdiff_plain;f=test%2Flib%2Fenum.js;fp=test%2Flib%2Fenum.js;h=6247ee358fa990714bf83bf7409e0f782941c2dd;hp=bdd353f358ee1a7b8e9a9c1823f5e0f645a45948;hb=8d101705d3394039ddf2d2f3339a5e6ada911579;hpb=8e981f499075ec8bbd9229076d4448e6212ca87a diff --git a/test/lib/enum.js b/test/lib/enum.js index bdd353f..6247ee3 100644 --- a/test/lib/enum.js +++ b/test/lib/enum.js @@ -4,22 +4,41 @@ 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