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 8ee9c5bafa8dc7d0b8be7299968ef549570ee28b..f0c8a2efeae497bc134358a7f860f276bd8b79e5 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 f69367e18f2291eead6b0867f23bf1c6e53e890f..c1ba7f33f0cb0a11101e394bfb44d1212f74ef19 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 057547e54bfddfd84f3d6146114dbd3b3eacd4af..0451a2035314921b5d6c431ef9d66efe2bca007c 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 7bd97bbaba638bb099f9077b8c7e5e0558a219ed..14a7c6223a76ac70794a2c0c83d92ce8f951e3f1 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 dfa397a372be26970cb6a27565b2bad4aca59896..a4d4d21cf3e65e9fab82b8286bef0c6b09f66f18 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 da30d429d3c512cbb7079afc755fb09fa98b0567..ec719478cee212d713e0ca19a9567aff396c71ee 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,