From 7eaa1988dddf25497a75641a713a85909706aede Mon Sep 17 00:00:00 2001 From: pkupczyk <piotr.kupczyk@id.ethz.ch> Date: Thu, 11 Nov 2021 13:15:41 +0100 Subject: [PATCH] SSDM-11664 : NG UI & ELN : common table widget - fix some of the automated tests --- .../src/js/components/common/grid/Grid.jsx | 6 ++++-- .../srcTest/js/components/common/ComponentTest.js | 2 ++ .../common/grid/wrapper/GridColumnWrapper.js | 8 ++++---- ...ColumnFilterWrapper.js => GridFilterWrapper.js} | 0 ...dColumnLabelWrapper.js => GridHeaderWrapper.js} | 0 .../components/common/grid/wrapper/GridWrapper.js | 8 ++++---- openbis_ng_ui/srcTest/js/services/openbis/api.js | 14 ++++++++++++++ openbis_ng_ui/srcTest/js/services/openbis/dto.js | 2 ++ 8 files changed, 30 insertions(+), 10 deletions(-) rename openbis_ng_ui/srcTest/js/components/common/grid/wrapper/{GridColumnFilterWrapper.js => GridFilterWrapper.js} (100%) rename openbis_ng_ui/srcTest/js/components/common/grid/wrapper/{GridColumnLabelWrapper.js => GridHeaderWrapper.js} (100%) diff --git a/openbis_ng_ui/src/js/components/common/grid/Grid.jsx b/openbis_ng_ui/src/js/components/common/grid/Grid.jsx index 8ee9c5bafa8..f0c8a2efeae 100644 --- a/openbis_ng_ui/src/js/components/common/grid/Grid.jsx +++ b/openbis_ng_ui/src/js/components/common/grid/Grid.jsx @@ -167,9 +167,11 @@ class Grid extends React.PureComponent { key={row.id} columns={visibleColumns} row={row} - clickable={!!onRowClick} + clickable={onRowClick ? true : false} selectable={selectable} - selected={selectedRow && selectedRow.id === row.id} + selected={ + selectedRow ? selectedRow.id === row.id : false + } multiselectable={multiselectable} multiselected={ multiselectedRows && multiselectedRows[row.id] diff --git a/openbis_ng_ui/srcTest/js/components/common/ComponentTest.js b/openbis_ng_ui/srcTest/js/components/common/ComponentTest.js index f69367e18f2..c1ba7f33f0c 100644 --- a/openbis_ng_ui/srcTest/js/components/common/ComponentTest.js +++ b/openbis_ng_ui/srcTest/js/components/common/ComponentTest.js @@ -3,6 +3,7 @@ import { Provider } from 'react-redux' import { mount } from 'enzyme' import { createStore } from '@src/js/store/store.js' import ThemeProvider from '@srcTest/js/components/common/theme/ThemeProvider.jsx' +import openbis from '@srcTest/js/services/openbis.js' import actions from '@src/js/store/actions/actions.js' export default class ComponentTest { @@ -14,6 +15,7 @@ export default class ComponentTest { beforeEach() { jest.resetAllMocks() + openbis.mockGetMe() this.store = createStore() this.store.dispatch(actions.init()) } diff --git a/openbis_ng_ui/srcTest/js/components/common/grid/wrapper/GridColumnWrapper.js b/openbis_ng_ui/srcTest/js/components/common/grid/wrapper/GridColumnWrapper.js index 057547e54bf..0451a203531 100644 --- a/openbis_ng_ui/srcTest/js/components/common/grid/wrapper/GridColumnWrapper.js +++ b/openbis_ng_ui/srcTest/js/components/common/grid/wrapper/GridColumnWrapper.js @@ -1,6 +1,6 @@ import BaseWrapper from '@srcTest/js/components/common/wrapper/BaseWrapper.js' -import GridColumnLabelWrapper from '@srcTest/js/components/common/grid/wrapper/GridColumnLabelWrapper.js' -import GridColumnFilterWrapper from '@srcTest/js/components/common/grid/wrapper/GridColumnFilterWrapper.js' +import GridHeaderWrapper from '@srcTest/js/components/common/grid/wrapper/GridHeaderWrapper.js' +import GridFilterWrapper from '@srcTest/js/components/common/grid/wrapper/GridFilterWrapper.js' export default class GridColumnWrapper extends BaseWrapper { constructor(column, labelWrapper, filterWrapper, sortWrapper) { @@ -16,11 +16,11 @@ export default class GridColumnWrapper extends BaseWrapper { } getLabel() { - return new GridColumnLabelWrapper(this.labelWrapper) + return new GridHeaderWrapper(this.labelWrapper) } getFilter() { - return new GridColumnFilterWrapper(this.filterWrapper) + return new GridFilterWrapper(this.filterWrapper) } getSort() { diff --git a/openbis_ng_ui/srcTest/js/components/common/grid/wrapper/GridColumnFilterWrapper.js b/openbis_ng_ui/srcTest/js/components/common/grid/wrapper/GridFilterWrapper.js similarity index 100% rename from openbis_ng_ui/srcTest/js/components/common/grid/wrapper/GridColumnFilterWrapper.js rename to openbis_ng_ui/srcTest/js/components/common/grid/wrapper/GridFilterWrapper.js diff --git a/openbis_ng_ui/srcTest/js/components/common/grid/wrapper/GridColumnLabelWrapper.js b/openbis_ng_ui/srcTest/js/components/common/grid/wrapper/GridHeaderWrapper.js similarity index 100% rename from openbis_ng_ui/srcTest/js/components/common/grid/wrapper/GridColumnLabelWrapper.js rename to openbis_ng_ui/srcTest/js/components/common/grid/wrapper/GridHeaderWrapper.js diff --git a/openbis_ng_ui/srcTest/js/components/common/grid/wrapper/GridWrapper.js b/openbis_ng_ui/srcTest/js/components/common/grid/wrapper/GridWrapper.js index 7bd97bbaba6..14a7c6223a7 100644 --- a/openbis_ng_ui/srcTest/js/components/common/grid/wrapper/GridWrapper.js +++ b/openbis_ng_ui/srcTest/js/components/common/grid/wrapper/GridWrapper.js @@ -2,8 +2,8 @@ import BaseWrapper from '@srcTest/js/components/common/wrapper/BaseWrapper.js' import TableSortLabel from '@material-ui/core/TableSortLabel' import GridPaging from '@src/js/components/common/grid/GridPaging.jsx' import GridPagingWrapper from '@srcTest/js/components/common/grid/wrapper/GridPagingWrapper.js' -import GridHeaderLabel from '@src/js/components/common/grid/GridHeaderLabel.jsx' -import GridHeaderFilter from '@src/js/components/common/grid/GridHeaderFilter.jsx' +import GridHeader from '@src/js/components/common/grid/GridHeader.jsx' +import GridFilter from '@src/js/components/common/grid/GridFilter.jsx' import GridRow from '@src/js/components/common/grid/GridRow.jsx' import GridRowWrapper from '@srcTest/js/components/common/grid/wrapper/GridRowWrapper.js' import GridColumnWrapper from '@srcTest/js/components/common/grid/wrapper/GridColumnWrapper.js' @@ -12,8 +12,8 @@ export default class GridWrapper extends BaseWrapper { getColumns() { const columns = this.wrapper.prop('columns') - const labels = this.findComponent(GridHeaderLabel) - const filters = this.findComponent(GridHeaderFilter) + const labels = this.findComponent(GridHeader) + const filters = this.findComponent(GridFilter) const sorts = this.findComponent(TableSortLabel) return columns.map((column, index) => { diff --git a/openbis_ng_ui/srcTest/js/services/openbis/api.js b/openbis_ng_ui/srcTest/js/services/openbis/api.js index dfa397a372b..a4d4d21cf3e 100644 --- a/openbis_ng_ui/srcTest/js/services/openbis/api.js +++ b/openbis_ng_ui/srcTest/js/services/openbis/api.js @@ -44,6 +44,19 @@ const updateMaterialTypes = jest.fn() const updatePersons = jest.fn() const updateSampleTypes = jest.fn() +const mockGetMe = me => { + const map = {} + + let person = me + if (!person) { + person = new dto.Person() + person.setWebAppSettings({}) + } + map[new dto.Me()] = person + + getPersons.mockReturnValue(Promise.resolve(map)) +} + const mockSearchGroups = groups => { const searchGroupsResult = new dto.SearchResult() searchGroupsResult.setObjects(groups) @@ -156,6 +169,7 @@ export default { updateMaterialTypes, updatePersons, updateSampleTypes, + mockGetMe, mockSearchDataSetTypes, mockSearchExperimentTypes, mockSearchGroups, diff --git a/openbis_ng_ui/srcTest/js/services/openbis/dto.js b/openbis_ng_ui/srcTest/js/services/openbis/dto.js index da30d429d3c..ec719478cee 100644 --- a/openbis_ng_ui/srcTest/js/services/openbis/dto.js +++ b/openbis_ng_ui/srcTest/js/services/openbis/dto.js @@ -64,6 +64,7 @@ import MaterialTypeDeletionOptions from 'as/dto/material/delete/MaterialTypeDele import MaterialTypeFetchOptions from 'as/dto/material/fetchoptions/MaterialTypeFetchOptions' import MaterialTypeSearchCriteria from 'as/dto/material/search/MaterialTypeSearchCriteria' import MaterialTypeUpdate from 'as/dto/material/update/MaterialTypeUpdate' +import Me from 'as/dto/person/id/Me' import Person from 'as/dto/person/Person' import PersonCreation from 'as/dto/person/create/PersonCreation' import PersonDeletionOptions from 'as/dto/person/delete/PersonDeletionOptions' @@ -235,6 +236,7 @@ const dto = { MaterialTypeFetchOptions, MaterialTypeSearchCriteria, MaterialTypeUpdate, + Me, Person, PersonCreation, PersonDeletionOptions, -- GitLab