Skip to content

Commit ad9ad1e

Browse files
committed
chore: cleanup ts / tests
1 parent e28c630 commit ad9ad1e

256 files changed

Lines changed: 1736 additions & 1053 deletions

File tree

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

.cursor/rules/integration-tests.md

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -12,6 +12,7 @@ Les tests d'intégrations :
1212
- ne doivent pas mocker les services
1313
- ne doivent pas mocker les requetes en base de données
1414
- doivent mocker les appels externe (axios, services/mail, etc)
15+
- les données nécessaires au test doivent être créé à l'aide des helpers
1516
- sont séparés en deux macro-domaines admin (aussi appelé bo) et usagers (aussi appelé fo)
1617
- le code http retourné doit être testé de façon stricte pour un use case précis (ex: `.toBe(404)` et non `.toBeLessThan(500)` ni `[401, 409, 500]).toContain(response.status)`)
1718

.talismanrc

Lines changed: 14 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -66,7 +66,7 @@ fileignoreconfig:
6666
- filename: packages/backend/src/__tests__/admin/accept-cgu.test.ts
6767
checksum: 692450d4fc33a59b516dab82ef8a447c1b0afa242acfac281b9c4584e330cbda
6868
- filename: packages/backend/src/__tests__/admin/authentication.test.ts
69-
checksum: 528b8fad9ce9931d961b9ed7f7d3da8b779ff2a189dfba4edf4ec788aa83c709
69+
checksum: 22348c897455013f64dd60180e4bde2d687254914c26cff65c548f1535b0dcd7
7070
- filename: packages/backend/src/__tests__/admin/sejour.test.ts
7171
checksum: d6e5b48000a21797f60865b4c59c09c9860f55c72376b785a21777e1f31d9b40
7272
- filename: packages/backend/src/__tests__/helper/testContainer.ts
@@ -94,7 +94,7 @@ fileignoreconfig:
9494
- filename: packages/backend/src/controllers/authentication/email/__tests__/renew-password.test.js
9595
checksum: 83ed8fdaec5e47e65e05fc8586202a8e2637ebc995fc326a79322cccaac25555
9696
- filename: packages/backend/src/controllers/authentication/email/forgotten-password.js
97-
checksum: 6d0565ac2c741533e6ee3347a1aa2a6c11544dd081907d63bf817d89a2ec1668
97+
checksum: 2a94b97c62b1ac4d7942613a926f249398f6659639ba716dc5393d14bb9c471a
9898
- filename: packages/backend/src/controllers/authentication/email/forgottenPassword.js
9999
checksum: d66401c29c51850346868ff2d7c097fbd572bbfd8cfae77c87ae5274a7cc8409
100100
- filename: packages/backend/src/controllers/authentication/email/index.js
@@ -104,19 +104,21 @@ fileignoreconfig:
104104
- filename: packages/backend/src/controllers/authentication/email/register.js
105105
checksum: ffe8f1a18fa67c4f00aed6f9ae5ccff003d55a30d9abffa3b66e178b3c0bb08a
106106
- filename: packages/backend/src/controllers/authentication/email/renew-password.js
107-
checksum: b137ab7a643c341d0a2396864d4f65abc4367b8d4b1dcce06a0274bb497c2473
107+
checksum: 3478527de3f1a06d217d02319704991dc59dbf2a559327ab6767edc95d31aa2f
108108
- filename: packages/backend/src/controllers/authentication/email/renewPassword.js
109109
checksum: 71c7f6afdca8903cb4ad4120ac93e5296cc5bac40dac63391722bb4c2079b422
110110
- filename: packages/backend/src/controllers/bo-authentication/email/forgotten-password.js
111-
checksum: 9c7a31b3ba790969c6f469bbfd69d3b32200783f3f7d044215cbdeef6611141b
111+
checksum: 52a72ed685e55a94d27fe3dc20c3b8aee0622ee82f3ce0c7a74b4977b4ebfc6d
112112
- filename: packages/backend/src/controllers/bo-authentication/email/index.js
113113
checksum: eed33b015aa92afe378f008ff56de976385b5dccddf1157fadafbe2854884336
114114
- filename: packages/backend/src/controllers/bo-authentication/email/renew-password.js
115-
checksum: b2cfd04d94c5131c43cb80f0d9f210784da4c61fd42f6defd16f2ef93e83c913
115+
checksum: b4a61017b7414ae94e60375a696e7bd3b3ee65cc549a963cbfb9c98669524ede
116116
- filename: packages/backend/src/controllers/siret/getLienSuccession.spec.ts
117117
checksum: 5c6862263cb7030aac2429eb09b35ab9a54e13c15e633944cdfac95747ec768f
118118
- filename: packages/backend/src/helpers/__tests__/queryParams.test.js
119119
checksum: c8b87f647822d4193d521e1d5630de0afbedc9f5273741bb5b419008e059b3fa
120+
- filename: packages/backend/src/helpers/declaration/mise-en-page.ts
121+
checksum: 11396ec3010ca7db3c3fe349da3cd20e6aada4bd176762cdeb3b0515b0e6d282
120122
- filename: packages/backend/src/helpers/queryParams.js
121123
checksum: 5c840a9346e912b48660122bb3fd206d4cbedb6f0cb73972724ba95be6f4043b
122124
- filename: packages/backend/src/middlewares/requestValidatorMiddleware.ts
@@ -163,16 +165,22 @@ fileignoreconfig:
163165
checksum: 48c16e791d844e7d30d14fec5fcf36798ecb4235b685a204ecf7456ca84364ac
164166
- filename: packages/backend/src/usagers/agrements/agrements.mail.ts
165167
checksum: 9435876e82a33a64481b490c8d148c9db042fd15ec42e72e6a8ddb23d5356af8
168+
- filename: packages/backend/src/utils/canBeActivated.ts
169+
checksum: 212a9a708b5135da12f93d9d98e2f9d2dcb8a3408bd3c6d56910f3c1d78cb66a
166170
- filename: packages/backend/src/utils/mail-service.js
167171
checksum: bf5f3c01e2edcf3a7ef6d8cbde306deb931a01df88ef90fe911c0c9ace41135c
168172
- filename: packages/backend/src/utils/mail.js
169-
checksum: b7cbdb67f3627bfef8139a2bf9a92c81dd5d448becd069f3a6322c2bfa2c5978
173+
checksum: 0cc74581f89fa2652cfa938481f3dfb14f30dc1353d3adec183d269ad3e5bd7b
170174
- filename: packages/backend/src/utils/pgpool.js
171175
checksum: 10d6ecbb906b6283646a6b2607cacbe2b6189059c321f3b85b49f73dbbe489be
172176
- filename: packages/backend/src/utils/pgpoolDoc.js
173177
checksum: 777a2c86e16769a1305d8fd2cd6a67eb195c2084855fe7fd0b6544af5028b72a
178+
- filename: packages/backend/src/utils/pgpoolDoc.ts
179+
checksum: d55d2efa238244acd799b9fe1d322a1b9fcefea36adc4f534469f70fda630bdf
174180
- filename: packages/backend/src/utils/regex.js
175181
checksum: 9e58840c352b67fb278a7409352b7afc6c8a628fb30d19d13f0d52993a5d9463
182+
- filename: packages/backend/src/utils/regex.ts
183+
checksum: 37980111f65aa47d942a24532df417df7c8b7520f009aba83e65388fb88aa0b9
176184
- filename: packages/backend/src/utils/validation-error.ts
177185
checksum: 4bec11a784b24d563235f78e271db6c1a9a7f2ebd0bf06544899c3da4f15b533
178186
- filename: packages/cron/src/notifySuppressionCompteInactif/notifySuppressionCompteInactif.email.ts

packages/backend/package.json

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -51,6 +51,7 @@
5151
"@socialgouv/eslint-config-recommended": "^1.131.0",
5252
"@testcontainers/postgresql": "^11.7.1",
5353
"@testcontainers/s3mock": "^11.11.0",
54+
"@types/debug": "^4.1.12",
5455
"@types/express": "^4.17.21",
5556
"@types/jest": "^29.5.12",
5657
"@types/jsonwebtoken": "^9.0.10",

packages/backend/src/__tests__/admin/authentication.test.ts

Lines changed: 49 additions & 55 deletions
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@ import jwt from "jsonwebtoken";
44
import request from "supertest";
55

66
import app from "../../app";
7-
import config from "../../config";
7+
import { config } from "../../config";
88
import boCheckJWT from "../../middlewares/bo-check-JWT";
99
import { UsersRepository as AdminUsersRepository } from "../../repositories/admin/Users";
1010
import { mailService } from "../../services/mail";
@@ -182,67 +182,61 @@ describe("POST /bo-authentication/email/validate", () => {
182182
});
183183
});
184184

185-
describe("Routes utilitaires /bo-authentication", () => {
186-
it("GET /bo-authentication/check-token retourne 200", async () => {
187-
(boCheckJWT as jest.Mock).mockImplementation(
188-
(
189-
req: { decoded?: { id: number } },
190-
_res: Response,
191-
next: NextFunction,
192-
) => {
193-
req.decoded = { id: 1 };
194-
next();
195-
},
196-
);
197-
198-
const response = await request(app).get("/bo-authentication/check-token");
185+
it("GET /bo-authentication/check-token retourne 200", async () => {
186+
(boCheckJWT as jest.Mock).mockImplementation(
187+
(req: { decoded?: { id: number } }, _res: Response, next: NextFunction) => {
188+
req.decoded = { id: 1 };
189+
next();
190+
},
191+
);
199192

200-
expect(response.status).toBe(200);
201-
expect(response.text).toBe("OK");
202-
});
193+
const response = await request(app).get("/bo-authentication/check-token");
203194

204-
it("POST /bo-authentication/disconnect retourne 400 sans refresh token", async () => {
205-
const response = await request(app).post("/bo-authentication/disconnect");
195+
expect(response.status).toBe(200);
196+
expect(response.text).toBe("OK");
197+
});
206198

207-
expect(response.status).toBe(400);
208-
expect(response.body.name).toBe("MissingRefreshToken");
209-
});
199+
it("POST /bo-authentication/disconnect retourne 400 sans refresh token", async () => {
200+
const response = await request(app).post("/bo-authentication/disconnect");
210201

211-
it("POST /bo-authentication/disconnect retourne 200 avec des cookies valides", async () => {
212-
const password = "HelloHello1!!";
213-
const timestamp = Date.now();
214-
const email = `bo-disconnect-${timestamp}@example.com`;
202+
expect(response.status).toBe(400);
203+
expect(response.body.name).toBe("MissingRefreshToken");
204+
});
215205

216-
await AdminUsersRepository.create({
217-
user: {
218-
cgu_accepted: true,
219-
cgu_accepted_at: new Date(),
220-
deleted: false,
221-
email,
222-
nom: "BoNom",
223-
password,
224-
prenom: "BoPrenom",
225-
ter_code: "FRA",
226-
validated: true,
227-
},
228-
});
206+
it("POST /bo-authentication/disconnect retourne 200 avec des cookies valides", async () => {
207+
const password = "HelloHello1!!";
208+
const timestamp = Date.now();
209+
const email = `bo-disconnect-${timestamp}@example.com`;
210+
211+
await AdminUsersRepository.create({
212+
user: {
213+
cgu_accepted: true,
214+
cgu_accepted_at: new Date(),
215+
deleted: false,
216+
email,
217+
nom: "BoNom",
218+
password,
219+
prenom: "BoPrenom",
220+
ter_code: "FRA",
221+
validated: true,
222+
},
223+
});
229224

230-
const loginResponse = await request(app)
231-
.post("/bo-authentication/email/login")
232-
.send({ email, password });
225+
const loginResponse = await request(app)
226+
.post("/bo-authentication/email/login")
227+
.send({ email, password });
233228

234-
const setCookieHeader = loginResponse.headers["set-cookie"];
235-
const cookies = Array.isArray(setCookieHeader)
236-
? setCookieHeader
237-
: setCookieHeader
238-
? [setCookieHeader]
239-
: [];
229+
const setCookieHeader = loginResponse.headers["set-cookie"];
230+
const cookies = Array.isArray(setCookieHeader)
231+
? setCookieHeader
232+
: setCookieHeader
233+
? [setCookieHeader]
234+
: [];
240235

241-
const response = await request(app)
242-
.post("/bo-authentication/disconnect")
243-
.set("Cookie", cookies);
236+
const response = await request(app)
237+
.post("/bo-authentication/disconnect")
238+
.set("Cookie", cookies);
244239

245-
expect(response.status).toBe(200);
246-
expect(response.body.message).toBe("Déconnexion");
247-
});
240+
expect(response.status).toBe(200);
241+
expect(response.body.message).toBe("Déconnexion");
248242
});

packages/backend/src/__tests__/admin/documents.test.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@ import request from "supertest";
44
import app from "../../app";
55
import * as DocumentService from "../../services/Document";
66
import { User, UserRequest } from "../../types/request";
7-
import { getPool as getPoolDoc } from "../../utils/pgpoolDoc";
7+
import { getPoolDoc } from "../../utils/pgpoolDoc";
88
import { createMinimalPdf } from "../helpers/fileHelper";
99
import {
1010
createTestContainer,

packages/backend/src/__tests__/admin/eig.test.ts

Lines changed: 13 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -3,11 +3,13 @@ import { NextFunction, Response } from "express";
33
import request from "supertest";
44

55
import app from "../../app";
6+
import { roles } from "../../helpers/users";
67
import boCheckJWT from "../../middlewares/bo-check-JWT";
78
import eigService from "../../services/eig";
89
import { User, UserRequest } from "../../types/request";
910
import { createAgrement } from "../helpers/agrementsHelper";
1011
import { createDemandeSejour } from "../helpers/demandeSejourHelper";
12+
import { createEig } from "../helpers/eigHelper";
1113
import { createHebergement } from "../helpers/hebergementHelper";
1214
import { createOrganisme } from "../helpers/organismeHelper";
1315
import {
@@ -33,15 +35,6 @@ let foUserId = 0;
3335
let boUserId = 0;
3436
let declarationId = 0;
3537

36-
const createEig = async (): Promise<number> => {
37-
return eigService.create({
38-
date: new Date().toISOString().slice(0, 10),
39-
declarationId,
40-
departement: "75",
41-
userId: foUserId,
42-
});
43-
};
44-
4538
beforeAll(async () => {
4639
await createTestContainer();
4740
const foUser = await createUsagersUserValide();
@@ -75,7 +68,11 @@ beforeEach(() => {
7568
(req: UserRequest, _res: Response, next: NextFunction) => {
7669
req.decoded = {
7770
id: boUserId,
78-
roles: ["eig", "DemandeSejour_Lecture", "DemandeSejour_Ecriture"],
71+
roles: [
72+
roles.EIG,
73+
roles.DEMANDE_SEJOUR_LECTURE,
74+
roles.DEMANDE_SEJOUR_ECRITURE,
75+
],
7976
territoireCode: "FRA",
8077
} as unknown as User;
8178
next();
@@ -85,7 +82,7 @@ beforeEach(() => {
8582

8683
describe("Domaine /eig (admin)", () => {
8784
it("GET /eig/admin/ds/:declarationId retourne les eig", async () => {
88-
const eigId = await createEig();
85+
const eigId = await createEig({ declarationId, userId: foUserId });
8986
await eigService.depose(eigId);
9087

9188
const response = await request(app).get(`/eig/admin/ds/${declarationId}`);
@@ -94,7 +91,7 @@ describe("Domaine /eig (admin)", () => {
9491
});
9592

9693
it("GET /eig/admin retourne la liste admin", async () => {
97-
const eigId = await createEig();
94+
const eigId = await createEig({ declarationId, userId: foUserId });
9895
await eigService.depose(eigId);
9996

10097
const response = await request(app).get("/eig/admin").query({
@@ -105,7 +102,7 @@ describe("Domaine /eig (admin)", () => {
105102
});
106103

107104
it("GET /eig/admin/pdf/:id retourne un pdf", async () => {
108-
const eigId = await createEig();
105+
const eigId = await createEig({ declarationId, userId: foUserId });
109106
await eigService.depose(eigId);
110107

111108
const response = await request(app).get(`/eig/admin/pdf/${eigId}`);
@@ -125,7 +122,7 @@ describe("Domaine /eig (admin)", () => {
125122
});
126123

127124
it("GET /eig/admin/:id retourne un eig", async () => {
128-
const eigId = await createEig();
125+
const eigId = await createEig({ declarationId, userId: foUserId });
129126
await eigService.depose(eigId);
130127

131128
const response = await request(app).get(`/eig/admin/${eigId}`);
@@ -145,7 +142,7 @@ describe("Domaine /eig (admin)", () => {
145142
},
146143
);
147144

148-
const eigId = await createEig();
145+
const eigId = await createEig({ declarationId, userId: foUserId });
149146
await eigService.depose(eigId);
150147

151148
const response = await request(app).post(
@@ -156,7 +153,7 @@ describe("Domaine /eig (admin)", () => {
156153
});
157154

158155
it("POST /eig/admin/:id/mark-as-read retourne 400 en statut brouillon", async () => {
159-
const eigId = await createEig();
156+
const eigId = await createEig({ declarationId, userId: foUserId });
160157
const response = await request(app).post(
161158
`/eig/admin/${eigId}/mark-as-read`,
162159
);

packages/backend/src/__tests__/admin/message.test.ts

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,7 @@ import { NextFunction, Response } from "express";
22
import request from "supertest";
33

44
import app from "../../app";
5+
import { roles } from "../../helpers/users";
56
import boCheckJWT from "../../middlewares/bo-check-JWT";
67
import { User, UserRequest } from "../../types/request";
78
import { createDemandeSejour } from "../helpers/demandeSejourHelper";
@@ -46,7 +47,7 @@ beforeEach(() => {
4647
(req: UserRequest, _res: Response, next: NextFunction) => {
4748
req.decoded = {
4849
id: boUserID,
49-
roles: ["DemandeSejour_Lecture", "DemandeSejour_Ecriture"],
50+
roles: [roles.DEMANDE_SEJOUR_LECTURE, roles.DEMANDE_SEJOUR_ECRITURE],
5051
territoireCode: "FRA",
5152
} as unknown as User;
5253
next();

packages/backend/src/__tests__/admin/sejour.test.ts

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,7 @@ import { NextFunction, Response } from "express";
22
import request from "supertest";
33

44
import app from "../../app";
5+
import { roles } from "../../helpers/users";
56
import boCheckJWT from "../../middlewares/bo-check-JWT";
67
import DemandeSejour from "../../services/DemandeSejour";
78
import { User, UserRequest } from "../../types/request";
@@ -50,7 +51,7 @@ beforeEach(() => {
5051
(req: UserRequest, _res: Response, next: NextFunction) => {
5152
req.decoded = {
5253
id: boUserId,
53-
roles: ["DemandeSejour_Lecture", "DemandeSejour_Ecriture"],
54+
roles: [roles.DEMANDE_SEJOUR_LECTURE, roles.DEMANDE_SEJOUR_ECRITURE],
5455
territoireCode: "FRA",
5556
} as unknown as User;
5657
next();

packages/backend/src/__tests__/debug-sentry.test.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
import request from "supertest";
22

33
import app from "../app";
4-
import config from "../config";
4+
import { config } from "../config";
55

66
describe("GET /debug-sentry", () => {
77
it("retourne une erreur gérée quand la route est activée", async () => {

0 commit comments

Comments
 (0)