From b7886b8d25a0ccec2f0a2e472a3bd6f8c7fc45a9 Mon Sep 17 00:00:00 2001 From: Hongbo Wu Date: Tue, 14 May 2024 22:47:10 +0800 Subject: [PATCH] fix tests --- packages/api/src/services/save_page.ts | 2 +- packages/api/test/global-setup.ts | 12 ++++++++++++ packages/api/test/global-teardown.ts | 3 +++ packages/api/test/mock_storage.ts | 4 ++++ 4 files changed, 20 insertions(+), 1 deletion(-) diff --git a/packages/api/src/services/save_page.ts b/packages/api/src/services/save_page.ts index 977e5d4bd..cf1a1e69f 100644 --- a/packages/api/src/services/save_page.ts +++ b/packages/api/src/services/save_page.ts @@ -280,7 +280,7 @@ export const parsedContentToLibraryItem = ({ state: state ? (state as unknown as LibraryItemState) : LibraryItemState.Succeeded, - savedAt: validatedDate(savedAt), + savedAt: validatedDate(savedAt) || new Date(), siteName: parsedContent?.siteName, itemLanguage: parsedContent?.language, siteIcon: parsedContent?.siteIcon, diff --git a/packages/api/test/global-setup.ts b/packages/api/test/global-setup.ts index 56c82a57f..00b8ebf24 100644 --- a/packages/api/test/global-setup.ts +++ b/packages/api/test/global-setup.ts @@ -1,6 +1,9 @@ +import { Storage } from '@google-cloud/storage' +import sinon from 'sinon' import { env } from '../src/env' import { redisDataSource } from '../src/redis_data_source' import { createTestConnection } from './db' +import { MockBucket } from './mock_storage' import { startApolloServer, startWorker } from './util' export const mochaGlobalSetup = async () => { @@ -19,4 +22,13 @@ export const mochaGlobalSetup = async () => { await startApolloServer() console.log('apollo server started') + + // mock cloud storage + const mockBucket = new MockBucket('test') + sinon.replace( + Storage.prototype, + 'bucket', + sinon.fake.returns(mockBucket as never) + ) + console.log('mock cloud storage created') } diff --git a/packages/api/test/global-teardown.ts b/packages/api/test/global-teardown.ts index 383fd6e36..771633717 100644 --- a/packages/api/test/global-teardown.ts +++ b/packages/api/test/global-teardown.ts @@ -1,9 +1,12 @@ +import sinon from 'sinon' import { appDataSource } from '../src/data_source' import { env } from '../src/env' import { redisDataSource } from '../src/redis_data_source' import { stopApolloServer, stopWorker } from './util' export const mochaGlobalTeardown = async () => { + sinon.restore() + await stopApolloServer() console.log('apollo server stopped') diff --git a/packages/api/test/mock_storage.ts b/packages/api/test/mock_storage.ts index 57d0aaf2b..8fbf12c16 100644 --- a/packages/api/test/mock_storage.ts +++ b/packages/api/test/mock_storage.ts @@ -54,6 +54,10 @@ class MockFile { makePublic() { return } + + save() { + return + } } class MockWriteStream extends Writable {