diff --git a/src/core/classes/tests/database-table.test.ts b/src/core/classes/tests/database-table.test.ts index 8e1e0f1e9..3b9c2bca2 100644 --- a/src/core/classes/tests/database-table.test.ts +++ b/src/core/classes/tests/database-table.test.ts @@ -63,7 +63,7 @@ function prepareStubs(config: Partial = {}): [User[], }); const table = new CoreDatabaseTableProxy(config, database, 'users'); - mockSingleton(CoreConfig, { isReady: () => Promise.resolve() }); + mockSingleton(CoreConfig, { ready: () => Promise.resolve() }); return [records, database, table]; } diff --git a/src/core/directives/tests/format-text.test.ts b/src/core/directives/tests/format-text.test.ts index 0face19cd..265cd218a 100644 --- a/src/core/directives/tests/format-text.test.ts +++ b/src/core/directives/tests/format-text.test.ts @@ -33,7 +33,15 @@ describe('CoreFormatTextDirective', () => { beforeEach(() => { mockSingleton(CoreSites, { getSite: () => Promise.reject() }); - mockSingleton(CoreConfig, { get: (_, defaultValue) => defaultValue }); + mockSingleton(CoreConfig, { + get(name, defaultValue) { + if (defaultValue === undefined) { + throw Error(`Default value not provided for '${name}'`); + } + + return Promise.resolve(defaultValue); + }, + }); mockSingleton(CoreFilter, { formatText: text => Promise.resolve(text) }); mockSingleton(CoreFilterHelper, { getFiltersAndFormatText: text => Promise.resolve({ text, filters: [] }) }); @@ -64,7 +72,7 @@ describe('CoreFormatTextDirective', () => { it('should format text', async () => { // Arrange - mockSingleton(CoreFilter, { formatText: () => 'Formatted text' }); + mockSingleton(CoreFilter, { formatText: () => Promise.resolve('Formatted text') }); // Act const { nativeElement } = await renderTemplate( @@ -131,7 +139,7 @@ describe('CoreFormatTextDirective', () => { mockSingleton(CoreFilepool, { getSrcByUrl: () => Promise.resolve('file://local-path') }); mockSingleton(CoreSites, { getSite: () => Promise.resolve(site), - getCurrentSite: () => Promise.resolve(site), + getCurrentSite: () => site, }); // Act diff --git a/src/core/services/tests/navigator.test.ts b/src/core/services/tests/navigator.test.ts index 0433ecb0f..ff6b9f409 100644 --- a/src/core/services/tests/navigator.test.ts +++ b/src/core/services/tests/navigator.test.ts @@ -40,7 +40,7 @@ describe('CoreNavigator', () => { router = mockSingleton(Router, { url: '/' }); - mockSingleton(CoreSites, { getCurrentSiteId: () => 42, isLoggedIn: () => true }); + mockSingleton(CoreSites, { getCurrentSiteId: () => '42', isLoggedIn: () => true }); mockSingleton(CoreMainMenu, { isMainMenuTab: path => Promise.resolve(currentMainMenuHandlers.includes(path)) }); }); diff --git a/src/testing/utils.ts b/src/testing/utils.ts index b4bad0c31..27e20a0b0 100644 --- a/src/testing/utils.ts +++ b/src/testing/utils.ts @@ -183,8 +183,7 @@ export function mock( return instance as T; } -export function mockSingleton(singletonClass: CoreSingletonProxy, instance: T): T; -export function mockSingleton(singletonClass: CoreSingletonProxy, instance?: Record): T; +export function mockSingleton(singletonClass: CoreSingletonProxy, instance: T | Partial): T; export function mockSingleton( singletonClass: CoreSingletonProxy, methods: string[],