bf988bc6d Élimination de 43 vulnérabilités npm : react-scripts→Vite, ESLint 9, nettoyage des dépendances, corrections de bugs
c169b7740 Migration de React 18 vers 19 et mise à niveau des dépendances frontend
253b9f38b mise à jour de certaines dépendances et correction des erreurs eslint
c2b85fee3 correction eslint
a6a7aece4 Optimisation des imports
bf988bc6d
Élimination de 43 vulnérabilités npm : react-scripts→Vite, ESLint 9, nettoyage des dépendances, corrections de bugsbf988bc6d14252863c2a7a54c409c947fb9feb7b
diff --git a/projectforge-webapp/src/containers/ProjectForge.test.jsx b/projectforge-webapp/src/containers/ProjectForge.test.jsx
index 9abade869..cbfd0355f 100644
--- a/projectforge-webapp/src/containers/ProjectForge.test.jsx
+++ b/projectforge-webapp/src/containers/ProjectForge.test.jsx
@@ -1,40 +1,59 @@
import React from 'react';
import { createRoot } from 'react-dom/client';
import { Provider } from 'react-redux';
-import { applyMiddleware, createStore } from 'redux';
-import thunk from 'redux-thunk';
-import reducer from '../reducers';
+import { createStore, applyMiddleware } from 'redux';
+import { thunk } from 'redux-thunk';
+import { MemoryRouter } from 'react-router';
+
+vi.mock('../components/base/footer', () => ({ default: () => null }));
+vi.mock('../components/base/Toasts', () => ({ default: () => null }));
+vi.mock('../components/base/topbar', () => ({ default: () => null }));
+vi.mock('../components/base/navigation/GlobalNavigation', () => ({ default: () => null }));
+vi.mock('../components/design', () => ({ default: {}, Spinner: () => null }));
+vi.mock('./AuthorizedRoutes', () => ({ default: () => null, publicRoute: null, wicketRoute: null }));
+vi.mock('./page/form/FormPage', () => ({ default: () => null }));
+
+const mockFetchResponse = Promise.resolve({
+ ok: true,
+ json: () => Promise.resolve({}),
+});
+
+global.fetch = vi.fn(() => mockFetchResponse);
+
import ProjectForge from './ProjectForge';
+function createTestStore(initialState) {
+ const rootReducer = (state = initialState) => state;
+ return createStore(rootReducer, initialState, applyMiddleware(thunk));
+}
+
describe('renders without crashing', () => {
it('with initial state', () => {
+ const store = createTestStore({
+ authentication: { loading: true, user: null },
+ });
const div = document.createElement('div');
- const store = createStore(reducer, applyMiddleware(thunk));
createRoot(div).render(
<Provider store={store}>
- <ProjectForge />
+ <MemoryRouter>
+ <ProjectForge />
+ </MemoryRouter>
</Provider>,
);
});
it('with logged in state', () => {
+ const store = createTestStore({
+ authentication: { loading: false, user: { name: 'test' } },
+ });
c169b7740
Migration de React 18 vers 19 et mise à niveau des dépendances frontendc169b77402234fdeed0dc7142ee59f16fc61851c
diff --git a/projectforge-webapp/src/containers/ProjectForge.test.jsx b/projectforge-webapp/src/containers/ProjectForge.test.jsx
index 4be2b5fc1..9abade869 100644
--- a/projectforge-webapp/src/containers/ProjectForge.test.jsx
+++ b/projectforge-webapp/src/containers/ProjectForge.test.jsx
@@ -1,5 +1,5 @@
import React from 'react';
-import ReactDOM from 'react-dom';
+import { createRoot } from 'react-dom/client';
import { Provider } from 'react-redux';
import { applyMiddleware, createStore } from 'redux';
import thunk from 'redux-thunk';
@@ -11,12 +11,10 @@ describe('renders without crashing', () => {
const div = document.createElement('div');
const store = createStore(reducer, applyMiddleware(thunk));
- ReactDOM.render(
- (
- <Provider store={store}>
- <ProjectForge />
- </Provider>
- ), div,
+ createRoot(div).render(
+ <Provider store={store}>
+ <ProjectForge />
+ </Provider>,
);
});
@@ -34,12 +32,10 @@ describe('renders without crashing', () => {
applyMiddleware(thunk),
);
- ReactDOM.render(
- (
- <Provider store={store}>
- <ProjectForge />
- </Provider>
- ), div,
+ createRoot(div).render(
+ <Provider store={store}>
+ <ProjectForge />
+ </Provider>,
);
});
});
253b9f38b
mise à jour de certaines dépendances et correction des erreurs eslint253b9f38b25268fbe922dbe9e4ddca94b13b98aa
diff --git a/projectforge-webapp/src/containers/ProjectForge.test.jsx b/projectforge-webapp/src/containers/ProjectForge.test.jsx
index 0e9cc75af..4be2b5fc1 100644
--- a/projectforge-webapp/src/containers/ProjectForge.test.jsx
+++ b/projectforge-webapp/src/containers/ProjectForge.test.jsx
@@ -11,11 +11,13 @@ describe('renders without crashing', () => {
const div = document.createElement('div');
const store = createStore(reducer, applyMiddleware(thunk));
- ReactDOM.render((
- <Provider store={store}>
- <ProjectForge />
- </Provider>
- ), div);
+ ReactDOM.render(
+ (
+ <Provider store={store}>
+ <ProjectForge />
+ </Provider>
+ ), div,
+ );
});
it('with logged in state', () => {
@@ -32,10 +34,12 @@ describe('renders without crashing', () => {
applyMiddleware(thunk),
);
- ReactDOM.render((
- <Provider store={store}>
- <ProjectForge />
- </Provider>
- ), div);
+ ReactDOM.render(
+ (
+ <Provider store={store}>
+ <ProjectForge />
+ </Provider>
+ ), div,
+ );
});
});
c2b85fee3
correction eslintc2b85fee3b86c2c21d4ebc4dfe040c2638e44f72
diff --git a/projectforge-webapp/src/containers/ProjectForge.test.jsx b/projectforge-webapp/src/containers/ProjectForge.test.jsx
index a454b564a..0e9cc75af 100644
--- a/projectforge-webapp/src/containers/ProjectForge.test.jsx
+++ b/projectforge-webapp/src/containers/ProjectForge.test.jsx
@@ -1,7 +1,7 @@
import React from 'react';
import ReactDOM from 'react-dom';
-import {Provider} from 'react-redux';
-import {applyMiddleware, createStore} from 'redux';
+import { Provider } from 'react-redux';
+import { applyMiddleware, createStore } from 'redux';
import thunk from 'redux-thunk';
import reducer from '../reducers';
import ProjectForge from './ProjectForge';
a6a7aece4
Optimisation des importsa6a7aece4d6f38909372f55af0361a52575b8f9c
diff --git a/projectforge-webapp/src/containers/ProjectForge.test.jsx b/projectforge-webapp/src/containers/ProjectForge.test.jsx
index 0e9cc75af..a454b564a 100644
--- a/projectforge-webapp/src/containers/ProjectForge.test.jsx
+++ b/projectforge-webapp/src/containers/ProjectForge.test.jsx
@@ -1,7 +1,7 @@
import React from 'react';
import ReactDOM from 'react-dom';
-import { Provider } from 'react-redux';
-import { applyMiddleware, createStore } from 'redux';
+import {Provider} from 'react-redux';
+import {applyMiddleware, createStore} from 'redux';
import thunk from 'redux-thunk';
import reducer from '../reducers';
import ProjectForge from './ProjectForge';