Skip to content

Commit

Permalink
Merge branch 'master' into rdumazert/feat-moderation-france-travail-r…
Browse files Browse the repository at this point in the history
…efusal
  • Loading branch information
rebeccadumazert authored Nov 19, 2024
2 parents b221a0c + 66e50a1 commit 38207dc
Show file tree
Hide file tree
Showing 12 changed files with 186 additions and 4 deletions.
Binary file modified bun.lockb
Binary file not shown.
2 changes: 1 addition & 1 deletion packages/~/infra/moncomptepro/database/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -29,7 +29,7 @@
"pg": "8.13.0"
},
"devDependencies": {
"@electric-sql/pglite": "0.2.12",
"@electric-sql/pglite": "0.2.13",
"@types/pg": "8.11.10",
"@~/config.typescript": "workspace:*",
"drizzle-kit": "0.28.0"
Expand Down
2 changes: 1 addition & 1 deletion packages/~/infra/zammad/api/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -12,7 +12,7 @@
"test": "bun test"
},
"dependencies": {
"@hono/zod-validator": "0.2.2",
"@hono/zod-validator": "0.4.1",
"@~/app.core": "workspace:*",
"@~/zammad.lib": "workspace:*",
"hono": "4.6.10",
Expand Down
5 changes: 4 additions & 1 deletion packages/~/moderations/ui/src/Actions/context.ts
Original file line number Diff line number Diff line change
Expand Up @@ -13,7 +13,10 @@ export interface Values {
domain: string;
moderation: SimplifyDeep<
Pick<Moderation, "id" | "moderated_at" | "type"> & {
organization: Pick<Organization, "cached_libelle" | "id" | "siret">;
organization: Pick<
Organization,
"cached_libelle" | "id" | "siret" | "cached_libelle_categorie_juridique"
>;
user: Pick<User, "email" | "id" | "family_name" | "given_name">;
}
>;
Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,19 @@
// Bun Snapshot v1, https://goo.gl/fbAQLP

exports[`returns error on 🦄 organization (min armée) email 1`] = `
"Bonjour,
Nous avons bien reçu votre demande de rattachement à l&#39;organisation « 🦄 » sur ProConnect (anciennement : AgentConnect, MonComptePro).
Nous pensons que vous avez fait erreur sur l&#39;organisation à laquelle vous souhaitez rattacher votre compte utilisateur ProConnect.
L&#39;organisation « 🦄 » est une organisation privée dont l&#39;activité est la suivante : « 👾 ».
Ne souhaitiez-vous pas rattacher votre compte à XXXXXXX ?
Si tel est le cas, d&#39;après nos recherches, XXXXXXXX n&#39;apparaît pas dans le répertoire SIRENE, soit parce qu&#39;elle n&#39;est pas inscrite, soit parce qu&#39;elle a choisi de ne pas diffuser ses informations en raison de la nature sensible de ses activités.
Dans ce contexte, veuillez renouveler votre création de compte en le rattachant au :
MINISTERE DES ARMEES : https://annuaire-entreprises.data.gouv.fr/entreprise/ministere-des-armees-110090016.
Bien cordialement,
L’équipe ProConnect.
"
`;
Original file line number Diff line number Diff line change
@@ -0,0 +1,18 @@
// Bun Snapshot v1, https://goo.gl/fbAQLP

exports[`returns invalid teacher email message 1`] = `
"Bonjour,
Votre demande pour rejoindre l’organisation « 🦄 » a été prise en compte sur https://app.moncomptepro.beta.gouv.fr.
Votre adresse e-mail académique : « 💌 » ne vous permet pas de rattacher votre compte utilisateur MonComptePro au Ministère de l’Éducation Nationale et de la Jeunesse.
En tant qu’enseignant, merci de bien vouloir créer votre compte à nouveau en le rattachant à l’une des organisations suivantes :
- L’établissement scolaire dans lequel vous exercez,
- Le rectorat de votre Académie.
Bien cordialement,
L’équipe ProConnect.
"
`;
Original file line number Diff line number Diff line change
Expand Up @@ -17,7 +17,12 @@ test("returns all members", async () => {
$decision_form: "",
domain: "unicorn.xyz",
moderation: {
organization: { cached_libelle: "🦄", id: 1, siret: "🦄 siret" },
organization: {
cached_libelle: "🦄",
id: 1,
siret: "🦄 siret",
cached_libelle_categorie_juridique: "🍄",
},
user: { id: 42, given_name: "", email: "", family_name: "🧟" },
id: 1,
moderated_at: "2011-11-11",
Expand Down
4 changes: 4 additions & 0 deletions packages/~/moderations/ui/src/Actions/responses/index.ts
Original file line number Diff line number Diff line change
Expand Up @@ -15,11 +15,13 @@ import * as link_with_chosen_organization from "./link_with_chosen_organization"
import * as link_with_eduction_gouv_fr from "./link_with_eduction_gouv_fr";
import * as link_with_organization from "./link_with_organization";
import * as min_armees from "./min_armees";
import * as min_armees_terre_marine_musee from "./min_armees_terre_marine_musee";
import * as missing_name from "./missing_name";
import * as mobilic from "./mobilic";
import * as name_incorrectly_entered from "./name_incorrectly_entered";
import * as occupation_incorrectly_entered from "./occupation_incorrectly_entered";
import * as occupation_incorrectly_entered_not_blocking from "./occupation_incorrectly_entered_not_blocking";
import * as teacher_academic_email from "./teacher_academic_email";
import * as public_or_private_organization from "./public_or_private_organization";
import * as refusal_france_travail from "./refusal_france_travail";
import * as use_official_email from "./use_official_email";
Expand Down Expand Up @@ -49,7 +51,9 @@ export const reponse_templates = [
occupation_incorrectly_entered,
min_armees,
admin_centrale,
teacher_academic_email,
link_with_chosen_organization,
public_or_private_organization,
refusal_france_travail,
min_armees_terre_marine_musee,
];
Original file line number Diff line number Diff line change
@@ -0,0 +1,33 @@
//

import { render_md } from "@~/app.ui/testing";
import { expect, test } from "bun:test";
import { context, type Values } from "../context";
import min_armees_terre_marine_musee from "./min_armees_terre_marine_musee";

//

test("returns error on 🦄 organization (min armée) email", async () => {
expect(
await render_md(
<context.Provider
value={
{
moderation: {
organization: {
cached_libelle: "🦄",
cached_libelle_categorie_juridique: "👾",
},
},
} as Values
}
>
<Response />
</context.Provider>,
),
).toMatchSnapshot();
});

function Response() {
return <>{min_armees_terre_marine_musee()}</>;
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,36 @@
//

import { useContext } from "hono/jsx";
import { dedent } from "ts-dedent";
import { context } from "../context";

export const label =
"Agent Min des Armées —> Terre armée, Marine nationale, Musée de la Marine";

export default function template() {
const {
moderation: {
organization: {
cached_libelle: organization_name,
cached_libelle_categorie_juridique,
},
},
} = useContext(context);

return dedent`
Bonjour,
Nous avons bien reçu votre demande de rattachement à l'organisation « ${organization_name} » sur ProConnect (anciennement : AgentConnect, MonComptePro).
Nous pensons que vous avez fait erreur sur l'organisation à laquelle vous souhaitez rattacher votre compte utilisateur ProConnect.
L'organisation « ${organization_name} » est une organisation privée dont l'activité est la suivante : « ${cached_libelle_categorie_juridique} ».
Ne souhaitiez-vous pas rattacher votre compte à XXXXXXX ?
Si tel est le cas, d'après nos recherches, XXXXXXXX n'apparaît pas dans le répertoire SIRENE, soit parce qu'elle n'est pas inscrite, soit parce qu'elle a choisi de ne pas diffuser ses informations en raison de la nature sensible de ses activités.
Dans ce contexte, veuillez renouveler votre création de compte en le rattachant au :
MINISTERE DES ARMEES : https://annuaire-entreprises.data.gouv.fr/entreprise/ministere-des-armees-110090016.
Bien cordialement,
L’équipe ProConnect.
`;
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,31 @@
//

import { render_md } from "@~/app.ui/testing";
import { expect, test } from "bun:test";
import { context, type Values } from "../context";
import teacher_academic_email from "./teacher_academic_email";

//

test("returns invalid teacher email message", async () => {
expect(
await render_md(
<context.Provider
value={
{
moderation: {
organization: { cached_libelle: "🦄" },
user: { email: "💌" },
},
} as Values
}
>
<Response />
</context.Provider>,
),
).toMatchSnapshot();
});

function Response() {
return <>{teacher_academic_email()}</>;
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,33 @@
//

import { useContext } from "hono/jsx";
import { dedent } from "ts-dedent";
import { context } from "../context";

export const label =
"Enseignant : e-mail académique —> Min Edu Nat et Jeunesse";

export default function template() {
const {
moderation: {
organization: { cached_libelle: organization_name },
user: { email },
},
} = useContext(context);

return dedent`
Bonjour,
Votre demande pour rejoindre l’organisation « ${organization_name} » a été prise en compte sur https://app.moncomptepro.beta.gouv.fr.
Votre adresse e-mail académique : « ${email} » ne vous permet pas de rattacher votre compte utilisateur MonComptePro au Ministère de l’Éducation Nationale et de la Jeunesse.
En tant qu’enseignant, merci de bien vouloir créer votre compte à nouveau en le rattachant à l’une des organisations suivantes :
- L’établissement scolaire dans lequel vous exercez,
- Le rectorat de votre Académie.
Bien cordialement,
L’équipe ProConnect.
`;
}

0 comments on commit 38207dc

Please sign in to comment.