diff --git a/frontend/src/components/DataGrid.layout.test.tsx b/frontend/src/components/DataGrid.layout.test.tsx index e044f5df..be72534d 100644 --- a/frontend/src/components/DataGrid.layout.test.tsx +++ b/frontend/src/components/DataGrid.layout.test.tsx @@ -149,6 +149,37 @@ const zhObjectDesignLabel = zhCnCatalog['data_grid.secondary.object_design']; const enUndoCellChangeLabel = enUsCatalog['data_grid.context_menu.undo_cell_change']; describe('DataGrid layout', () => { + it('renders without navigator in server-side environments', () => { + const navigatorDescriptor = Object.getOwnPropertyDescriptor(globalThis, 'navigator'); + Reflect.deleteProperty(globalThis, 'navigator'); + + try { + expect(() => renderDataGridWithI18n( + {}} + />, + )).not.toThrow(); + } finally { + if (navigatorDescriptor) { + Object.defineProperty(globalThis, 'navigator', navigatorDescriptor); + } else { + Reflect.deleteProperty(globalThis, 'navigator'); + } + } + }); + it('renders a secondary action strip for view switching and auxiliary actions', () => { const markup = renderDataGridWithI18n( = ({ isQueryResultExport, mergedDisplayData, modal, - navigator, + navigator: globalThis.navigator, objectType, pagination, pickDataGridOutputRows,