Skip to content

Commit 6620090

Browse files
committed
catalogue items flagging #1656
1 parent 1df054f commit 6620090

24 files changed

+818
-174
lines changed

cypress/e2e/with_api/systems/functions.ts

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -216,7 +216,7 @@ export const navigateToItemsTableViaSpares = () => {
216216
cy.findByText('Number of spares').should('exist');
217217
// eslint-disable-next-line cypress/no-unnecessary-waiting
218218
cy.wait(1000);
219-
cy.findByRole('link', { name: '1' }).click();
219+
cy.findAllByRole('link', { name: '1' }).first().click();
220220
cy.findByText('MX432424').should('exist');
221221

222222
// Catalogue items landing page
@@ -226,7 +226,7 @@ export const navigateToItemsTableViaSpares = () => {
226226
// eslint-disable-next-line cypress/no-unnecessary-waiting
227227
cy.wait(100);
228228
cy.findByText('Number of spares').should('exist');
229-
cy.findByRole('link', { name: '1' }).click();
229+
cy.findAllByRole('link', { name: '1' }).first().click();
230230
cy.findByText('MX432424').should('exist');
231231
cy.visit('/systems');
232232
};

cypress/e2e/with_mock_data/catalogueItems.cy.ts

Lines changed: 10 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -90,7 +90,7 @@ describe('Catalogue Items', () => {
9090
it('navigates to items page with spares definition applied', () => {
9191
cy.visit('/catalogue/9/items');
9292

93-
cy.findByRole('link', { name: '1' }).click();
93+
cy.findAllByRole('link', { name: '1' }).first().click();
9494

9595
cy.findByText('dfzqkOJbqifO').should('exist');
9696

@@ -100,7 +100,7 @@ describe('Catalogue Items', () => {
100100
it('navigates to items page with spares definition applied (from landing page)', () => {
101101
cy.visit('/catalogue/9/items/11');
102102

103-
cy.findByRole('link', { name: '1' }).click();
103+
cy.findAllByRole('link', { name: '1' }).first().click();
104104

105105
cy.findByText('dfzqkOJbqifO').should('exist');
106106

@@ -117,7 +117,7 @@ describe('Catalogue Items', () => {
117117

118118
cy.findAllByLabelText('Expand').eq(1).click();
119119

120-
cy.findByRole('link', { name: '1' }).click();
120+
cy.findAllByRole('link', { name: '1' }).first().click();
121121

122122
cy.findByText('dfzqkOJbqifO').should('exist');
123123

@@ -1088,7 +1088,7 @@ describe('Catalogue Items', () => {
10881088
});
10891089
});
10901090

1091-
it('can copy multiple catalogue items', () => {
1091+
it.only('can copy multiple catalogue items', () => {
10921092
cy.visit('/catalogue/5');
10931093

10941094
cy.findAllByLabelText('Toggle select row').first().click();
@@ -1140,6 +1140,9 @@ describe('Catalogue Items', () => {
11401140
created_time: '2024-01-01T12:00:00.000+00:00',
11411141
modified_time: '2024-01-02T13:10:10.000+00:00',
11421142
number_of_spares: 0,
1143+
number_of_spares_required: null,
1144+
criticality: null,
1145+
is_flagged: null,
11431146
})
11441147
);
11451148
expect(JSON.stringify(await patchRequests[1].json())).equal(
@@ -1168,6 +1171,9 @@ describe('Catalogue Items', () => {
11681171
created_time: '2024-01-01T12:00:00.000+00:00',
11691172
modified_time: '2024-01-02T13:10:10.000+00:00',
11701173
number_of_spares: 0,
1174+
number_of_spares_required: null,
1175+
criticality: null,
1176+
is_flagged: null,
11711177
})
11721178
);
11731179
});

src/App.tsx

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -27,6 +27,7 @@ import CatalogueLayout, {
2727
catalogueLayoutLoader,
2828
} from './catalogue/catalogueLayout.component';
2929
import CatalogueCardView from './catalogue/category/catalogueCardView.component';
30+
import CatalogueItemLayout from './catalogue/items/catalogueItemLayout.component';
3031
import CatalogueItemsLandingPage from './catalogue/items/catalogueItemsLandingPage.component';
3132
import CatalogueItemsPage from './catalogue/items/catalogueItemsPage.component';
3233
import SettingsMenuItems from './common/settingsMenuItems.component';
@@ -155,7 +156,7 @@ const routeObject: RouteObject[] = [
155156
},
156157
{
157158
path: paths.catalogueItem,
158-
Component: Outlet,
159+
Component: CatalogueItemLayout,
159160
children: [
160161
{
161162
index: true,

src/api/api.types.tsx

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -214,6 +214,9 @@ export interface CatalogueItem
214214
id: string;
215215
properties: Property[];
216216
number_of_spares: number | null;
217+
number_of_spares_required: number | null;
218+
criticality: number | null;
219+
is_flagged: boolean | null;
217220
}
218221

219222
// ------------------------------------ ITEMS ------------------------------------------------

src/api/catalogueItems.test.tsx

Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -170,6 +170,9 @@ describe('catalogue items api functions', () => {
170170
obsolete_reason: null,
171171
properties: [],
172172
number_of_spares: 0,
173+
number_of_spares_required: null,
174+
criticality: null,
175+
is_flagged: null,
173176
...CREATED_MODIFIED_TIME_VALUES,
174177
};
175178
});
@@ -274,6 +277,9 @@ describe('catalogue items api functions', () => {
274277
obsolete_reason: null,
275278
obsolete_replacement_catalogue_item_id: null,
276279
number_of_spares: 0,
280+
number_of_spares_required: null,
281+
criticality: null,
282+
is_flagged: null,
277283
properties: [
278284
{
279285
id: '90',
@@ -304,6 +310,9 @@ describe('catalogue items api functions', () => {
304310
obsolete_reason: null,
305311
obsolete_replacement_catalogue_item_id: null,
306312
number_of_spares: 0,
313+
number_of_spares_required: null,
314+
criticality: null,
315+
is_flagged: null,
307316
properties: [
308317
{
309318
id: '90',
@@ -413,6 +422,9 @@ describe('catalogue items api functions', () => {
413422
obsolete_reason: null,
414423
obsolete_replacement_catalogue_item_id: null,
415424
number_of_spares: 0,
425+
number_of_spares_required: null,
426+
criticality: null,
427+
is_flagged: null,
416428
properties: [
417429
{
418430
id: '90',
@@ -443,6 +455,9 @@ describe('catalogue items api functions', () => {
443455
obsolete_reason: null,
444456
obsolete_replacement_catalogue_item_id: null,
445457
number_of_spares: 0,
458+
number_of_spares_required: null,
459+
criticality: null,
460+
is_flagged: null,
446461
properties: [
447462
{
448463
id: '90',

src/catalogue/category/catalogueCardView.component.tsx

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -48,6 +48,7 @@ import {
4848
getPageHeightCalc,
4949
MRT_Functions_Localisation,
5050
mrtTheme,
51+
OverflowTip,
5152
} from '../../utils';
5253
import CatalogueCard from './catalogueCard.component';
5354
import CatalogueCategoryDialog from './catalogueCategoryDialog.component';
@@ -326,7 +327,7 @@ function CatalogueCardView() {
326327
<Tooltip title={CriticalTooltipText}>
327328
<InfoOutlined sx={{ mr: 1 }} fontSize="small" />
328329
</Tooltip>
329-
{column.columnDef.header}
330+
<OverflowTip>{column.columnDef.header}</OverflowTip>
330331
</Box>
331332
),
332333
accessorFn: (row: CatalogueCategory) => (row.is_flagged ? 'Yes' : 'No'),

src/catalogue/category/catalogueCategoryTableView.component.tsx

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -76,7 +76,9 @@ const CatalogueCategoryTableView = (props: CatalogueCategoryTableViewProps) => {
7676
{showFlagged && (
7777
<CriticalityTooltipIcon label={CriticalTooltipText} />
7878
)}
79-
<OverflowTip>{renderedCellValue}</OverflowTip>
79+
<OverflowTip sx={{ fontSize: 'inherit' }}>
80+
{renderedCellValue}
81+
</OverflowTip>
8082
</Box>
8183
);
8284
},

src/catalogue/items/__snapshots__/catalogueItemsPage.component.test.tsx.snap

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -217,7 +217,7 @@ exports[`CatalogueItemsPage > renders a catalogue items page correctly 1`] = `
217217
>
218218
<table
219219
class="MuiTable-root MuiTable-stickyHeader css-1gcyac0-MuiTable-root"
220-
style="--header-mrt_row_actions-size: 70; --col-mrt_row_actions-size: 70; --header-mrt_row_select-size: 60; --col-mrt_row_select-size: 60; --header-catalogueItem_name-size: 200; --col-catalogueItem_name-size: 200; --header-catalogueItem_modified_time-size: 350; --col-catalogueItem_modified_time-size: 350; --header-View_Items-size: 200; --col-View_Items-size: 200; --header-catalogueItem_description-size: 250; --col-catalogueItem_description-size: 250; --header-catalogueItem_is_obsolete-size: 200; --col-catalogueItem_is_obsolete-size: 200; --header-catalogueItem_obsolete_replacement_catalogue_item_id-size: 275; --col-catalogueItem_obsolete_replacement_catalogue_item_id-size: 275; --header-catalogueItem_obsolete_reason-size: 225; --col-catalogueItem_obsolete_reason-size: 225; --header-catalogueItem_properties_1-size: 250; --col-catalogueItem_properties_1-size: 250; --header-catalogueItem_properties_2-size: 250; --col-catalogueItem_properties_2-size: 250; --header-catalogueItem_properties_3-size: 250; --col-catalogueItem_properties_3-size: 250; --header-catalogueItem_properties_4-size: 250; --col-catalogueItem_properties_4-size: 250; --header-catalogueItem_properties_5-size: 250; --col-catalogueItem_properties_5-size: 250; --header-catalogueItem_properties_6-size: 250; --col-catalogueItem_properties_6-size: 250; --header-catalogueItem_cost_gbp-size: 250; --col-catalogueItem_cost_gbp-size: 250; --header-catalogueItem_cost_to_rework_gbp-size: 250; --col-catalogueItem_cost_to_rework_gbp-size: 250; --header-catalogueItem_days_to_replace-size: 275; --col-catalogueItem_days_to_replace-size: 275; --header-catalogueItem_days_to_rework-size: 250; --col-catalogueItem_days_to_rework-size: 250; --header-catalogueItem_expected_lifetime_days-size: 300; --col-catalogueItem_expected_lifetime_days-size: 300; --header-catalogueItem_drawing_number-size: 250; --col-catalogueItem_drawing_number-size: 250; --header-catalogueItem_drawing_link-size: 250; --col-catalogueItem_drawing_link-size: 250; --header-catalogueItem_item_model_number-size: 250; --col-catalogueItem_item_model_number-size: 250; --header-manufacturer_name-size: 350; --col-manufacturer_name-size: 350; --header-manufacturer_url-size: 250; --col-manufacturer_url-size: 250; --header-manufacturer_address-size: 300; --col-manufacturer_address-size: 300; --header-manufacturer_telephone-size: 300; --col-manufacturer_telephone-size: 300; --header-catalogueItem_notes-size: 250; --col-catalogueItem_notes-size: 250; --header-mrt_row_spacer-size: 40; --col-mrt_row_spacer-size: 40;"
220+
style="--header-mrt_row_actions-size: 70; --col-mrt_row_actions-size: 70; --header-mrt_row_select-size: 60; --col-mrt_row_select-size: 60; --header-catalogueItem_name-size: 250; --col-catalogueItem_name-size: 250; --header-catalogueItem_modified_time-size: 350; --col-catalogueItem_modified_time-size: 350; --header-View_Items-size: 200; --col-View_Items-size: 200; --header-catalogueItem_description-size: 250; --col-catalogueItem_description-size: 250; --header-catalogueItem_is_obsolete-size: 200; --col-catalogueItem_is_obsolete-size: 200; --header-catalogueItem_obsolete_replacement_catalogue_item_id-size: 275; --col-catalogueItem_obsolete_replacement_catalogue_item_id-size: 275; --header-catalogueItem_obsolete_reason-size: 225; --col-catalogueItem_obsolete_reason-size: 225; --header-catalogueItem_properties_1-size: 250; --col-catalogueItem_properties_1-size: 250; --header-catalogueItem_properties_2-size: 250; --col-catalogueItem_properties_2-size: 250; --header-catalogueItem_properties_3-size: 250; --col-catalogueItem_properties_3-size: 250; --header-catalogueItem_properties_4-size: 250; --col-catalogueItem_properties_4-size: 250; --header-catalogueItem_properties_5-size: 250; --col-catalogueItem_properties_5-size: 250; --header-catalogueItem_properties_6-size: 250; --col-catalogueItem_properties_6-size: 250; --header-catalogueItem_cost_gbp-size: 250; --col-catalogueItem_cost_gbp-size: 250; --header-catalogueItem_cost_to_rework_gbp-size: 250; --col-catalogueItem_cost_to_rework_gbp-size: 250; --header-catalogueItem_days_to_replace-size: 275; --col-catalogueItem_days_to_replace-size: 275; --header-catalogueItem_days_to_rework-size: 250; --col-catalogueItem_days_to_rework-size: 250; --header-catalogueItem_expected_lifetime_days-size: 300; --col-catalogueItem_expected_lifetime_days-size: 300; --header-catalogueItem_drawing_number-size: 250; --col-catalogueItem_drawing_number-size: 250; --header-catalogueItem_drawing_link-size: 250; --col-catalogueItem_drawing_link-size: 250; --header-catalogueItem_item_model_number-size: 250; --col-catalogueItem_item_model_number-size: 250; --header-manufacturer_name-size: 350; --col-manufacturer_name-size: 350; --header-manufacturer_url-size: 250; --col-manufacturer_url-size: 250; --header-manufacturer_address-size: 300; --col-manufacturer_address-size: 300; --header-manufacturer_telephone-size: 300; --col-manufacturer_telephone-size: 300; --header-catalogueItem_notes-size: 250; --col-catalogueItem_notes-size: 250; --header-mrt_row_spacer-size: 40; --col-mrt_row_spacer-size: 40;"
221221
>
222222
<thead
223223
class="MuiTableHead-root css-7psuou-MuiTableHead-root"

0 commit comments

Comments
 (0)