Skip to content

Commit

Permalink
feat: desinstaller ancienne contrib (#5712)
Browse files Browse the repository at this point in the history
* feat: desinstaller ancienne contrib

* fix: fiche SP

* fix: fiche SP

* chore: review

* chore: clean

* chore: snap

* chore: clean

* chore: snap

* chore: clean test data

* Revert "chore: clean test data"

This reverts commit e585e53.

* chore: fix tu

* fix(api): retrait du endpoint inutilisé /items

* fix(api): retrait du endpoint inutilisé /items (#5752)

* fix(api): retrait du endpoint inutilisé /items

* cleanup

* chore: review

* chore: clean

* Remove more code

* fix tests

* clean more

---------

Co-authored-by: Victor <victor.zeinstra@gmail.com>
Co-authored-by: carolineBda <caroline.bourdeu@gmail.com>
Co-authored-by: Caroline <4971715+carolineBda@users.noreply.github.com>
  • Loading branch information
4 people committed Apr 12, 2024
1 parent 7de25de commit a9504ba
Show file tree
Hide file tree
Showing 39 changed files with 1,774 additions and 6,429 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -13,9 +13,8 @@ const contribution = {
};
describe("<PageContribution />", () => {
it("should render title with cc name in it", () => {

const { getByRole } = render(
<PageContribution isNewContribution={true} contribution={contribution} />
<PageContribution contribution={contribution} />
);
const titreH1 = getByRole("heading", { level: 1 });
expect(titreH1.textContent).toBe(
Expand All @@ -25,7 +24,7 @@ describe("<PageContribution />", () => {
it("should render title with only question", () => {
contribution.ccnShortTitle = "Ce short title fait plus de 15 caractères";
const { getByRole } = render(
<PageContribution isNewContribution={true} contribution={contribution} />
<PageContribution contribution={contribution} />
);
const titreH1 = getByRole("heading", { level: 1 });
expect(titreH1.textContent).toBe(
Expand All @@ -35,18 +34,16 @@ describe("<PageContribution />", () => {
it("should render title with linked content with no description", () => {
let contribution = {
source: "contributions",
linkedContent: [{source: "", title: "My link", slug: ""}],
linkedContent: [{ source: "", title: "My link", slug: "" }],
references: [],
idcc: "",
ccnShortTitle: "Métallurgie",
title: "La période d’essai peut-elle être renouvelée ?",
};
const { getByRole } = render(
<PageContribution isNewContribution={true} contribution={contribution} />
<PageContribution contribution={contribution} />
);
const titreH3 = getByRole("heading", { level: 3 });
expect(titreH3.textContent).toBe(
"My link"
);
expect(titreH3.textContent).toBe("My link");
});
});
3 changes: 0 additions & 3 deletions packages/code-du-travail-frontend/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -73,10 +73,7 @@
"react-svg-spinner": "^1.0.4",
"react-uid": "^2.3.1",
"rehype-parse": "^8.0.3",
"rehype-raw": "^5.1.0",
"rehype-react": "^6.2.1",
"remark-parse": "^9.0.0",
"remark-rehype": "^8.1.0",
"styled-components": "^5.3.6",
"unified": "^9.2.2",
"uuid": "^9.0.0",
Expand Down
13 changes: 0 additions & 13 deletions packages/code-du-travail-frontend/pages/api/items/index.ts

This file was deleted.

148 changes: 36 additions & 112 deletions packages/code-du-travail-frontend/pages/contribution/[slug].tsx
Original file line number Diff line number Diff line change
@@ -1,9 +1,7 @@
import { extractMdxContentUrl } from "@socialgouv/modeles-social";
import React from "react";

import Answer from "../../src/common/Answer";
import Metas from "../../src/common/Metas";
import Contribution from "../../src/contributions/Contribution";
import { Layout } from "../../src/layout/Layout";
import {
Breadcrumb,
Expand All @@ -19,24 +17,10 @@ import ContributionCC from "../../src/contributions/ContributionCC";
const fetchQuestion = ({ slug }) =>
fetch(`${SITE_URL}/api/items/contributions/${slug}`);

type NewProps = {
type Props = {
contribution: ElasticSearchContribution;
isNewContribution: true;
};

type OldProps = {
breadcrumbs: Breadcrumb[];
description: string;
title: string;
slug: string;
answers;
relatedItems: Array<any>;
content;
isNewContribution: false;
};

type Props = NewProps | OldProps;

const buildTitleAndDescription = (
breadcrumbs: Breadcrumb[],
conventionName: string | undefined,
Expand All @@ -57,7 +41,11 @@ const buildTitleAndDescription = (
};
};
const getTitleFromNewContrib = (contribution) => {
if (!contribution.ccnShortTitle || contribution.ccnShortTitle.length > 14 || contribution.title.length > 50) {
if (
!contribution.ccnShortTitle ||
contribution.ccnShortTitle.length > 14 ||
contribution.title.length > 50
) {
return contribution.title;
}

Expand All @@ -67,61 +55,34 @@ const getTitleFromNewContrib = (contribution) => {
function PageContribution(props: Props): React.ReactElement {
let metas: any = {};

if (!props.isNewContribution) {
metas = buildTitleAndDescription(
props.breadcrumbs,
props.answers.conventionAnswer?.shortName,
props.title,
props.description
);
} else {
metas = buildTitleAndDescription(
props.contribution.breadcrumbs,
props.contribution.ccnShortTitle,
props.contribution.title,
props.contribution.description
);
}
metas = buildTitleAndDescription(
props.contribution.breadcrumbs,
props.contribution.ccnShortTitle,
props.contribution.title,
props.contribution.description
);

return (
<Layout>
{props.isNewContribution ? (
<>
<Metas title={metas.title} description={metas.description} />
<Answer
title={getTitleFromNewContrib(props.contribution)}
breadcrumbs={props.contribution.breadcrumbs}
>
{props.contribution.idcc === "0000" ? (
<ContributionGeneric
contribution={
props.contribution as ElasticSearchContributionGeneric
}
/>
) : (
<ContributionCC
contribution={
props.contribution as ElasticSearchContributionConventionnelle
}
/>
)}
</Answer>
</>
) : (
<>
<Metas title={metas.title} description={metas.description} />
<Answer
title={props.title}
relatedItems={props.relatedItems}
breadcrumbs={props.breadcrumbs}
>
<Contribution
answers={props.answers}
content={(props.content && props.content._source) || {}}
/>
</Answer>
</>
)}
<Metas title={metas.title} description={metas.description} />
<Answer
title={getTitleFromNewContrib(props.contribution)}
breadcrumbs={props.contribution.breadcrumbs}
>
{props.contribution.idcc === "0000" ? (
<ContributionGeneric
contribution={
props.contribution as ElasticSearchContributionGeneric
}
/>
) : (
<ContributionCC
contribution={
props.contribution as ElasticSearchContributionConventionnelle
}
/>
)}
</Answer>
</Layout>
);
}
Expand All @@ -133,48 +94,11 @@ export const getServerSideProps = async ({ query }) => {
}
const data = await response.json();

if (
data._source?.type === "content" ||
data._source?.type === "fiche-sp" ||
data._source?.type === "generic-no-cdt" ||
data._source?.type === "cdt"
) {
return {
props: {
contribution: data._source,
isNewContribution: true,
},
};
} else {
// Check Content tag exist on markdown
const markdown =
((((data || {})._source || {}).answers || {}).generic || {}).markdown ||
"";

const contentUrl = extractMdxContentUrl(markdown);
if (contentUrl) {
const fetchContent = await fetch(
`${SITE_URL}/api/items?url=${contentUrl}`
);
const [content] = await fetchContent.json();
return {
props: {
relatedItems: data.relatedItems,
...data._source,
content,
isNewContribution: false,
},
};
}

return {
props: {
relatedItems: data.relatedItems,
...data._source,
isNewContribution: false,
},
};
}
return {
props: {
contribution: data._source,
},
};
};

export default PageContribution;

0 comments on commit a9504ba

Please sign in to comment.