X-Git-Url: http://git.squeep.com/?a=blobdiff_plain;f=test%2Fsrc%2Fservice.js;h=d91112548a75c6617e6b2f92987d43b74dfc1ede;hb=f0bf29c75b0fd405ff92fa76f058e61162b87e43;hp=d361df120b18b9891406f1bb7fe4e668f9124d75;hpb=6f9af8204a725b70fa65728cb0d627d8a5e5b348;p=squeep-indie-auther diff --git a/test/src/service.js b/test/src/service.js index d361df1..d911125 100644 --- a/test/src/service.js +++ b/test/src/service.js @@ -1,25 +1,27 @@ -/* eslint-env mocha */ -/* eslint-disable capitalized-comments */ - +/* eslint-disable sonarjs/no-duplicate-string */ 'use strict'; const assert = require('assert'); -const sinon = require('sinon'); // eslint-disable-line node/no-unpublished-require +const sinon = require('sinon'); const { AsyncLocalStorage } = require('node:async_hooks'); -const stubDb = require('../stub-db'); -const stubLogger = require('../stub-logger'); +const StubDb = require('../stub-db'); +const StubLogger = require('../stub-logger'); const Service = require('../../src/service'); const Config = require('../../config'); describe('Service', function () { - let service, options, asyncLocalStorage; + let service, stubLogger, stubDb, options, asyncLocalStorage; let req, res, ctx; beforeEach(function () { asyncLocalStorage = new AsyncLocalStorage(); options = new Config('test'); + stubDb = new StubDb(); + stubDb._reset(); + stubLogger = new StubLogger(); + stubLogger._reset(); service = new Service(stubLogger, stubDb, options, asyncLocalStorage); sinon.stub(service.manager); sinon.stub(service.sessionManager); @@ -102,6 +104,32 @@ describe('Service', function () { }); }); // handlerGetAdminLogout + describe('handlerGetAdminSettings', function () { + it('covers authenticated', async function () { + service.authenticator.sessionRequiredLocal.resolves(true); + await service.handlerGetAdminSettings(req, res, ctx); + assert(service.sessionManager.getAdminSettings.called); + }); + it('covers unauthenticated', async function () { + service.authenticator.sessionRequiredLocal.resolves(false); + await service.handlerGetAdminSettings(req, res, ctx); + assert(service.sessionManager.getAdminSettings.notCalled); + }); + }); // handlerGetAdminSettings + + describe('handlerPostAdminSettings', function () { + it('covers authenticated', async function () { + service.authenticator.sessionRequiredLocal.resolves(true); + await service.handlerPostAdminSettings(req, res, ctx); + assert(service.sessionManager.postAdminSettings.called); + }); + it('covers unauthenticated', async function () { + service.authenticator.sessionRequiredLocal.resolves(false); + await service.handlerPostAdminSettings(req, res, ctx); + assert(service.sessionManager.postAdminSettings.notCalled); + }); + }); // handlerPostAdminSettings + describe('handlerGetAdmin', function () { it('covers authenticated', async function () { service.authenticator.sessionRequiredLocal.resolves(true); @@ -287,4 +315,10 @@ describe('Service', function () { }); }); // handlerGetAdminMaintenance -}); \ No newline at end of file + describe('handlerWhaGwan', function () { + it('covers', async function () { + await assert.rejects(() => service.handlerWhaGwan(req. res, ctx)); + }); + }); // handlerWhaGwan + +});