diff --git a/src/gmp/commands/__tests__/user.test.js b/src/gmp/commands/__tests__/user.test.js index 05b26bce9e..2481bc050f 100644 --- a/src/gmp/commands/__tests__/user.test.js +++ b/src/gmp/commands/__tests__/user.test.js @@ -8,7 +8,7 @@ import {createResponse, createHttp} from 'gmp/commands/testing'; import {UserCommand, transformSettingName} from 'gmp/commands/users'; describe('UserCommand tests', () => { - test('should parse auth settinngs in currentAuthSettings', () => { + test('should parse auth settings in currentAuthSettings', () => { const response = createResponse({ auth_settings: { describe_auth_response: { diff --git a/src/web/entity/Component.jsx b/src/web/entity/Component.jsx index 4123b3cdc9..64fc0196b2 100644 --- a/src/web/entity/Component.jsx +++ b/src/web/entity/Component.jsx @@ -4,155 +4,154 @@ */ import {isDefined} from 'gmp/utils/identity'; -import React from 'react'; -import {connect} from 'react-redux'; +import {useEffect} from 'react'; +import {useDispatch, useSelector} from 'react-redux'; +import useGmp from 'web/hooks/useGmp'; +import useShallowEqualSelector from 'web/hooks/useShallowEqualSelector'; import {createDeleteEntity} from 'web/store/entities/utils/actions'; import {loadUserSettingDefaults} from 'web/store/usersettings/defaults/actions'; import {getUserSettingsDefaults} from 'web/store/usersettings/defaults/selectors'; import {getUsername} from 'web/store/usersettings/selectors'; -import compose from 'web/utils/Compose'; import PropTypes from 'web/utils/PropTypes'; import {generateFilename} from 'web/utils/Render'; -import withGmp from 'web/utils/withGmp'; -class EntityComponent extends React.Component { - constructor(...args) { - super(...args); - - this.handleEntityClone = this.handleEntityClone.bind(this); - this.handleEntityDelete = this.handleEntityDelete.bind(this); - this.handleEntityDownload = this.handleEntityDownload.bind(this); - this.handleEntitySave = this.handleEntitySave.bind(this); - } - - componentDidMount() { - this.props.loadSettings(); +/** + * Executes a promise and handles success and error callbacks. + * + * @param {Promise} promise - The promise to be executed. + * @param {Function} [onSuccess] - Optional callback function to be called on successful resolution of the promise. + * @param {Function} [onError] - Optional callback function to be called if the promise is rejected. + * @returns {Promise<*>} - The result of the onSuccess callback if provided, otherwise the resolved value of the promise. + * If the promise is rejected the result of the onError callback if provided. + * Otherwise the error from the rejected promise is thrown. + * @throws {*} - The error from the rejected promise if onError callback is not provided. + */ +const actionFunction = async (promise, onSuccess, onError) => { + try { + const response = await promise; + if (isDefined(onSuccess)) { + return onSuccess(response); + } + } catch (error) { + if (isDefined(onError)) { + return onError(error); + } + throw error; } +}; - handleEntityDelete(entity) { - const {deleteEntity, onDeleted, onDeleteError} = this.props; - - this.handleInteraction(); +const EntityComponent = ({ + children, + name, + onInteraction, + onDownloaded, + onDownloadError, + onSaved, + onSaveError, + onCreated, + onCreateError, + onDeleted, + onDeleteError, + onCloned, + onCloneError, +}) => { + const gmp = useGmp(); + const username = useSelector(getUsername); + const dispatch = useDispatch(); + const cmd = gmp[name]; + const deleteEntity = entity => + dispatch(createDeleteEntity({entityType: name})(gmp)(entity.id)); + const userDefaultsSelector = useShallowEqualSelector(getUserSettingsDefaults); + const detailsExportFileName = userDefaultsSelector.getValueByName( + 'detailsexportfilename', + ); - return deleteEntity(entity.id).then(onDeleted, onDeleteError); - } + const handleInteraction = () => { + if (isDefined(onInteraction)) { + onInteraction(); + } + }; - handleEntityClone(entity) { - const {onCloned, onCloneError, gmp, name} = this.props; - const cmd = gmp[name]; + const handleEntityDownload = async entity => { + handleInteraction(); - this.handleInteraction(); + const filename = generateFilename({ + creationTime: entity.creationTime, + fileNameFormat: detailsExportFileName, + id: entity.id, + modificationTime: entity.modificationTime, + resourceName: entity.name, + resourceType: name, + username, + }); - return cmd.clone(entity).then(onCloned, onCloneError); - } + try { + const response = await cmd.export(entity); - handleEntitySave(data) { - const {gmp, name} = this.props; - const cmd = gmp[name]; + if (isDefined(onDownloaded)) { + return onDownloaded({filename, data: response.data}); + } + } catch (error) { + if (isDefined(onDownloadError)) { + return onDownloadError(error); + } + } + }; - this.handleInteraction(); + const handleEntitySave = async data => { + handleInteraction(); if (isDefined(data.id)) { - const {onSaved, onSaveError} = this.props; - return cmd.save(data).then(onSaved, onSaveError); + return actionFunction(cmd.save(data), onSaved, onSaveError); } - const {onCreated, onCreateError} = this.props; - return cmd.create(data).then(onCreated, onCreateError); - } + return actionFunction(cmd.create(data), onCreated, onCreateError); + }; - handleEntityDownload(entity) { - const { - detailsExportFileName, - username, - gmp, - name, - onDownloaded, - onDownloadError, - } = this.props; - const cmd = gmp[name]; - - this.handleInteraction(); - - const promise = cmd.export(entity).then(response => { - const filename = generateFilename({ - creationTime: entity.creationTime, - fileNameFormat: detailsExportFileName, - id: entity.id, - modificationTime: entity.modificationTime, - resourceName: entity.name, - resourceType: name, - username, - }); - - return {filename, data: response.data}; - }); + const handleEntityDelete = async entity => { + handleInteraction(); - return promise.then(onDownloaded, onDownloadError); - } + return actionFunction(deleteEntity(entity), onDeleted, onDeleteError); + }; - handleInteraction() { - const {onInteraction} = this.props; - if (isDefined(onInteraction)) { - onInteraction(); - } - } + const handleEntityClone = async entity => { + handleInteraction(); - render() { - const {children} = this.props; + return actionFunction(cmd.clone(entity), onCloned, onCloneError); + }; - return children({ - create: this.handleEntitySave, - clone: this.handleEntityClone, - delete: this.handleEntityDelete, - save: this.handleEntitySave, - download: this.handleEntityDownload, - }); - } -} + useEffect(() => { + const loadSettings = () => dispatch(loadUserSettingDefaults(gmp)()); + if ( + !userDefaultsSelector.isLoading() && + !isDefined(detailsExportFileName) && + !isDefined(userDefaultsSelector.getError()) + ) { + loadSettings(); + } + }, [detailsExportFileName, dispatch, gmp, userDefaultsSelector]); + + return children({ + create: handleEntitySave, + clone: handleEntityClone, + delete: handleEntityDelete, + save: handleEntitySave, + download: handleEntityDownload, + }); +}; EntityComponent.propTypes = { children: PropTypes.func.isRequired, - deleteEntity: PropTypes.func.isRequired, - detailsExportFileName: PropTypes.string, - gmp: PropTypes.gmp.isRequired, - loadSettings: PropTypes.func.isRequired, name: PropTypes.string.isRequired, - username: PropTypes.string, - onCloneError: PropTypes.func, onCloned: PropTypes.func, - onCreateError: PropTypes.func, + onCloneError: PropTypes.func, onCreated: PropTypes.func, - onDeleteError: PropTypes.func, + onCreateError: PropTypes.func, onDeleted: PropTypes.func, - onDownloadError: PropTypes.func, + onDeleteError: PropTypes.func, onDownloaded: PropTypes.func, - onInteraction: PropTypes.func.isRequired, - onSaveError: PropTypes.func, - onSaved: PropTypes.func, -}; - -const mapStateToProps = rootState => { - const userDefaultsSelector = getUserSettingsDefaults(rootState); - const username = getUsername(rootState); - const detailsExportFileName = userDefaultsSelector.getValueByName( - 'detailsexportfilename', - ); - return { - detailsExportFileName, - username, - }; -}; - -const mapDispatchToProps = (dispatch, {name, gmp}) => { - const deleteEntity = createDeleteEntity({entityType: name}); - return { - deleteEntity: id => dispatch(deleteEntity(gmp)(id)), - loadSettings: () => dispatch(loadUserSettingDefaults(gmp)()), - }; + onDownloadError: PropTypes.func, + onInteraction: PropTypes.func, }; -export default compose( - withGmp, - connect(mapStateToProps, mapDispatchToProps), -)(EntityComponent); +export default EntityComponent; diff --git a/src/web/entity/__tests__/Component.tests.jsx b/src/web/entity/__tests__/Component.tests.jsx index a8a7c266a0..79f15f6860 100644 --- a/src/web/entity/__tests__/Component.tests.jsx +++ b/src/web/entity/__tests__/Component.tests.jsx @@ -16,10 +16,12 @@ const currentSettingsResponse = { }, }, }; -const currentSettings = testing.fn().mockResolvedValue(currentSettingsResponse); describe('EntityComponent', () => { test('should render', () => { + const currentSettings = testing + .fn() + .mockResolvedValue(currentSettingsResponse); const gmp = {foo: {}, user: {currentSettings}}; const {render} = rendererWith({gmp}); const {queryByTestId} = render( @@ -45,6 +47,9 @@ describe('EntityComponent', () => { }); test('should allow cloning an entity', async () => { + const currentSettings = testing + .fn() + .mockResolvedValue(currentSettingsResponse); const clonedData = {id: '123'}; const onCloned = testing.fn(); const onCloneError = testing.fn(); @@ -75,6 +80,9 @@ describe('EntityComponent', () => { }); test('should call onCloneError when cloning an entity fails', async () => { + const currentSettings = testing + .fn() + .mockResolvedValue(currentSettingsResponse); const error = new Error('error'); const onCloned = testing.fn(); const onCloneError = testing.fn(); @@ -105,6 +113,9 @@ describe('EntityComponent', () => { }); test('should allow deleting an entity', async () => { + const currentSettings = testing + .fn() + .mockResolvedValue(currentSettingsResponse); const deletedData = {id: '123'}; const onDeleted = testing.fn(); const onDeleteError = testing.fn(); @@ -137,6 +148,9 @@ describe('EntityComponent', () => { }); test('should call onDeleteError when deleting an entity fails', async () => { + const currentSettings = testing + .fn() + .mockResolvedValue(currentSettingsResponse); const error = new Error('error'); const onDeleted = testing.fn(); const onDeleteError = testing.fn(); @@ -167,6 +181,9 @@ describe('EntityComponent', () => { }); test('should allow saving an entity', async () => { + const currentSettings = testing + .fn() + .mockResolvedValue(currentSettingsResponse); const savedData = {id: '123'}; const onSaved = testing.fn(); const onSaveError = testing.fn(); @@ -199,6 +216,9 @@ describe('EntityComponent', () => { }); test('should call onSaveError when saving an entity fails', async () => { + const currentSettings = testing + .fn() + .mockResolvedValue(currentSettingsResponse); const error = new Error('error'); const onSaved = testing.fn(); const onSaveError = testing.fn(); @@ -229,6 +249,9 @@ describe('EntityComponent', () => { }); test('should allow to create an entity', async () => { + const currentSettings = testing + .fn() + .mockResolvedValue(currentSettingsResponse); const createdData = {id: '123'}; const onCreated = testing.fn(); const onCreateError = testing.fn(); @@ -261,6 +284,9 @@ describe('EntityComponent', () => { }); test('should call onCreateError when creating an entity fails', async () => { + const currentSettings = testing + .fn() + .mockResolvedValue(currentSettingsResponse); const error = new Error('error'); const onCreated = testing.fn(); const onCreateError = testing.fn(); @@ -291,6 +317,9 @@ describe('EntityComponent', () => { }); test('should allow to download an entity', async () => { + const currentSettings = testing + .fn() + .mockResolvedValue(currentSettingsResponse); const entity = { id: '123', name: 'foo', @@ -320,8 +349,8 @@ describe('EntityComponent', () => { )} , ); - await wait(); // wait for currentSettings to be resolved and put into the store + expect(currentSettings).toHaveBeenCalledOnce(); queryByTestId('button').click(); await wait(); expect(onDownloaded).toHaveBeenCalledWith({ @@ -333,6 +362,9 @@ describe('EntityComponent', () => { }); test('should call onDownloadError when downloading an entity fails', async () => { + const currentSettings = testing + .fn() + .mockResolvedValue(currentSettingsResponse); const error = new Error('error'); const entity = {id: '123'}; const onDownloaded = testing.fn(); diff --git a/src/web/pages/__mocks__/CurrentSettings.js b/src/web/pages/__mocks__/CurrentSettings.js new file mode 100644 index 0000000000..378811e491 --- /dev/null +++ b/src/web/pages/__mocks__/CurrentSettings.js @@ -0,0 +1,14 @@ +/* SPDX-FileCopyrightText: 2025 Greenbone AG + * + * SPDX-License-Identifier: AGPL-3.0-or-later + */ + +export const currentSettingsDefaultResponse = { + data: { + detailsexportfilename: { + id: 'a6ac88c5-729c-41ba-ac0a-deea4a3441f2', + name: 'Details Export File Name', + value: '%T-%U', + }, + }, +}; diff --git a/src/web/pages/alerts/__tests__/DetailsPage.test.jsx b/src/web/pages/alerts/__tests__/DetailsPage.test.jsx index ff3338b2e6..3365442d26 100644 --- a/src/web/pages/alerts/__tests__/DetailsPage.test.jsx +++ b/src/web/pages/alerts/__tests__/DetailsPage.test.jsx @@ -8,12 +8,12 @@ import Capabilities from 'gmp/capabilities/capabilities'; import CollectionCounts from 'gmp/collection/collectioncounts'; import Alert from 'gmp/models/alert'; import Filter from 'gmp/models/filter'; +import {currentSettingsDefaultResponse} from 'web/pages/__mocks__/CurrentSettings'; import Detailspage, {ToolBarIcons} from 'web/pages/alerts/DetailsPage'; import {entityLoadingActions} from 'web/store/entities/alerts'; import {setTimezone, setUsername} from 'web/store/usersettings/actions'; import {rendererWith, fireEvent, screen, wait} from 'web/utils/Testing'; - const caps = new Capabilities(['everything']); const reloadInterval = -1; @@ -80,9 +80,9 @@ beforeEach(() => { }, }); - currentSettings = testing.fn().mockResolvedValue({ - foo: 'bar', - }); + currentSettings = testing + .fn() + .mockResolvedValue(currentSettingsDefaultResponse); renewSession = testing.fn().mockResolvedValue({ foo: 'bar', diff --git a/src/web/pages/alerts/__tests__/ListPage.test.jsx b/src/web/pages/alerts/__tests__/ListPage.test.jsx index 5aea6305d0..3453edd3c3 100644 --- a/src/web/pages/alerts/__tests__/ListPage.test.jsx +++ b/src/web/pages/alerts/__tests__/ListPage.test.jsx @@ -21,6 +21,7 @@ import { getTextInputs, testBulkTrashcanDialog, } from 'web/components/testing'; +import {currentSettingsDefaultResponse} from 'web/pages/__mocks__/CurrentSettings'; import AlertPage, {ToolBarIcons} from 'web/pages/alerts/ListPage'; import {entitiesLoadingActions} from 'web/store/entities/alerts'; import {setTimezone, setUsername} from 'web/store/usersettings/actions'; @@ -28,7 +29,6 @@ import {defaultFilterLoadingActions} from 'web/store/usersettings/defaultfilters import {loadingActions} from 'web/store/usersettings/defaults/actions'; import {rendererWith, fireEvent, screen, wait} from 'web/utils/Testing'; - const caps = new Capabilities(['everything']); const wrongCaps = new Capabilities(['get_config']); @@ -88,9 +88,9 @@ beforeEach(() => { filter: null, }); - currentSettings = testing.fn().mockResolvedValue({ - foo: 'bar', - }); + currentSettings = testing + .fn() + .mockResolvedValue(currentSettingsDefaultResponse); renewSession = testing.fn().mockResolvedValue({ foo: 'bar', diff --git a/src/web/pages/audits/__tests__/DetailsPage.test.jsx b/src/web/pages/audits/__tests__/DetailsPage.test.jsx index e5c1e90d29..25744b7501 100644 --- a/src/web/pages/audits/__tests__/DetailsPage.test.jsx +++ b/src/web/pages/audits/__tests__/DetailsPage.test.jsx @@ -11,12 +11,12 @@ import Filter from 'gmp/models/filter'; import Policy from 'gmp/models/policy'; import Schedule from 'gmp/models/schedule'; import {clickElement, getActionItems} from 'web/components/testing'; +import {currentSettingsDefaultResponse} from 'web/pages/__mocks__/CurrentSettings'; import Detailspage, {ToolBarIcons} from 'web/pages/audits/DetailsPage'; import {entityLoadingActions} from 'web/store/entities/audits'; import {setTimezone, setUsername} from 'web/store/usersettings/actions'; import {rendererWith, fireEvent} from 'web/utils/Testing'; - const policy = Policy.fromElement({ _id: '314', name: 'foo', @@ -232,9 +232,9 @@ const caps = new Capabilities(['everything']); const reloadInterval = 1; const manualUrl = 'test/'; -const currentSettings = testing.fn().mockResolvedValue({ - foo: 'bar', -}); +const currentSettings = testing + .fn() + .mockResolvedValue(currentSettingsDefaultResponse); const renewSession = testing.fn().mockResolvedValue({ foo: 'bar', diff --git a/src/web/pages/audits/__tests__/ListPage.test.jsx b/src/web/pages/audits/__tests__/ListPage.test.jsx index 7eb3f1d679..0fe884632c 100644 --- a/src/web/pages/audits/__tests__/ListPage.test.jsx +++ b/src/web/pages/audits/__tests__/ListPage.test.jsx @@ -15,6 +15,7 @@ import { getTableBody, testBulkTrashcanDialog, } from 'web/components/testing'; +import {currentSettingsDefaultResponse} from 'web/pages/__mocks__/CurrentSettings'; import AuditPage, {ToolBarIcons} from 'web/pages/audits/ListPage'; import {entitiesLoadingActions} from 'web/store/entities/audits'; import {setTimezone, setUsername} from 'web/store/usersettings/actions'; @@ -22,7 +23,6 @@ import {defaultFilterLoadingActions} from 'web/store/usersettings/defaultfilters import {loadingActions} from 'web/store/usersettings/defaults/actions'; import {rendererWith, fireEvent, wait, screen} from 'web/utils/Testing'; - const lastReport = { report: { _id: '1234', @@ -49,9 +49,9 @@ const wrongCaps = new Capabilities(['get_config']); const reloadInterval = 1; const manualUrl = 'test/'; -const currentSettings = testing.fn().mockResolvedValue({ - foo: 'bar', -}); +const currentSettings = testing + .fn() + .mockResolvedValue(currentSettingsDefaultResponse); const getSetting = testing.fn().mockResolvedValue({ filter: null, diff --git a/src/web/pages/cpes/__tests__/DetailsPage.test.jsx b/src/web/pages/cpes/__tests__/DetailsPage.test.jsx index f08eda58ce..92fc571ac4 100644 --- a/src/web/pages/cpes/__tests__/DetailsPage.test.jsx +++ b/src/web/pages/cpes/__tests__/DetailsPage.test.jsx @@ -8,12 +8,12 @@ import Capabilities from 'gmp/capabilities/capabilities'; import CollectionCounts from 'gmp/collection/collectioncounts'; import CPE from 'gmp/models/cpe'; import Filter from 'gmp/models/filter'; +import {currentSettingsDefaultResponse} from 'web/pages/__mocks__/CurrentSettings'; import CpePage, {ToolBarIcons} from 'web/pages/cpes/DetailsPage'; import {entityLoadingActions} from 'web/store/entities/cpes'; import {setTimezone, setUsername} from 'web/store/usersettings/actions'; import {rendererWith, wait, fireEvent} from 'web/utils/Testing'; - const cpe = CPE.fromElement({ _id: 'cpe:/a:foo', name: 'foo', @@ -43,9 +43,9 @@ let currentSettings; let renewSession; beforeEach(() => { - currentSettings = testing.fn().mockResolvedValue({ - foo: 'bar', - }); + currentSettings = testing + .fn() + .mockResolvedValue(currentSettingsDefaultResponse); renewSession = testing.fn().mockResolvedValue({ foo: 'bar', diff --git a/src/web/pages/cpes/__tests__/ListPage.test.jsx b/src/web/pages/cpes/__tests__/ListPage.test.jsx index e77419fd11..4fa2c8b14e 100644 --- a/src/web/pages/cpes/__tests__/ListPage.test.jsx +++ b/src/web/pages/cpes/__tests__/ListPage.test.jsx @@ -19,6 +19,7 @@ import { getTableFooter, getTextInputs, } from 'web/components/testing'; +import {currentSettingsDefaultResponse} from 'web/pages/__mocks__/CurrentSettings'; import CpesPage, {ToolBarIcons} from 'web/pages/cpes/ListPage'; import {entitiesLoadingActions} from 'web/store/entities/cpes'; import {setTimezone, setUsername} from 'web/store/usersettings/actions'; @@ -26,7 +27,6 @@ import {defaultFilterLoadingActions} from 'web/store/usersettings/defaultfilters import {loadingActions} from 'web/store/usersettings/defaults/actions'; import {rendererWith, screen, wait} from 'web/utils/Testing'; - const cpe = CPE.fromElement({ _id: 'cpe:/a:foo', name: 'foo', @@ -97,9 +97,9 @@ beforeEach(() => { filter: null, }); - currentSettings = testing.fn().mockResolvedValue({ - foo: 'bar', - }); + currentSettings = testing + .fn() + .mockResolvedValue(currentSettingsDefaultResponse); renewSession = testing.fn().mockResolvedValue({ foo: 'bar', diff --git a/src/web/pages/credentials/__tests__/DetailsPage.test.jsx b/src/web/pages/credentials/__tests__/DetailsPage.test.jsx index 7093b04e6e..ee90c052b3 100644 --- a/src/web/pages/credentials/__tests__/DetailsPage.test.jsx +++ b/src/web/pages/credentials/__tests__/DetailsPage.test.jsx @@ -8,12 +8,12 @@ import Capabilities from 'gmp/capabilities/capabilities'; import CollectionCounts from 'gmp/collection/collectioncounts'; import Credential from 'gmp/models/credential'; import Filter from 'gmp/models/filter'; +import {currentSettingsDefaultResponse} from 'web/pages/__mocks__/CurrentSettings'; import Detailspage, {ToolBarIcons} from 'web/pages/credentials/DetailsPage'; import {entityLoadingActions} from 'web/store/entities/credentials'; import {setTimezone, setUsername} from 'web/store/usersettings/actions'; import {rendererWith, screen, fireEvent} from 'web/utils/Testing'; - let getCredential; let getEntities; let currentSettings; @@ -30,9 +30,9 @@ beforeEach(() => { counts: new CollectionCounts(), }, }); - currentSettings = testing.fn().mockResolvedValue({ - foo: 'bar', - }); + currentSettings = testing + .fn() + .mockResolvedValue(currentSettingsDefaultResponse); renewSession = testing.fn().mockResolvedValue({ foo: 'bar', }); diff --git a/src/web/pages/credentials/__tests__/ListPage.test.jsx b/src/web/pages/credentials/__tests__/ListPage.test.jsx index 65be1852dc..29c782257f 100644 --- a/src/web/pages/credentials/__tests__/ListPage.test.jsx +++ b/src/web/pages/credentials/__tests__/ListPage.test.jsx @@ -19,13 +19,13 @@ import { getTextInputs, testBulkTrashcanDialog, } from 'web/components/testing'; +import {currentSettingsDefaultResponse} from 'web/pages/__mocks__/CurrentSettings'; import CredentialPage, {ToolBarIcons} from 'web/pages/credentials/ListPage'; import {setTimezone, setUsername} from 'web/store/usersettings/actions'; import {defaultFilterLoadingActions} from 'web/store/usersettings/defaultfilters/actions'; import {loadingActions} from 'web/store/usersettings/defaults/actions'; import {rendererWith, fireEvent, screen, wait} from 'web/utils/Testing'; - const credential = Credential.fromElement({ _id: '6575', allow_insecure: 1, @@ -62,9 +62,9 @@ let getCredentials; let renewSession; beforeEach(() => { - currentSettings = testing.fn().mockResolvedValue({ - foo: 'bar', - }); + currentSettings = testing + .fn() + .mockResolvedValue(currentSettingsDefaultResponse); getSetting = testing.fn().mockResolvedValue({ filter: null, }); diff --git a/src/web/pages/cves/__tests__/DetailsPage.test.jsx b/src/web/pages/cves/__tests__/DetailsPage.test.jsx index 27ef86520d..2dbb9e79d2 100644 --- a/src/web/pages/cves/__tests__/DetailsPage.test.jsx +++ b/src/web/pages/cves/__tests__/DetailsPage.test.jsx @@ -6,12 +6,12 @@ import {describe, test, expect, testing} from '@gsa/testing'; import Capabilities from 'gmp/capabilities/capabilities'; import Cve from 'gmp/models/cve'; +import {currentSettingsDefaultResponse} from 'web/pages/__mocks__/CurrentSettings'; import CvePage from 'web/pages/cves/DetailsPage'; import {entityLoadingActions} from 'web/store/entities/cves'; import {setTimezone, setUsername} from 'web/store/usersettings/actions'; import {rendererWith} from 'web/utils/Testing'; - const entity_v2 = Cve.fromElement({ _id: 'CVE-2020-9997', owner: { @@ -113,9 +113,9 @@ const entity_v2 = Cve.fromElement({ const caps = new Capabilities(['everything']); -const currentSettings = testing.fn().mockResolvedValue({ - foo: 'bar', -}); +const currentSettings = testing + .fn() + .mockResolvedValue(currentSettingsDefaultResponse); const renewSession = testing.fn().mockResolvedValue({ foo: 'bar', diff --git a/src/web/pages/cves/__tests__/ListPage.test.jsx b/src/web/pages/cves/__tests__/ListPage.test.jsx index e9dd942c2e..c23d579bb6 100644 --- a/src/web/pages/cves/__tests__/ListPage.test.jsx +++ b/src/web/pages/cves/__tests__/ListPage.test.jsx @@ -18,6 +18,7 @@ import { getTableFooter, getTextInputs, } from 'web/components/testing'; +import {currentSettingsDefaultResponse} from 'web/pages/__mocks__/CurrentSettings'; import CvesPage, {ToolBarIcons} from 'web/pages/cves/ListPage'; import {entitiesLoadingActions} from 'web/store/entities/cves'; import {setTimezone, setUsername} from 'web/store/usersettings/actions'; @@ -25,7 +26,6 @@ import {defaultFilterLoadingActions} from 'web/store/usersettings/defaultfilters import {loadingActions} from 'web/store/usersettings/defaults/actions'; import {rendererWith, screen, wait} from 'web/utils/Testing'; - const cve = Cve.fromElement({ _id: 'CVE-2020-9992', name: 'CVE-2020-9992', @@ -90,9 +90,9 @@ beforeEach(() => { filter: null, }); - currentSettings = testing.fn().mockResolvedValue({ - foo: 'bar', - }); + currentSettings = testing + .fn() + .mockResolvedValue(currentSettingsDefaultResponse); renewSession = testing.fn().mockResolvedValue({ foo: 'bar', diff --git a/src/web/pages/hosts/__tests__/DetailsPage.test.jsx b/src/web/pages/hosts/__tests__/DetailsPage.test.jsx index 8d6d46ddce..1514379816 100644 --- a/src/web/pages/hosts/__tests__/DetailsPage.test.jsx +++ b/src/web/pages/hosts/__tests__/DetailsPage.test.jsx @@ -7,12 +7,12 @@ import {describe, test, expect, testing} from '@gsa/testing'; import CollectionCounts from 'gmp/collection/collectioncounts'; import Filter from 'gmp/models/filter'; import Host from 'gmp/models/host'; +import {currentSettingsDefaultResponse} from 'web/pages/__mocks__/CurrentSettings'; import Detailspage, {ToolBarIcons} from 'web/pages/hosts/DetailsPage'; import {entityLoadingActions} from 'web/store/entities/hosts'; import {setTimezone, setUsername} from 'web/store/usersettings/actions'; import {rendererWith, fireEvent, screen, wait} from 'web/utils/Testing'; - // setup const reloadInterval = -1; @@ -160,9 +160,9 @@ beforeEach(() => { }, }); - currentSettings = testing.fn().mockResolvedValue({ - foo: 'bar', - }); + currentSettings = testing + .fn() + .mockResolvedValue(currentSettingsDefaultResponse); renewSession = testing.fn().mockResolvedValue({ foo: 'bar', diff --git a/src/web/pages/hosts/__tests__/ListPage.test.jsx b/src/web/pages/hosts/__tests__/ListPage.test.jsx index 3eb4a93fb3..ee90882dd8 100644 --- a/src/web/pages/hosts/__tests__/ListPage.test.jsx +++ b/src/web/pages/hosts/__tests__/ListPage.test.jsx @@ -17,6 +17,7 @@ import { getTextInputs, testBulkDeleteDialog, } from 'web/components/testing'; +import {currentSettingsDefaultResponse} from 'web/pages/__mocks__/CurrentSettings'; import HostPage, {ToolBarIcons} from 'web/pages/hosts/ListPage'; import {entitiesLoadingActions} from 'web/store/entities/hosts'; import {setTimezone, setUsername} from 'web/store/usersettings/actions'; @@ -24,7 +25,6 @@ import {defaultFilterLoadingActions} from 'web/store/usersettings/defaultfilters import {loadingActions} from 'web/store/usersettings/defaults/actions'; import {rendererWith, fireEvent, screen, wait} from 'web/utils/Testing'; - // setup const capabilities = new Capabilities(['everything']); @@ -124,9 +124,9 @@ beforeEach(() => { filter: null, }); - currentSettings = testing.fn().mockResolvedValue({ - foo: 'bar', - }); + currentSettings = testing + .fn() + .mockResolvedValue(currentSettingsDefaultResponse); renewSession = testing.fn().mockResolvedValue({ foo: 'bar', diff --git a/src/web/pages/notes/__tests__/DetailsPage.test.jsx b/src/web/pages/notes/__tests__/DetailsPage.test.jsx index 1074d38ea2..43243955e6 100644 --- a/src/web/pages/notes/__tests__/DetailsPage.test.jsx +++ b/src/web/pages/notes/__tests__/DetailsPage.test.jsx @@ -8,12 +8,12 @@ import Capabilities from 'gmp/capabilities/capabilities'; import CollectionCounts from 'gmp/collection/collectioncounts'; import Filter from 'gmp/models/filter'; import Note from 'gmp/models/note'; +import {currentSettingsDefaultResponse} from 'web/pages/__mocks__/CurrentSettings'; import Detailspage, {ToolBarIcons} from 'web/pages/notes/DetailsPage'; import {entityLoadingActions} from 'web/store/entities/notes'; import {setTimezone, setUsername} from 'web/store/usersettings/actions'; import {rendererWith, fireEvent, screen, wait} from 'web/utils/Testing'; - const caps = new Capabilities(['everything']); const reloadInterval = -1; @@ -96,9 +96,9 @@ const getEntities = testing.fn().mockResolvedValue({ }, }); -const currentSettings = testing.fn().mockResolvedValue({ - foo: 'bar', -}); +const currentSettings = testing + .fn() + .mockResolvedValue(currentSettingsDefaultResponse); const renewSession = testing.fn().mockResolvedValue({ foo: 'bar', diff --git a/src/web/pages/notes/__tests__/ListPage.test.jsx b/src/web/pages/notes/__tests__/ListPage.test.jsx index 1439e214c0..8217824712 100644 --- a/src/web/pages/notes/__tests__/ListPage.test.jsx +++ b/src/web/pages/notes/__tests__/ListPage.test.jsx @@ -19,6 +19,7 @@ import { getTextInputs, testBulkTrashcanDialog, } from 'web/components/testing'; +import {currentSettingsDefaultResponse} from 'web/pages/__mocks__/CurrentSettings'; import NotesPage, {ToolBarIcons} from 'web/pages/notes/ListPage'; import {entitiesLoadingActions} from 'web/store/entities/notes'; import {setTimezone, setUsername} from 'web/store/usersettings/actions'; @@ -26,7 +27,6 @@ import {defaultFilterLoadingActions} from 'web/store/usersettings/defaultfilters import {loadingActions} from 'web/store/usersettings/defaults/actions'; import {rendererWith, fireEvent, screen, wait} from 'web/utils/Testing'; - const note = Note.fromElement({ _id: '6d00d22f-551b-4fbe-8215-d8615eff73ea', active: 1, @@ -52,9 +52,9 @@ const wrongCaps = new Capabilities(['get_config']); const reloadInterval = -1; const manualUrl = 'test/'; -const currentSettings = testing.fn().mockResolvedValue({ - foo: 'bar', -}); +const currentSettings = testing + .fn() + .mockResolvedValue(currentSettingsDefaultResponse); const getSetting = testing.fn().mockResolvedValue({ filter: null, diff --git a/src/web/pages/nvts/DetailsPage.jsx b/src/web/pages/nvts/DetailsPage.jsx index f438babbed..15e43c5c99 100644 --- a/src/web/pages/nvts/DetailsPage.jsx +++ b/src/web/pages/nvts/DetailsPage.jsx @@ -48,7 +48,6 @@ import { import PropTypes from 'web/utils/PropTypes'; import withCapabilities from 'web/utils/withCapabilities'; - export let ToolBarIcons = ({ capabilities, entity, diff --git a/src/web/pages/nvts/__tests__/DetailsPage.test.jsx b/src/web/pages/nvts/__tests__/DetailsPage.test.jsx index 0bedc080f8..6f4223e0bd 100644 --- a/src/web/pages/nvts/__tests__/DetailsPage.test.jsx +++ b/src/web/pages/nvts/__tests__/DetailsPage.test.jsx @@ -10,12 +10,12 @@ import Filter from 'gmp/models/filter'; import Note from 'gmp/models/note'; import NVT from 'gmp/models/nvt'; import Override from 'gmp/models/override'; -import Detailspage, {ToolBarIcons} from 'web/pages/nvts/DetailsPage'; +import {currentSettingsDefaultResponse} from 'web/pages/__mocks__/CurrentSettings'; +import DetailsPage, {ToolBarIcons} from 'web/pages/nvts/DetailsPage'; import {entityLoadingActions} from 'web/store/entities/nvts'; import {setTimezone, setUsername} from 'web/store/usersettings/actions'; import {rendererWith, fireEvent, screen, wait} from 'web/utils/Testing'; - const caps = new Capabilities(['everything']); const reloadInterval = -1; @@ -234,17 +234,17 @@ beforeEach(() => { }, }); - currentSettings = testing.fn().mockResolvedValue({ - foo: 'bar', - }); + currentSettings = testing + .fn() + .mockResolvedValue(currentSettingsDefaultResponse); renewSession = testing.fn().mockResolvedValue({ foo: 'bar', }); }); -describe('Nvt Detailspage tests', () => { - test('should render full Detailspage', async () => { +describe('Nvt DetailsPage tests', () => { + test('should render full DetailsPage', async () => { const gmp = { nvt: { get: getNvt, @@ -273,7 +273,7 @@ describe('Nvt Detailspage tests', () => { store.dispatch(entityLoadingActions.success('12345', nvt)); - const {baseElement} = render(); + const {baseElement} = render(); await wait(); expect(baseElement).toHaveTextContent('NVT: foo'); @@ -392,7 +392,7 @@ describe('Nvt Detailspage tests', () => { store.dispatch(entityLoadingActions.success('12345', nvt)); - const {baseElement} = render(); + const {baseElement} = render(); const spans = baseElement.querySelectorAll('span'); expect(spans[8]).toHaveTextContent('Preferences'); @@ -436,7 +436,7 @@ describe('Nvt Detailspage tests', () => { store.dispatch(entityLoadingActions.success('12345', nvt)); - const {baseElement} = render(); + const {baseElement} = render(); const spans = baseElement.querySelectorAll('span'); expect(spans[10]).toHaveTextContent('User Tags'); diff --git a/src/web/pages/nvts/__tests__/ListPage.test.jsx b/src/web/pages/nvts/__tests__/ListPage.test.jsx index cda92e39a6..843445c491 100644 --- a/src/web/pages/nvts/__tests__/ListPage.test.jsx +++ b/src/web/pages/nvts/__tests__/ListPage.test.jsx @@ -17,6 +17,7 @@ import { getTableFooter, getTextInputs, } from 'web/components/testing'; +import {currentSettingsDefaultResponse} from 'web/pages/__mocks__/CurrentSettings'; import NvtsPage, {ToolBarIcons} from 'web/pages/nvts/ListPage'; import {entitiesLoadingActions} from 'web/store/entities/nvts'; import {setTimezone, setUsername} from 'web/store/usersettings/actions'; @@ -24,7 +25,6 @@ import {defaultFilterLoadingActions} from 'web/store/usersettings/defaultfilters import {loadingActions} from 'web/store/usersettings/defaults/actions'; import {rendererWith, screen, wait} from 'web/utils/Testing'; - const nvt = NVT.fromElement({ _oid: '1.3.6.1.4.1.25623.1.0', name: 'foo', @@ -66,9 +66,9 @@ const nvt = NVT.fromElement({ const reloadInterval = -1; const manualUrl = 'test/'; -const currentSettings = testing.fn().mockResolvedValue({ - foo: 'bar', -}); +const currentSettings = testing + .fn() + .mockResolvedValue(currentSettingsDefaultResponse); const getSetting = testing.fn().mockResolvedValue({ filter: null, diff --git a/src/web/pages/overrides/__tests__/DetailsPage.test.jsx b/src/web/pages/overrides/__tests__/DetailsPage.test.jsx index 0ce998435d..807d880bae 100644 --- a/src/web/pages/overrides/__tests__/DetailsPage.test.jsx +++ b/src/web/pages/overrides/__tests__/DetailsPage.test.jsx @@ -8,12 +8,12 @@ import Capabilities from 'gmp/capabilities/capabilities'; import CollectionCounts from 'gmp/collection/collectioncounts'; import Filter from 'gmp/models/filter'; import Override from 'gmp/models/override'; +import {currentSettingsDefaultResponse} from 'web/pages/__mocks__/CurrentSettings'; import Detailspage, {ToolBarIcons} from 'web/pages/overrides/DetailsPage'; import {entityLoadingActions} from 'web/store/entities/overrides'; import {setTimezone, setUsername} from 'web/store/usersettings/actions'; import {rendererWith, fireEvent, screen, wait} from 'web/utils/Testing'; - const caps = new Capabilities(['everything']); const reloadInterval = -1; @@ -98,9 +98,9 @@ const getEntities = testing.fn().mockResolvedValue({ }, }); -const currentSettings = testing.fn().mockResolvedValue({ - foo: 'bar', -}); +const currentSettings = testing + .fn() + .mockResolvedValue(currentSettingsDefaultResponse); const renewSession = testing.fn().mockResolvedValue({ foo: 'bar', diff --git a/src/web/pages/overrides/__tests__/ListPage.test.jsx b/src/web/pages/overrides/__tests__/ListPage.test.jsx index e39e2fd5cd..d6b5c2b8ad 100644 --- a/src/web/pages/overrides/__tests__/ListPage.test.jsx +++ b/src/web/pages/overrides/__tests__/ListPage.test.jsx @@ -19,6 +19,7 @@ import { getTextInputs, testBulkTrashcanDialog, } from 'web/components/testing'; +import {currentSettingsDefaultResponse} from 'web/pages/__mocks__/CurrentSettings'; import OverridesPage, {ToolBarIcons} from 'web/pages/overrides/ListPage'; import {entitiesLoadingActions} from 'web/store/entities/overrides'; import {setTimezone, setUsername} from 'web/store/usersettings/actions'; @@ -26,7 +27,6 @@ import {defaultFilterLoadingActions} from 'web/store/usersettings/defaultfilters import {loadingActions} from 'web/store/usersettings/defaults/actions'; import {rendererWith, fireEvent, screen, wait} from 'web/utils/Testing'; - const override = Override.fromElement({ _id: '6d00d22f-551b-4fbe-8215-d8615eff73ea', active: 1, @@ -54,9 +54,9 @@ const wrongCaps = new Capabilities(['get_config']); const reloadInterval = -1; const manualUrl = 'test/'; -const currentSettings = testing.fn().mockResolvedValue({ - foo: 'bar', -}); +const currentSettings = testing + .fn() + .mockResolvedValue(currentSettingsDefaultResponse); const getSetting = testing.fn().mockResolvedValue({ filter: null, diff --git a/src/web/pages/policies/__tests__/DetailsPage.test.jsx b/src/web/pages/policies/__tests__/DetailsPage.test.jsx index d5160985dd..76c699af99 100644 --- a/src/web/pages/policies/__tests__/DetailsPage.test.jsx +++ b/src/web/pages/policies/__tests__/DetailsPage.test.jsx @@ -9,12 +9,12 @@ import CollectionCounts from 'gmp/collection/collectioncounts'; import Filter from 'gmp/models/filter'; import Policy from 'gmp/models/policy'; import {vi} from 'vitest'; +import {currentSettingsDefaultResponse} from 'web/pages/__mocks__/CurrentSettings'; import Detailspage, {ToolBarIcons} from 'web/pages/policies/DetailsPage'; import {entityLoadingActions} from 'web/store/entities/policies'; import {setTimezone, setUsername} from 'web/store/usersettings/actions'; import {rendererWith, fireEvent, act} from 'web/utils/Testing'; - vi.mock('web/pages/scanconfigs/EditDialog', () => ({ default: () => null, })); @@ -193,9 +193,9 @@ const entityType = 'policy'; const reloadInterval = 1; const manualUrl = 'test/'; -const currentSettings = testing.fn().mockResolvedValue({ - foo: 'bar', -}); +const currentSettings = testing + .fn() + .mockResolvedValue(currentSettingsDefaultResponse); const renewSession = testing.fn().mockResolvedValue({ foo: 'bar', diff --git a/src/web/pages/policies/__tests__/ListPage.test.jsx b/src/web/pages/policies/__tests__/ListPage.test.jsx index 692ccc9b23..c39b3dac8c 100644 --- a/src/web/pages/policies/__tests__/ListPage.test.jsx +++ b/src/web/pages/policies/__tests__/ListPage.test.jsx @@ -9,6 +9,7 @@ import CollectionCounts from 'gmp/collection/collectioncounts'; import Filter from 'gmp/models/filter'; import Policy from 'gmp/models/policy'; import {clickElement, testBulkTrashcanDialog} from 'web/components/testing'; +import {currentSettingsDefaultResponse} from 'web/pages/__mocks__/CurrentSettings'; import PoliciesPage, {ToolBarIcons} from 'web/pages/policies/ListPage'; import {entitiesLoadingActions} from 'web/store/entities/audits'; import {setUsername} from 'web/store/usersettings/actions'; @@ -16,7 +17,6 @@ import {defaultFilterLoadingActions} from 'web/store/usersettings/defaultfilters import {loadingActions} from 'web/store/usersettings/defaults/actions'; import {rendererWith, fireEvent, screen, wait} from 'web/utils/Testing'; - const policy = Policy.fromElement({ _id: '12345', name: 'foo', @@ -43,7 +43,9 @@ const wrongCaps = new Capabilities(['get_config']); const reloadInterval = 1; const manualUrl = 'test/'; -const currentSettings = testing.fn().mockResolvedValue({foo: 'bar'}); +const currentSettings = testing + .fn() + .mockResolvedValue(currentSettingsDefaultResponse); const getSetting = testing.fn().mockResolvedValue({filter: null}); diff --git a/src/web/pages/reportconfigs/__tests__/Component.test.jsx b/src/web/pages/reportconfigs/__tests__/Component.test.jsx index 19fff1e376..43964878da 100644 --- a/src/web/pages/reportconfigs/__tests__/Component.test.jsx +++ b/src/web/pages/reportconfigs/__tests__/Component.test.jsx @@ -14,10 +14,10 @@ import { getSelectItemElementsForSelect, getTextInputs, } from 'web/components/testing'; +import {currentSettingsDefaultResponse} from 'web/pages/__mocks__/CurrentSettings'; import ReportFormatComponent from 'web/pages/reportconfigs/Component'; import {fireEvent, getByTestId, rendererWith, wait} from 'web/utils/Testing'; - describe('Report Config Component tests', () => { const mockReportConfig = ReportConfig.fromElement({ _id: 'rc123', @@ -71,9 +71,9 @@ describe('Report Config Component tests', () => { const gmp = { user: { - currentSettings: testing.fn().mockResolvedValue({ - data: {}, - }), + currentSettings: testing + .fn() + .mockResolvedValue(currentSettingsDefaultResponse), }, reportconfig: { get: getReportConfig, @@ -152,9 +152,9 @@ describe('Report Config Component tests', () => { const gmp = { user: { - currentSettings: testing.fn().mockResolvedValue({ - data: {}, - }), + currentSettings: testing + .fn() + .mockResolvedValue(currentSettingsDefaultResponse), }, reportconfig: { create: createReportConfig, @@ -229,9 +229,9 @@ describe('Report Config Component tests', () => { const gmp = { user: { - currentSettings: testing.fn().mockResolvedValue({ - data: {}, - }), + currentSettings: testing + .fn() + .mockResolvedValue(currentSettingsDefaultResponse), }, reportformats: { getAll: getAllReportFormats, diff --git a/src/web/pages/reportconfigs/__tests__/DetailsPage.test.jsx b/src/web/pages/reportconfigs/__tests__/DetailsPage.test.jsx index 348199d86d..a58c0149cf 100644 --- a/src/web/pages/reportconfigs/__tests__/DetailsPage.test.jsx +++ b/src/web/pages/reportconfigs/__tests__/DetailsPage.test.jsx @@ -8,20 +8,20 @@ import Capabilities from 'gmp/capabilities/capabilities'; import CollectionCounts from 'gmp/collection/collectioncounts'; import Filter from 'gmp/models/filter'; import ReportConfig from 'gmp/models/reportconfig'; +import {currentSettingsDefaultResponse} from 'web/pages/__mocks__/CurrentSettings'; import {mockReportConfig} from 'web/pages/reportconfigs/__mocks__/MockReportConfig'; import DetailsPage from 'web/pages/reportconfigs/DetailsPage'; import {entityLoadingActions} from 'web/store/entities/reportconfigs'; import {setTimezone, setUsername} from 'web/store/usersettings/actions'; import {rendererWith, fireEvent} from 'web/utils/Testing'; - const entityType = 'reportconfig'; const reloadInterval = 1; const manualUrl = 'test/'; -const currentSettings = testing.fn().mockResolvedValue({ - foo: 'bar', -}); +const currentSettings = testing + .fn() + .mockResolvedValue(currentSettingsDefaultResponse); const renewSession = testing.fn().mockResolvedValue({ foo: 'bar', diff --git a/src/web/pages/reportconfigs/__tests__/ListPage.test.jsx b/src/web/pages/reportconfigs/__tests__/ListPage.test.jsx index 3e70869efa..dd853628c1 100644 --- a/src/web/pages/reportconfigs/__tests__/ListPage.test.jsx +++ b/src/web/pages/reportconfigs/__tests__/ListPage.test.jsx @@ -9,14 +9,16 @@ import CollectionCounts from 'gmp/collection/collectioncounts'; import Filter from 'gmp/models/filter'; import ReportConfig from 'gmp/models/reportconfig'; import {clickElement, testBulkTrashcanDialog} from 'web/components/testing'; -import ReportConfigsPage, {ToolBarIcons} from 'web/pages/reportconfigs/ListPage'; +import {currentSettingsDefaultResponse} from 'web/pages/__mocks__/CurrentSettings'; +import ReportConfigsPage, { + ToolBarIcons, +} from 'web/pages/reportconfigs/ListPage'; import {entitiesLoadingActions} from 'web/store/entities/scanconfigs'; import {setUsername} from 'web/store/usersettings/actions'; import {defaultFilterLoadingActions} from 'web/store/usersettings/defaultfilters/actions'; import {loadingActions} from 'web/store/usersettings/defaults/actions'; import {rendererWith, fireEvent, wait, screen} from 'web/utils/Testing'; - const config = ReportConfig.fromElement({ _id: '12345', name: 'foo', @@ -38,7 +40,9 @@ const wrongCaps = new Capabilities(['get_config']); const reloadInterval = 1; const manualUrl = 'test/'; -const currentSettings = testing.fn().mockResolvedValue({foo: 'bar'}); +const currentSettings = testing + .fn() + .mockResolvedValue(currentSettingsDefaultResponse); const getFilters = testing.fn().mockReturnValue( Promise.resolve({ diff --git a/src/web/pages/reports/__tests__/AuditDeltaDetailsPage.test.jsx b/src/web/pages/reports/__tests__/AuditDeltaDetailsPage.test.jsx index e7fa7a037a..5885883a94 100644 --- a/src/web/pages/reports/__tests__/AuditDeltaDetailsPage.test.jsx +++ b/src/web/pages/reports/__tests__/AuditDeltaDetailsPage.test.jsx @@ -12,6 +12,7 @@ import { getSelectElement, getTextInputs, } from 'web/components/testing'; +import {currentSettingsDefaultResponse} from 'web/pages/__mocks__/CurrentSettings'; import {getMockAuditDeltaReport} from 'web/pages/reports/__mocks__/MockAuditDeltaReport'; import DeltaDetailsContent from 'web/pages/reports/DeltaDetailsContent'; import {setTimezone, setUsername} from 'web/store/usersettings/actions'; @@ -31,15 +32,15 @@ const caps = new Capabilities(['everything']); const manualUrl = 'test/'; -const currentSettings = testing.fn().mockResolvedValue({ - foo: 'bar', -}); +const currentSettings = testing + .fn() + .mockResolvedValue(currentSettingsDefaultResponse); const getReportComposerDefaults = testing.fn().mockResolvedValue({ foo: 'bar', }); -describe('Audit Detla Report Details Content tests', () => { +describe('Audit Delta Report Details Content tests', () => { test('should render Audit Delta Report Details Content', () => { const onActivateTab = testing.fn(); const onAddToAssetsClick = testing.fn(); @@ -138,7 +139,7 @@ describe('Audit Detla Report Details Content tests', () => { // Toolbar Icons expect(icons.length).toEqual(15); - // Powerilter + // Powerfilter expect(inputs[0]).toHaveAttribute('name', 'userFilterString'); const input = within(select).getByTitle('Loaded filter'); diff --git a/src/web/pages/results/__tests__/DetailsPage.test.jsx b/src/web/pages/results/__tests__/DetailsPage.test.jsx index 39bc1454c9..cf193463ea 100644 --- a/src/web/pages/results/__tests__/DetailsPage.test.jsx +++ b/src/web/pages/results/__tests__/DetailsPage.test.jsx @@ -8,12 +8,12 @@ import Capabilities from 'gmp/capabilities/capabilities'; import CollectionCounts from 'gmp/collection/collectioncounts'; import Filter from 'gmp/models/filter'; import Result from 'gmp/models/result'; +import {currentSettingsDefaultResponse} from 'web/pages/__mocks__/CurrentSettings'; import Detailspage, {ToolBarIcons} from 'web/pages/results/DetailsPage'; import {entityLoadingActions} from 'web/store/entities/results'; import {setTimezone, setUsername} from 'web/store/usersettings/actions'; import {rendererWith, fireEvent, screen, wait} from 'web/utils/Testing'; - // setup const reloadInterval = -1; @@ -120,9 +120,9 @@ beforeEach(() => { }, }); - currentSettings = testing.fn().mockResolvedValue({ - foo: 'bar', - }); + currentSettings = testing + .fn() + .mockResolvedValue(currentSettingsDefaultResponse); renewSession = testing.fn().mockResolvedValue({ foo: 'bar', diff --git a/src/web/pages/results/__tests__/ListPage.test.jsx b/src/web/pages/results/__tests__/ListPage.test.jsx index 9ec4670710..08d4c030d4 100644 --- a/src/web/pages/results/__tests__/ListPage.test.jsx +++ b/src/web/pages/results/__tests__/ListPage.test.jsx @@ -17,6 +17,7 @@ import { getTableFooter, getTextInputs, } from 'web/components/testing'; +import {currentSettingsDefaultResponse} from 'web/pages/__mocks__/CurrentSettings'; import ResultsPage from 'web/pages/results/ListPage'; import {entitiesLoadingActions} from 'web/store/entities/results'; import {setTimezone, setUsername} from 'web/store/usersettings/actions'; @@ -24,7 +25,6 @@ import {defaultFilterLoadingActions} from 'web/store/usersettings/defaultfilters import {loadingActions} from 'web/store/usersettings/defaults/actions'; import {rendererWith, screen, wait} from 'web/utils/Testing'; - // setup const reloadInterval = -1; @@ -144,9 +144,9 @@ beforeEach(() => { }, }); - currentSettings = testing.fn().mockResolvedValue({ - foo: 'bar', - }); + currentSettings = testing + .fn() + .mockResolvedValue(currentSettingsDefaultResponse); getSetting = testing.fn().mockResolvedValue({ filter: null, diff --git a/src/web/pages/scanconfigs/__tests__/DetailsPage.test.jsx b/src/web/pages/scanconfigs/__tests__/DetailsPage.test.jsx index 0b1a063035..ad4ceb9ace 100644 --- a/src/web/pages/scanconfigs/__tests__/DetailsPage.test.jsx +++ b/src/web/pages/scanconfigs/__tests__/DetailsPage.test.jsx @@ -9,12 +9,12 @@ import CollectionCounts from 'gmp/collection/collectioncounts'; import Filter from 'gmp/models/filter'; import ScanConfig from 'gmp/models/scanconfig'; import {vi} from 'vitest'; +import {currentSettingsDefaultResponse} from 'web/pages/__mocks__/CurrentSettings'; import Detailspage, {ToolBarIcons} from 'web/pages/scanconfigs/DetailsPage'; import {entityLoadingActions} from 'web/store/entities/scanconfigs'; import {setTimezone, setUsername} from 'web/store/usersettings/actions'; import {rendererWith, fireEvent, act} from 'web/utils/Testing'; - vi.mock('web/pages/scanconfigs/EditDialog', () => ({ default: () => null, })); @@ -194,9 +194,9 @@ const entityType = 'scanconfig'; const reloadInterval = 1; const manualUrl = 'test/'; -const currentSettings = testing.fn().mockResolvedValue({ - foo: 'bar', -}); +const currentSettings = testing + .fn() + .mockResolvedValue(currentSettingsDefaultResponse); const renewSession = testing.fn().mockResolvedValue({ foo: 'bar', diff --git a/src/web/pages/scanconfigs/__tests__/ListPage.test.jsx b/src/web/pages/scanconfigs/__tests__/ListPage.test.jsx index 57233dd0f5..02c8eba4a0 100644 --- a/src/web/pages/scanconfigs/__tests__/ListPage.test.jsx +++ b/src/web/pages/scanconfigs/__tests__/ListPage.test.jsx @@ -16,6 +16,7 @@ import { getTable, testBulkTrashcanDialog, } from 'web/components/testing'; +import {currentSettingsDefaultResponse} from 'web/pages/__mocks__/CurrentSettings'; import ScanConfigsPage, {ToolBarIcons} from 'web/pages/scanconfigs/ListPage'; import {entitiesLoadingActions} from 'web/store/entities/scanconfigs'; import {setUsername} from 'web/store/usersettings/actions'; @@ -23,7 +24,6 @@ import {defaultFilterLoadingActions} from 'web/store/usersettings/defaultfilters import {loadingActions} from 'web/store/usersettings/defaults/actions'; import {rendererWith, fireEvent, wait, screen} from 'web/utils/Testing'; - const config = ScanConfig.fromElement({ _id: '12345', name: 'foo', @@ -58,7 +58,9 @@ const wrongCaps = new Capabilities(['get_config']); const reloadInterval = 1; const manualUrl = 'test/'; -const currentSettings = testing.fn().mockResolvedValue({foo: 'bar'}); +const currentSettings = testing + .fn() + .mockResolvedValue(currentSettingsDefaultResponse); const getFilters = testing.fn().mockReturnValue( Promise.resolve({ diff --git a/src/web/pages/schedules/__tests__/DetailsPage.test.jsx b/src/web/pages/schedules/__tests__/DetailsPage.test.jsx index 9c40c85fcb..29873a8795 100644 --- a/src/web/pages/schedules/__tests__/DetailsPage.test.jsx +++ b/src/web/pages/schedules/__tests__/DetailsPage.test.jsx @@ -8,12 +8,12 @@ import Capabilities from 'gmp/capabilities/capabilities'; import CollectionCounts from 'gmp/collection/collectioncounts'; import Filter from 'gmp/models/filter'; import Schedule from 'gmp/models/schedule'; +import {currentSettingsDefaultResponse} from 'web/pages/__mocks__/CurrentSettings'; import Detailspage, {ToolBarIcons} from 'web/pages/schedules/DetailsPage'; import {entityLoadingActions} from 'web/store/entities/schedules'; import {setTimezone, setUsername} from 'web/store/usersettings/actions'; import {rendererWith, fireEvent, screen, wait} from 'web/utils/Testing'; - const caps = new Capabilities(['everything']); const reloadInterval = -1; @@ -76,9 +76,9 @@ const getEntities = testing.fn().mockResolvedValue({ }, }); -const currentSettings = testing.fn().mockResolvedValue({ - foo: 'bar', -}); +const currentSettings = testing + .fn() + .mockResolvedValue(currentSettingsDefaultResponse); const renewSession = testing.fn().mockResolvedValue({ foo: 'bar', diff --git a/src/web/pages/schedules/__tests__/ListPage.test.jsx b/src/web/pages/schedules/__tests__/ListPage.test.jsx index 673c0dbbc3..8e82bc2408 100644 --- a/src/web/pages/schedules/__tests__/ListPage.test.jsx +++ b/src/web/pages/schedules/__tests__/ListPage.test.jsx @@ -19,6 +19,7 @@ import { getTextInputs, testBulkTrashcanDialog, } from 'web/components/testing'; +import {currentSettingsDefaultResponse} from 'web/pages/__mocks__/CurrentSettings'; import SchedulePage, {ToolBarIcons} from 'web/pages/schedules/ListPage'; import {entitiesLoadingActions} from 'web/store/entities/schedules'; import {setTimezone, setUsername} from 'web/store/usersettings/actions'; @@ -26,7 +27,6 @@ import {defaultFilterLoadingActions} from 'web/store/usersettings/defaultfilters import {loadingActions} from 'web/store/usersettings/defaults/actions'; import {rendererWith, fireEvent, screen, wait} from 'web/utils/Testing'; - const schedule = Schedule.fromElement({ comment: 'hello world', creation_time: '2020-12-23T14:14:11Z', @@ -48,9 +48,9 @@ const wrongCaps = new Capabilities(['get_config']); const reloadInterval = -1; const manualUrl = 'test/'; -const currentSettings = testing.fn().mockResolvedValue({ - foo: 'bar', -}); +const currentSettings = testing + .fn() + .mockResolvedValue(currentSettingsDefaultResponse); const getSetting = testing.fn().mockResolvedValue({ filter: null, diff --git a/src/web/pages/targets/__tests__/DetailsPage.test.jsx b/src/web/pages/targets/__tests__/DetailsPage.test.jsx index 8a358bb699..fb5945cea2 100644 --- a/src/web/pages/targets/__tests__/DetailsPage.test.jsx +++ b/src/web/pages/targets/__tests__/DetailsPage.test.jsx @@ -8,12 +8,12 @@ import Capabilities from 'gmp/capabilities/capabilities'; import CollectionCounts from 'gmp/collection/collectioncounts'; import Filter from 'gmp/models/filter'; import Target from 'gmp/models/target'; +import {currentSettingsDefaultResponse} from 'web/pages/__mocks__/CurrentSettings'; import Detailspage, {ToolBarIcons} from 'web/pages/targets/DetailsPage'; import {entityLoadingActions} from 'web/store/entities/targets'; import {setTimezone, setUsername} from 'web/store/usersettings/actions'; import {rendererWith, fireEvent, screen, wait} from 'web/utils/Testing'; - const caps = new Capabilities(['everything']); const reloadInterval = -1; @@ -37,9 +37,9 @@ beforeEach(() => { }, }); - currentSettings = testing.fn().mockResolvedValue({ - foo: 'bar', - }); + currentSettings = testing + .fn() + .mockResolvedValue(currentSettingsDefaultResponse); renewSession = testing.fn().mockResolvedValue({ foo: 'bar', diff --git a/src/web/pages/targets/__tests__/ListPage.test.jsx b/src/web/pages/targets/__tests__/ListPage.test.jsx index 43127267c0..76262de1a2 100644 --- a/src/web/pages/targets/__tests__/ListPage.test.jsx +++ b/src/web/pages/targets/__tests__/ListPage.test.jsx @@ -19,6 +19,7 @@ import { getTextInputs, testBulkTrashcanDialog, } from 'web/components/testing'; +import {currentSettingsDefaultResponse} from 'web/pages/__mocks__/CurrentSettings'; import TargetPage, {ToolBarIcons} from 'web/pages/targets/ListPage'; import {entitiesLoadingActions} from 'web/store/entities/targets'; import {setTimezone, setUsername} from 'web/store/usersettings/actions'; @@ -26,7 +27,6 @@ import {defaultFilterLoadingActions} from 'web/store/usersettings/defaultfilters import {loadingActions} from 'web/store/usersettings/defaults/actions'; import {rendererWith, fireEvent, screen, wait} from 'web/utils/Testing'; - let currentSettings; let getSetting; let getFilters; @@ -34,9 +34,9 @@ let getTargets; let renewSession; beforeEach(() => { - currentSettings = testing.fn().mockResolvedValue({ - foo: 'bar', - }); + currentSettings = testing + .fn() + .mockResolvedValue(currentSettingsDefaultResponse); getSetting = testing.fn().mockResolvedValue({ filter: null, diff --git a/src/web/pages/tasks/__tests__/DetailsPage.test.jsx b/src/web/pages/tasks/__tests__/DetailsPage.test.jsx index f530cc1128..c8c32dc9eb 100644 --- a/src/web/pages/tasks/__tests__/DetailsPage.test.jsx +++ b/src/web/pages/tasks/__tests__/DetailsPage.test.jsx @@ -10,12 +10,12 @@ import Filter from 'gmp/models/filter'; import ScanConfig from 'gmp/models/scanconfig'; import Schedule from 'gmp/models/schedule'; import Task, {TASK_STATUS} from 'gmp/models/task'; +import {currentSettingsDefaultResponse} from 'web/pages/__mocks__/CurrentSettings'; import Detailspage, {ToolBarIcons} from 'web/pages/tasks/DetailsPage'; import {entityLoadingActions} from 'web/store/entities/tasks'; import {setTimezone, setUsername} from 'web/store/usersettings/actions'; import {rendererWith, fireEvent, act} from 'web/utils/Testing'; - const config = ScanConfig.fromElement({ _id: '314', name: 'foo', @@ -251,9 +251,9 @@ const caps = new Capabilities(['everything']); const reloadInterval = 1; const manualUrl = 'test/'; -const currentSettings = testing.fn().mockResolvedValue({ - foo: 'bar', -}); +const currentSettings = testing + .fn() + .mockResolvedValue(currentSettingsDefaultResponse); const renewSession = testing.fn().mockResolvedValue({ foo: 'bar', diff --git a/src/web/pages/tasks/__tests__/ListPage.test.jsx b/src/web/pages/tasks/__tests__/ListPage.test.jsx index 3ecac9bc43..9c72a2b1de 100644 --- a/src/web/pages/tasks/__tests__/ListPage.test.jsx +++ b/src/web/pages/tasks/__tests__/ListPage.test.jsx @@ -15,6 +15,7 @@ import { getTextInputs, testBulkTrashcanDialog, } from 'web/components/testing'; +import {currentSettingsDefaultResponse} from 'web/pages/__mocks__/CurrentSettings'; import TaskPage, {ToolBarIcons} from 'web/pages/tasks/ListPage'; import {entitiesLoadingActions} from 'web/store/entities/tasks'; import {setTimezone, setUsername} from 'web/store/usersettings/actions'; @@ -22,7 +23,6 @@ import {defaultFilterLoadingActions} from 'web/store/usersettings/defaultfilters import {loadingActions} from 'web/store/usersettings/defaults/actions'; import {rendererWith, fireEvent, wait, screen} from 'web/utils/Testing'; - const lastReport = { report: { _id: '1234', @@ -50,9 +50,9 @@ const wrongCaps = new Capabilities(['get_config']); const reloadInterval = 1; const manualUrl = 'test/'; -const currentSettings = testing.fn().mockResolvedValue({ - foo: 'bar', -}); +const currentSettings = testing + .fn() + .mockResolvedValue(currentSettingsDefaultResponse); const getFilters = testing.fn().mockReturnValue( Promise.resolve({ diff --git a/src/web/pages/tlscertificates/__tests__/DetailsPage.test.jsx b/src/web/pages/tlscertificates/__tests__/DetailsPage.test.jsx index 484dcc153c..fccb8f6682 100644 --- a/src/web/pages/tlscertificates/__tests__/DetailsPage.test.jsx +++ b/src/web/pages/tlscertificates/__tests__/DetailsPage.test.jsx @@ -8,6 +8,7 @@ import Capabilities from 'gmp/capabilities/capabilities'; import CollectionCounts from 'gmp/collection/collectioncounts'; import Filter from 'gmp/models/filter'; import TlsCertificate from 'gmp/models/tlscertificate'; +import {currentSettingsDefaultResponse} from 'web/pages/__mocks__/CurrentSettings'; import DetailsPage from 'web/pages/tlscertificates/DetailsPage'; import {entityLoadingActions} from 'web/store/entities/tlscertificates'; import {setTimezone, setUsername} from 'web/store/usersettings/actions'; @@ -39,9 +40,9 @@ const caps = new Capabilities(['everything']); const reloadInterval = 1; const manualUrl = 'test/'; -const currentSettings = testing.fn().mockResolvedValue({ - foo: 'bar', -}); +const currentSettings = testing + .fn() + .mockResolvedValue(currentSettingsDefaultResponse); const getEntities = testing.fn().mockResolvedValue({ data: [], diff --git a/src/web/pages/tlscertificates/__tests__/ListPage.test.jsx b/src/web/pages/tlscertificates/__tests__/ListPage.test.jsx index 3776938703..7f186a2c79 100644 --- a/src/web/pages/tlscertificates/__tests__/ListPage.test.jsx +++ b/src/web/pages/tlscertificates/__tests__/ListPage.test.jsx @@ -12,6 +12,7 @@ import { getSelectElement, getTextInputs, } from 'web/components/testing'; +import {currentSettingsDefaultResponse} from 'web/pages/__mocks__/CurrentSettings'; import TlsCertificatePage from 'web/pages/tlscertificates/ListPage'; import {entitiesLoadingActions} from 'web/store/entities/tasks'; import {setTimezone, setUsername} from 'web/store/usersettings/actions'; @@ -19,7 +20,6 @@ import {defaultFilterLoadingActions} from 'web/store/usersettings/defaultfilters import {loadingActions} from 'web/store/usersettings/defaults/actions'; import {rendererWith, wait} from 'web/utils/Testing'; - const tlsCertificate = TlsCertificate.fromElement({ _id: '1234', owner: {name: 'admin'}, @@ -42,9 +42,9 @@ const tlsCertificate = TlsCertificate.fromElement({ const reloadInterval = 1; const manualUrl = 'test/'; -const currentSettings = testing.fn().mockResolvedValue({ - foo: 'bar', -}); +const currentSettings = testing + .fn() + .mockResolvedValue(currentSettingsDefaultResponse); const getFilters = testing.fn().mockReturnValue( Promise.resolve({