Просмотр исходного кода

WIP: implement certifySharedFileMiddleware

Yuki Takei 2 лет назад
Родитель
Сommit
0f0094494b

+ 36 - 0
apps/app/src/server/middlewares/certify-shared-file/certify-shared-file.spec.ts

@@ -0,0 +1,36 @@
+import type { Response } from 'express';
+import { mock } from 'vitest-mock-extended';
+
+import { certifySharedFileMiddleware, type RequestToAllowShareLink } from './certify-shared-file';
+
+const mocks = vi.hoisted(() => {
+  return {
+    validateRefererMock: vi.fn(),
+  };
+});
+
+vi.mock('./validate-referer', () => ({ validateReferer: mocks.validateRefererMock }));
+
+
+describe('certifySharedFileMiddleware', () => {
+
+  const res = mock<Response>();
+  const next = vi.fn();
+
+  describe('should called next() without req.isSharedPage set', () => {
+
+    it('when the fileId param is null', () => {
+      // setup
+      const req = mock<RequestToAllowShareLink>();
+      req.params = {}; // id: undefined
+      req.headers = {};
+
+      // when
+      certifySharedFileMiddleware(req, res, next);
+
+      // then
+      expect(next).toHaveBeenCalledOnce();
+      expect(mocks.validateRefererMock).not.toHaveBeenCalled();
+    });
+  });
+});

+ 1 - 1
apps/app/src/server/middlewares/certify-shared-file/certify-shared-file.ts

@@ -10,7 +10,7 @@ import { validateReferer } from './validate-referer';
 const logger = loggerFactory('growi:middleware:certify-shared-fire');
 
 
-interface RequestToAllowShareLink extends Request {
+export interface RequestToAllowShareLink extends Request {
   isSharedPage?: boolean,
 }