fix unauthenticated topic details flow
[websub-hub] / test / src / service.js
index bc74ff5c6dac6faff30fa8e14928c21e7d3e5285..62c0059553a0cbce037a75909d01902063e9178d 100644 (file)
@@ -61,20 +61,6 @@ describe('Service', function () {
     });
   }); // maybeIngestBody
 
-  describe('setHeadHandler', function () {
-    it('covers', function () {
-      const origEnd = res.end;
-      sinon.stub(Service.__proto__, 'setHeadHandler');
-      ctx.responseBody = 'data';
-      req.method = 'HEAD';
-      Service.setHeadHandler(req, res, ctx);
-      res.end('foop');
-      assert(Service.__proto__.setHeadHandler.called);
-      assert(origEnd.called);
-      assert(!('responseBody' in ctx));
-    });
-  }); // setHeadHandler
-
   describe('handlerPostRoot', function () {
     it('covers public mode', async function () {
       await service.handlerPostRoot(req, res, ctx);
@@ -122,19 +108,33 @@ describe('Service', function () {
   }); // handlerGetHistorySVG
 
   describe('handlerGetAdminOverview', function () {
-    it('covers', async function () {
+    it('covers authenticated', async function () {
+      service.authenticator.sessionRequired.resolves(false);
+      await service.handlerGetAdminOverview(req, res, ctx);
+      assert(service.authenticator.sessionRequired.called);
+      assert(service.manager.getAdminOverview.notCalled);
+    });
+    it('covers unauthenticated', async function () {
+      service.authenticator.sessionRequired.resolves(true);
       await service.handlerGetAdminOverview(req, res, ctx);
       assert(service.authenticator.sessionRequired.called);
       assert(service.manager.getAdminOverview.called);
-    })
+    });
   }); // handlerGetAdminOverview
 
   describe('handlerGetAdminTopicDetails', function () {
-    it('covers', async function () {
+    it('covers unauthenticated', async function () {
+      service.authenticator.sessionRequired.resolves(false);
+      await service.handlerGetAdminTopicDetails(req, res, ctx);
+      assert(service.authenticator.sessionRequired.called);
+      assert(service.manager.getTopicDetails.notCalled);
+    });
+    it('covers authenticated', async function () {
+      service.authenticator.sessionRequired.resolves(true);
       await service.handlerGetAdminTopicDetails(req, res, ctx);
       assert(service.authenticator.sessionRequired.called);
       assert(service.manager.getTopicDetails.called);
-    })
+    });
   }); // handlerGetAdminTopicDetails
 
   describe('handlerPostAdminProcess', function () {