const sinon = require('sinon'); // eslint-disable-line node/no-unpublished-require
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);
});
}); // 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);
});
}); // handlerGetAdminMaintenance
+ describe('handlerWhaGwan', function () {
+ it('covers', async function () {
+ await assert.rejects(() => service.handlerWhaGwan(req. res, ctx));
+ });
+ }); // handlerWhaGwan
+
});
\ No newline at end of file