From 52be32c3c4017d2d90bb36e5d409d710c25ac76d Mon Sep 17 00:00:00 2001 From: Yoan VALLET <ext.sopra.yvallet@grandlyon.com> Date: Tue, 9 Mar 2021 17:44:44 +0100 Subject: [PATCH] feat: add complementary description to exploration --- .../Challenge/ChallengeCard.spec.tsx | 6 +++ .../__snapshots__/ChallengeCard.spec.tsx.snap | 3 +- .../__snapshots__/ChallengeView.spec.tsx.snap | 18 ++++--- .../Exploration/ExplorationOngoing.spec.tsx | 15 ++++-- .../Exploration/ExplorationOngoing.tsx | 1 + .../Exploration/explorationOngoing.scss | 4 ++ src/db/explorationEntity.json | 13 ++++- src/models/exploration.model.ts | 1 + src/services/exploration.service.ts | 1 + test/__mocks__/explorationData.mock.ts | 48 ++++++++++++------- test/__mocks__/userChallengeData.mock.ts | 8 +++- 11 files changed, 86 insertions(+), 32 deletions(-) diff --git a/src/components/Challenge/ChallengeCard.spec.tsx b/src/components/Challenge/ChallengeCard.spec.tsx index dcfdef0cf..86f168262 100644 --- a/src/components/Challenge/ChallengeCard.spec.tsx +++ b/src/components/Challenge/ChallengeCard.spec.tsx @@ -16,6 +16,8 @@ jest.mock('cozy-ui/transpiled/react/I18n', () => { } }) +const mockMoveToSlide = jest.fn() + describe('ChallengeCard component', () => { it('should be rendered correctly', () => { const component = shallow( @@ -25,6 +27,7 @@ describe('ChallengeCard component', () => { index={0} cardWidth={200} cardHeight={400} + moveToSlide={mockMoveToSlide} /> ).getElement() expect(component).toMatchSnapshot() @@ -37,6 +40,7 @@ describe('ChallengeCard component', () => { index={0} cardWidth={200} cardHeight={400} + moveToSlide={mockMoveToSlide} /> ) expect(wrapper.find(ChallengeCardLocked).exists()).toBeTruthy() @@ -49,6 +53,7 @@ describe('ChallengeCard component', () => { index={0} cardWidth={200} cardHeight={400} + moveToSlide={mockMoveToSlide} /> ) expect(wrapper.find(ChallengeCardUnlocked).exists()).toBeTruthy() @@ -61,6 +66,7 @@ describe('ChallengeCard component', () => { index={0} cardWidth={200} cardHeight={400} + moveToSlide={mockMoveToSlide} /> ) expect(wrapper.find(ChallengeCardOnGoing).exists()).toBeTruthy() diff --git a/src/components/Challenge/__snapshots__/ChallengeCard.spec.tsx.snap b/src/components/Challenge/__snapshots__/ChallengeCard.spec.tsx.snap index a344d3599..89be0a898 100644 --- a/src/components/Challenge/__snapshots__/ChallengeCard.spec.tsx.snap +++ b/src/components/Challenge/__snapshots__/ChallengeCard.spec.tsx.snap @@ -34,8 +34,9 @@ exports[`ChallengeCard component should be rendered correctly 1`] = ` }, "endingDate": null, "exploration": Object { + "complementary_description": "Refaire un tour dans son profil si déjà fait", "date": null, - "description": "Avoir complété son profil / Refaire un tour dans son profil si déjà fait", + "description": "Avoir complété son profil", "ecogesture_id": "", "fluid_condition": Array [], "id": "EXPLORATION001", diff --git a/src/components/Challenge/__snapshots__/ChallengeView.spec.tsx.snap b/src/components/Challenge/__snapshots__/ChallengeView.spec.tsx.snap index 9781b6581..03cae104c 100644 --- a/src/components/Challenge/__snapshots__/ChallengeView.spec.tsx.snap +++ b/src/components/Challenge/__snapshots__/ChallengeView.spec.tsx.snap @@ -57,8 +57,9 @@ exports[`ChallengeView component should be rendered correctly 1`] = ` }, "endingDate": null, "exploration": Object { + "complementary_description": "Refaire un tour dans son profil si déjà fait", "date": null, - "description": "Avoir complété son profil / Refaire un tour dans son profil si déjà fait", + "description": "Avoir complété son profil", "ecogesture_id": "", "fluid_condition": Array [], "id": "EXPLORATION001", @@ -205,8 +206,9 @@ exports[`ChallengeView component should be rendered correctly 1`] = ` }, "endingDate": null, "exploration": Object { + "complementary_description": "Refaire un tour dans son profil si déjà fait", "date": null, - "description": "Avoir complété son profil / Refaire un tour dans son profil si déjà fait", + "description": "Avoir complété son profil", "ecogesture_id": "", "fluid_condition": Array [], "id": "EXPLORATION001", @@ -353,8 +355,9 @@ exports[`ChallengeView component should be rendered correctly 1`] = ` }, "endingDate": null, "exploration": Object { + "complementary_description": "Refaire un tour dans son profil si déjà fait", "date": null, - "description": "Avoir complété son profil / Refaire un tour dans son profil si déjà fait", + "description": "Avoir complété son profil", "ecogesture_id": "", "fluid_condition": Array [], "id": "EXPLORATION001", @@ -501,8 +504,9 @@ exports[`ChallengeView component should be rendered correctly 1`] = ` }, "endingDate": null, "exploration": Object { + "complementary_description": "Refaire un tour dans son profil si déjà fait", "date": null, - "description": "Avoir complété son profil / Refaire un tour dans son profil si déjà fait", + "description": "Avoir complété son profil", "ecogesture_id": "", "fluid_condition": Array [], "id": "EXPLORATION001", @@ -649,8 +653,9 @@ exports[`ChallengeView component should be rendered correctly 1`] = ` }, "endingDate": null, "exploration": Object { + "complementary_description": "Refaire un tour dans son profil si déjà fait", "date": null, - "description": "Avoir complété son profil / Refaire un tour dans son profil si déjà fait", + "description": "Avoir complété son profil", "ecogesture_id": "", "fluid_condition": Array [], "id": "EXPLORATION001", @@ -797,8 +802,9 @@ exports[`ChallengeView component should be rendered correctly 1`] = ` }, "endingDate": null, "exploration": Object { + "complementary_description": "Refaire un tour dans son profil si déjà fait", "date": null, - "description": "Avoir complété son profil / Refaire un tour dans son profil si déjà fait", + "description": "Avoir complété son profil", "ecogesture_id": "", "fluid_condition": Array [], "id": "EXPLORATION001", diff --git a/src/components/Exploration/ExplorationOngoing.spec.tsx b/src/components/Exploration/ExplorationOngoing.spec.tsx index be9561225..406f1cc6a 100644 --- a/src/components/Exploration/ExplorationOngoing.spec.tsx +++ b/src/components/Exploration/ExplorationOngoing.spec.tsx @@ -51,9 +51,18 @@ describe('ExplorationOngoing component', () => { <ExplorationOngoing userChallenge={userChallengeData[0]} /> </Provider> ) - expect(wrapper.find('.exploration-explanation').text()).toEqual( - userChallengeData[1].exploration.description - ) + expect( + wrapper + .find('.exploration-explanation > div') + .first() + .text() + ).toEqual(userChallengeData[1].exploration.description) + expect( + wrapper + .find('.exploration-explanation > div') + .last() + .text() + ).toEqual(userChallengeData[1].exploration.complementary_description) expect(wrapper.find('.button-start').exists()).toBeTruthy() }) }) diff --git a/src/components/Exploration/ExplorationOngoing.tsx b/src/components/Exploration/ExplorationOngoing.tsx index 6fbea941e..0ef7374e2 100644 --- a/src/components/Exploration/ExplorationOngoing.tsx +++ b/src/components/Exploration/ExplorationOngoing.tsx @@ -112,6 +112,7 @@ const ExplorationOngoing: React.FC<ExplorationOngoingProps> = ({ /> <div className="exploration-explanation text-18-bold"> <div>{userChallenge.exploration.description}</div> + <div>{userChallenge.exploration.complementary_description}</div> </div> {renderButton()} </div> diff --git a/src/components/Exploration/explorationOngoing.scss b/src/components/Exploration/explorationOngoing.scss index 26f632154..8d1e55337 100644 --- a/src/components/Exploration/explorationOngoing.scss +++ b/src/components/Exploration/explorationOngoing.scss @@ -41,10 +41,14 @@ line-height: 24px; height: 50%; display: flex; + flex-direction: column; margin: 2.5rem 0; div { align-self: center; } + div:first-child { + margin-bottom: 1rem; + } } .button-start { margin-top: 0; diff --git a/src/db/explorationEntity.json b/src/db/explorationEntity.json index c1f7b9da1..7261e7650 100644 --- a/src/db/explorationEntity.json +++ b/src/db/explorationEntity.json @@ -2,7 +2,8 @@ { "_id": "EXPLORATION001", "state": 0, - "description": "Complétez votre profil depuis la partie \"Analyse\" pour remporter 5 étoiles (si c'est déjà fait, allez consulter les informations de profil déjà entrées dans la partie \"Options\" pour remporter les 5 étoiles)", + "description": "Complétez votre profil depuis la partie \"Analyse\" pour remporter 5 étoiles.", + "complementary_description": "Si c’est déjà fait, allez consulter les informations de votre profil dans la partie \"Options\".", "target": 1, "type": 1, "date": null, @@ -14,6 +15,7 @@ "_id": "EXPLORATION002", "state": 0, "description": "Consultez l'écogeste Professeur Celsius pour remporter 5 étoiles.", + "complementary_description": "", "target": 1, "type": 3, "date": null, @@ -25,6 +27,7 @@ "_id": "EXPLORATION003", "state": 0, "description": "Consultez vos données sur une période de 5 ans.", + "complementary_description": "", "target": 1, "type": 2, "date": null, @@ -35,7 +38,8 @@ { "_id": "EXPLORATION004", "state": 0, - "description": "Dévérouillez la consultation des données électricité à la demi-heure pour remporter 5 étoiles (si c'est déjà fait, allez consulter ces données pour remporter les 5 étoiles)", + "description": "Dévérouillez la consultation des données électricité à la demi-heure pour remporter 5 étoiles.", + "complementary_description": "Si c'est est déjà fait, allez simplement consulter ces données.", "target": 1, "type": 1, "date": null, @@ -47,6 +51,7 @@ "_id": "EXPLORATION004_0", "state": 0, "description": "Consultez l'écogestes Lord Kelvin pour remporter 5 étoiles.", + "complementary_description": "", "target": 1, "type": 3, "date": null, @@ -58,6 +63,7 @@ "_id": "EXPLORATION005", "state": 0, "description": "Envoyez-nous un avis sur notre service. Vous remporterez 5 étoiles, quelque soit son contenu (tant qu'il est sincère :))", + "complementary_description": "", "target": 1, "type": 1, "date": null, @@ -69,6 +75,7 @@ "_id": "EXPLORATION006", "state": 0, "description": "Parlez en bien d’Ecolyo à un ami (quitte à mentir)", + "complementary_description": "", "target": 1, "type": 0, "date": null, @@ -80,6 +87,7 @@ "_id": "EXPLORATION007", "state": 0, "description": "Consultez 3 fois Ecolyo", + "complementary_description": "", "target": 3, "type": 1, "date": null, @@ -91,6 +99,7 @@ "_id": "EXPLORATION008", "state": 0, "description": "Placez l'appli Ecolyo en favoris (rappel des raccourcis)", + "complementary_description": "", "target": 1, "type": 0, "date": null, diff --git a/src/models/exploration.model.ts b/src/models/exploration.model.ts index eb9cd8509..b07f5294c 100644 --- a/src/models/exploration.model.ts +++ b/src/models/exploration.model.ts @@ -9,6 +9,7 @@ export interface ExplorationEntity { id: string state: UserExplorationState description: string + complementary_description: string target: number type: UserExplorationType date: string | null diff --git a/src/services/exploration.service.ts b/src/services/exploration.service.ts index 0d0ca33dd..c14e25452 100644 --- a/src/services/exploration.service.ts +++ b/src/services/exploration.service.ts @@ -80,6 +80,7 @@ export default class ExplorationService { id: '', state: UserExplorationState.UNLOCKED, description: '', + complementary_description: '', target: 0, type: UserExplorationType.DECLARATIVE, date: null, diff --git a/test/__mocks__/explorationData.mock.ts b/test/__mocks__/explorationData.mock.ts index 446d72a52..faffcfda2 100644 --- a/test/__mocks__/explorationData.mock.ts +++ b/test/__mocks__/explorationData.mock.ts @@ -8,8 +8,8 @@ import { ExplorationEntity, UserExploration } from 'models' export const explorationEntity: ExplorationEntity = { id: 'EXPLORATION001', state: UserExplorationState.UNLOCKED, - description: - 'Avoir complété son profil / Refaire un tour dans son profil si déjà fait', + description: 'Avoir complété son profil', + complementary_description: 'Refaire un tour dans son profil si déjà fait', target: 1, type: UserExplorationType.ACTION, date: null, @@ -21,8 +21,9 @@ export const explorationEntity: ExplorationEntity = { export const explorationEntity4: ExplorationEntity = { id: 'EXPLORATION004', state: UserExplorationState.UNLOCKED, - description: - 'Dévérouiller les données électricité à la demi-heure / Consulter les données à la demi-heure', + description: 'Dévérouiller les données électricité à la demi-heure', + complementary_description: + 'Consulter les données à la demi-heure si déjà fait', target: 1, type: UserExplorationType.ACTION, date: null, @@ -35,6 +36,7 @@ export const explorationEntity4_0: ExplorationEntity = { id: 'EXPLORATION004_0', state: UserExplorationState.UNLOCKED, description: 'Consulter l\'écogeste "Lord Kelvin"', + complementary_description: '', target: 1, type: UserExplorationType.ECOGESTURE, date: null, @@ -46,6 +48,7 @@ export const explorationDefault: UserExploration = { id: '', state: UserExplorationState.UNLOCKED, description: '', + complementary_description: '', target: 0, type: UserExplorationType.DECLARATIVE, date: null, @@ -58,8 +61,8 @@ export const explorationDefault: UserExploration = { export const userExploration: UserExploration = { id: 'EXPLORATION001', state: 0, - description: - 'Avoir complété son profil / Refaire un tour dans son profil si déjà fait', + description: 'Avoir complété son profil', + complementary_description: 'Refaire un tour dans son profil si déjà fait', target: 1, type: UserExplorationType.ACTION, date: null, @@ -72,8 +75,8 @@ export const userExploration: UserExploration = { export const userExploration1: UserExploration = { id: 'EXPLORATION001', state: 0, - description: - 'Avoir complété son profil / Refaire un tour dans son profil si déjà fait', + description: 'Avoir complété son profil', + complementary_description: 'Refaire un tour dans son profil si déjà fait', target: 1, type: UserExplorationType.ACTION, date: null, @@ -87,6 +90,8 @@ export const userExploration4: UserExploration = { id: 'EXPLORATION004', state: 0, description: 'Dévérrouillez les données électricité à la demi-heure', + complementary_description: + 'Consulter les données à la demi-heure si déjà fait', target: 1, type: 0, date: null, @@ -100,6 +105,7 @@ export const userExploration4_0: UserExploration = { id: 'EXPLORATION004_0', state: 0, description: 'Consulter l\'écogeste "Lord Kelvin"', + complementary_description: '', target: 1, type: 0, date: null, @@ -112,8 +118,8 @@ export const allExplorationEntities: ExplorationEntity[] = [ { id: 'EXPLORATION001', state: 0, - description: - 'Avoir complété son profil / Refaire un tour dans son profil si déjà fait', + description: 'Avoir complété son profil', + complementary_description: 'Refaire un tour dans son profil si déjà fait', target: 1, type: UserExplorationType.ACTION, date: null, @@ -126,6 +132,7 @@ export const allExplorationEntities: ExplorationEntity[] = [ id: 'EXPLORATION002', state: 0, description: "Consultez l'écogeste Professeur Celsius", + complementary_description: '', target: 1, type: UserExplorationType.ECOGESTURE, date: null, @@ -137,6 +144,7 @@ export const allExplorationEntities: ExplorationEntity[] = [ id: 'EXPLORATION003', state: 0, description: 'Consulter mes données au pas de temps annuel', + complementary_description: '', target: 1, type: UserExplorationType.CONSUMPTION, date: null, @@ -147,8 +155,9 @@ export const allExplorationEntities: ExplorationEntity[] = [ { id: 'EXPLORATION004', state: 0, - description: - 'Dévérouiller les données électricité à la demi-heure / Consulter les données à la demi-heure', + description: 'Dévérrouillez les données électricité à la demi-heure', + complementary_description: + 'Consulter les données à la demi-heure si déjà fait', target: 1, type: UserExplorationType.ACTION, date: null, @@ -161,6 +170,7 @@ export const allExplorationEntities: ExplorationEntity[] = [ id: 'EXPLORATION005', state: 0, description: 'Envoyez nous votre avis sur le service', + complementary_description: '', target: 1, type: UserExplorationType.ACTION, date: null, @@ -173,6 +183,7 @@ export const allExplorationEntities: ExplorationEntity[] = [ id: 'EXPLORATION006', state: 0, description: 'Parlez en bien d’Ecolyo à un ami (quitte à mentir)', + complementary_description: '', target: 1, type: UserExplorationType.DECLARATIVE, date: null, @@ -184,6 +195,7 @@ export const allExplorationEntities: ExplorationEntity[] = [ id: 'EXPLORATION007', state: 0, description: 'Consultez 3 fois Ecolyo', + complementary_description: '', target: 3, type: UserExplorationType.ACTION, date: null, @@ -196,8 +208,8 @@ export const allExplorationEntities: ExplorationEntity[] = [ export const UserExplorationStarted: UserExploration = { id: 'EXPLORATION001', state: UserExplorationState.ONGOING, - description: - 'Avoir complété son profil / Refaire un tour dans son profil si déjà fait', + description: 'Avoir complété son profil', + complementary_description: 'Refaire un tour dans son profil si déjà fait', target: 1, type: UserExplorationType.ACTION, date: null, @@ -210,8 +222,8 @@ export const UserExplorationStarted: UserExploration = { export const UserExplorationDone: UserExploration = { id: 'EXPLORATION001', state: UserExplorationState.DONE, - description: - 'Avoir complété son profil / Refaire un tour dans son profil si déjà fait', + description: 'Avoir complété son profil', + complementary_description: 'Refaire un tour dans son profil si déjà fait', target: 1, type: UserExplorationType.ACTION, date: null, @@ -225,8 +237,8 @@ export const UserExplorationDone: UserExploration = { export const UserExplorationUnlocked: UserExploration = { id: 'EXPLORATION001', state: UserExplorationState.UNLOCKED, - description: - 'Avoir complété son profil / Refaire un tour dans son profil si déjà fait', + description: 'Avoir complété son profil', + complementary_description: 'Refaire un tour dans son profil si déjà fait', target: 1, type: UserExplorationType.ACTION, date: null, diff --git a/test/__mocks__/userChallengeData.mock.ts b/test/__mocks__/userChallengeData.mock.ts index 7d76229bb..aa8418c77 100644 --- a/test/__mocks__/userChallengeData.mock.ts +++ b/test/__mocks__/userChallengeData.mock.ts @@ -313,8 +313,8 @@ export const userChallengeExplo1OnGoing: UserChallenge = { exploration: { id: 'EXPLORATION001', state: 0, - description: - 'Avoir complété son profil / Refaire un tour dans son profil si déjà fait', + description: 'Avoir complété son profil', + complementary_description: 'Refaire un tour dans son profil si déjà fait', target: 1, type: UserExplorationType.ACTION, date: null, @@ -350,6 +350,8 @@ export const userChallengeExplo4: UserChallenge = { id: 'EXPLORATION004', state: 0, description: 'Dévérrouillez les données électricité à la demi-heure', + complementary_description: + 'Consulter les données à la demi-heure si déjà fait', target: 1, type: 0, date: null, @@ -385,6 +387,7 @@ export const userChallengeExplo4_0: UserChallenge = { id: 'EXPLORATION004_0', state: 0, description: 'Consulter l\'écogeste "Lord Kelvin"', + complementary_description: '', target: 1, type: 0, date: null, @@ -420,6 +423,7 @@ export const userChallengeExplo2OnGoing: UserChallenge = { id: 'EXPLORATION002', state: 1, description: "Consultez l'écogeste Professeur Celsius", + complementary_description: '', target: 1, type: 3, date: null, -- GitLab