|
|
@@ -3,7 +3,10 @@ import { mock } from 'vitest-mock-extended';
|
|
|
|
|
|
import type { ShareLinkDocument } from '~/server/models/share-link';
|
|
|
|
|
|
-import { certifySharedPageAttachmentMiddleware, type RequestToAllowShareLink } from './certify-shared-page-attachment';
|
|
|
+import {
|
|
|
+ certifySharedPageAttachmentMiddleware,
|
|
|
+ type RequestToAllowShareLink,
|
|
|
+} from './certify-shared-page-attachment';
|
|
|
import type { ValidReferer } from './interfaces';
|
|
|
|
|
|
const mocks = vi.hoisted(() => {
|
|
|
@@ -14,19 +17,22 @@ const mocks = vi.hoisted(() => {
|
|
|
};
|
|
|
});
|
|
|
|
|
|
-vi.mock('./validate-referer', () => ({ validateReferer: mocks.validateRefererMock }));
|
|
|
-vi.mock('./retrieve-valid-share-link', () => ({ retrieveValidShareLinkByReferer: mocks.retrieveValidShareLinkByRefererMock }));
|
|
|
-vi.mock('./validate-attachment', () => ({ validateAttachment: mocks.validateAttachmentMock }));
|
|
|
-
|
|
|
+vi.mock('./validate-referer', () => ({
|
|
|
+ validateReferer: mocks.validateRefererMock,
|
|
|
+}));
|
|
|
+vi.mock('./retrieve-valid-share-link', () => ({
|
|
|
+ retrieveValidShareLinkByReferer: mocks.retrieveValidShareLinkByRefererMock,
|
|
|
+}));
|
|
|
+vi.mock('./validate-attachment', () => ({
|
|
|
+ validateAttachment: mocks.validateAttachmentMock,
|
|
|
+}));
|
|
|
|
|
|
describe('certifySharedPageAttachmentMiddleware', () => {
|
|
|
-
|
|
|
const res = mock<Response>();
|
|
|
const next = vi.fn();
|
|
|
|
|
|
describe('should called next() without req.isSharedPage set', () => {
|
|
|
-
|
|
|
- it('when the fileId param is null', async() => {
|
|
|
+ it('when the fileId param is null', async () => {
|
|
|
// setup
|
|
|
const req = mock<RequestToAllowShareLink>();
|
|
|
req.params = {}; // id: undefined
|
|
|
@@ -41,7 +47,7 @@ describe('certifySharedPageAttachmentMiddleware', () => {
|
|
|
expect(next).toHaveBeenCalledOnce();
|
|
|
});
|
|
|
|
|
|
- it('when validateReferer returns null', async() => {
|
|
|
+ it('when validateReferer returns null', async () => {
|
|
|
// setup
|
|
|
const req = mock<RequestToAllowShareLink>();
|
|
|
req.params = { id: 'file id string' };
|
|
|
@@ -57,7 +63,7 @@ describe('certifySharedPageAttachmentMiddleware', () => {
|
|
|
expect(next).toHaveBeenCalledOnce();
|
|
|
});
|
|
|
|
|
|
- it('when retrieveValidShareLinkByReferer returns null', async() => {
|
|
|
+ it('when retrieveValidShareLinkByReferer returns null', async () => {
|
|
|
// setup
|
|
|
const req = mock<RequestToAllowShareLink>();
|
|
|
req.params = { id: 'file id string' };
|
|
|
@@ -78,12 +84,14 @@ describe('certifySharedPageAttachmentMiddleware', () => {
|
|
|
expect(mocks.validateRefererMock).toHaveBeenCalledOnce();
|
|
|
expect(mocks.validateRefererMock).toHaveBeenCalledWith('referer string');
|
|
|
expect(mocks.retrieveValidShareLinkByRefererMock).toHaveBeenCalledOnce();
|
|
|
- expect(mocks.retrieveValidShareLinkByRefererMock).toHaveBeenCalledWith(validReferer);
|
|
|
+ expect(mocks.retrieveValidShareLinkByRefererMock).toHaveBeenCalledWith(
|
|
|
+ validReferer,
|
|
|
+ );
|
|
|
expect(req.isSharedPage === true).toBeFalsy();
|
|
|
expect(next).toHaveBeenCalledOnce();
|
|
|
});
|
|
|
|
|
|
- it('when validateAttachment returns false', async() => {
|
|
|
+ it('when validateAttachment returns false', async () => {
|
|
|
// setup
|
|
|
const req = mock<RequestToAllowShareLink>();
|
|
|
req.params = { id: 'file id string' };
|
|
|
@@ -93,7 +101,9 @@ describe('certifySharedPageAttachmentMiddleware', () => {
|
|
|
mocks.validateRefererMock.mockImplementation(() => validReferer);
|
|
|
|
|
|
const shareLinkMock = mock<ShareLinkDocument>();
|
|
|
- mocks.retrieveValidShareLinkByRefererMock.mockResolvedValue(shareLinkMock);
|
|
|
+ mocks.retrieveValidShareLinkByRefererMock.mockResolvedValue(
|
|
|
+ shareLinkMock,
|
|
|
+ );
|
|
|
|
|
|
mocks.validateAttachmentMock.mockResolvedValue(false);
|
|
|
|
|
|
@@ -104,16 +114,20 @@ describe('certifySharedPageAttachmentMiddleware', () => {
|
|
|
expect(mocks.validateRefererMock).toHaveBeenCalledOnce();
|
|
|
expect(mocks.validateRefererMock).toHaveBeenCalledWith('referer string');
|
|
|
expect(mocks.retrieveValidShareLinkByRefererMock).toHaveBeenCalledOnce();
|
|
|
- expect(mocks.retrieveValidShareLinkByRefererMock).toHaveBeenCalledWith(validReferer);
|
|
|
+ expect(mocks.retrieveValidShareLinkByRefererMock).toHaveBeenCalledWith(
|
|
|
+ validReferer,
|
|
|
+ );
|
|
|
expect(mocks.validateAttachmentMock).toHaveBeenCalledOnce();
|
|
|
- expect(mocks.validateAttachmentMock).toHaveBeenCalledWith('file id string', shareLinkMock);
|
|
|
+ expect(mocks.validateAttachmentMock).toHaveBeenCalledWith(
|
|
|
+ 'file id string',
|
|
|
+ shareLinkMock,
|
|
|
+ );
|
|
|
expect(req.isSharedPage === true).toBeFalsy();
|
|
|
expect(next).toHaveBeenCalledOnce();
|
|
|
});
|
|
|
-
|
|
|
});
|
|
|
|
|
|
- it('should set req.isSharedPage true', async() => {
|
|
|
+ it('should set req.isSharedPage true', async () => {
|
|
|
// setup
|
|
|
const req = mock<RequestToAllowShareLink>();
|
|
|
req.params = { id: 'file id string' };
|
|
|
@@ -134,9 +148,14 @@ describe('certifySharedPageAttachmentMiddleware', () => {
|
|
|
expect(mocks.validateRefererMock).toHaveBeenCalledOnce();
|
|
|
expect(mocks.validateRefererMock).toHaveBeenCalledWith('referer string');
|
|
|
expect(mocks.retrieveValidShareLinkByRefererMock).toHaveBeenCalledOnce();
|
|
|
- expect(mocks.retrieveValidShareLinkByRefererMock).toHaveBeenCalledWith(validReferer);
|
|
|
+ expect(mocks.retrieveValidShareLinkByRefererMock).toHaveBeenCalledWith(
|
|
|
+ validReferer,
|
|
|
+ );
|
|
|
expect(mocks.validateAttachmentMock).toHaveBeenCalledOnce();
|
|
|
- expect(mocks.validateAttachmentMock).toHaveBeenCalledWith('file id string', shareLinkMock);
|
|
|
+ expect(mocks.validateAttachmentMock).toHaveBeenCalledWith(
|
|
|
+ 'file id string',
|
|
|
+ shareLinkMock,
|
|
|
+ );
|
|
|
|
|
|
expect(req.isSharedPage === true).toBeTruthy();
|
|
|
|