From 9ee425ad748b384c9efed49bce412c40dc31bebe Mon Sep 17 00:00:00 2001 From: Konstantin Vasilev Date: Tue, 23 Aug 2022 11:38:03 +0300 Subject: [PATCH] feat(plugin-data-viewer): CB-2375 Add tests --- .../src/DataViewerSettingsService.test.ts | 63 ++++++++++++++----- 1 file changed, 48 insertions(+), 15 deletions(-) diff --git a/webapp/packages/plugin-data-viewer/src/DataViewerSettingsService.test.ts b/webapp/packages/plugin-data-viewer/src/DataViewerSettingsService.test.ts index 8d1c7c2065..9a469adb7a 100644 --- a/webapp/packages/plugin-data-viewer/src/DataViewerSettingsService.test.ts +++ b/webapp/packages/plugin-data-viewer/src/DataViewerSettingsService.test.ts @@ -66,30 +66,63 @@ const equalConfigB = { }, }; -test('New settings equal deprecated settings A', async () => { +async function setupSettingsService(mockConfig?: any) { const settings = app.injector.getServiceByClass(DataViewerSettingsService); const config = app.injector.getServiceByClass(ServerConfigResource); - server.use( - endpoint.query('serverConfig', mockServerConfig(equalConfigA)), - ); + if (mockConfig) { + server.use( + endpoint.query('serverConfig', mockServerConfig(mockConfig)), + ); + } await config.refresh(); - expect(settings.settings.getValue('disableEdit')).toBe(testValueA); - expect(settings.deprecatedSettings.getValue('disableEdit')).toBe(testValueA); + return settings; +} + +test('New settings equal deprecated settings A', async () => { + const settingsService = await setupSettingsService(equalConfigA); + + expect(settingsService.settings.getValue('disableEdit')).toBe(testValueA); + expect(settingsService.deprecatedSettings.getValue('disableEdit')).toBe(testValueA); }); test('New settings equal deprecated settings B', async () => { - const settings = app.injector.getServiceByClass(DataViewerSettingsService); - const config = app.injector.getServiceByClass(ServerConfigResource); + const settingsService = await setupSettingsService(equalConfigB); - server.use( - endpoint.query('serverConfig', mockServerConfig(equalConfigB)), - ); + expect(settingsService.settings.getValue('disableEdit')).toBe(testValueB); + expect(settingsService.deprecatedSettings.getValue('disableEdit')).toBe(testValueB); +}); - await config.refresh(); +describe('DataViewerSettingsService.getDefaultRowsCount', () => { + let settingsService: DataViewerSettingsService = null as any; - expect(settings.settings.getValue('disableEdit')).toBe(testValueB); - expect(settings.deprecatedSettings.getValue('disableEdit')).toBe(testValueB); -}); \ No newline at end of file + beforeAll(async () => { + settingsService = await setupSettingsService({ + plugin: { + 'data-viewer': { + fetchMin: 200, + fetchMax: 1000, + fetchDefault: 300, + }, + }, + }); + }); + + test('should return valid value', () => { + expect(settingsService.getDefaultRowsCount(400)).toBe(400); + }); + + test('should return valid default value', () => { + expect(settingsService.getDefaultRowsCount()).toBe(300); + }); + + test('should return valid minimal value', () => { + expect(settingsService.getDefaultRowsCount(10)).toBe(200); + }); + + test('should return valid maximal value', () => { + expect(settingsService.getDefaultRowsCount(1100)).toBe(1000); + }); +});