From c6e353fb43601e8d59fc2b39a619ec065d26a53b Mon Sep 17 00:00:00 2001 From: Claire Dagan Date: Fri, 27 Oct 2023 16:30:07 +0200 Subject: [PATCH] [Mission] fix save closed mission --- ...create_mission.spec.ts => mission.spec.ts} | 27 +++++++++++++++++++ .../missions/MissionForm/MissionForm.tsx | 4 +-- 2 files changed, 29 insertions(+), 2 deletions(-) rename frontend/cypress/e2e/side_window/mission/{create_mission.spec.ts => mission.spec.ts} (86%) diff --git a/frontend/cypress/e2e/side_window/mission/create_mission.spec.ts b/frontend/cypress/e2e/side_window/mission/mission.spec.ts similarity index 86% rename from frontend/cypress/e2e/side_window/mission/create_mission.spec.ts rename to frontend/cypress/e2e/side_window/mission/mission.spec.ts index b8e5f9c48..865d5ce53 100644 --- a/frontend/cypress/e2e/side_window/mission/create_mission.spec.ts +++ b/frontend/cypress/e2e/side_window/mission/mission.spec.ts @@ -138,6 +138,33 @@ context('Mission', () => { cy.get('*[data-cy="SideWindowHeader-title"]').contains('Missions et contrôles') }) + it('A closed mission can be saved and stay closed', () => { + // Given + cy.wait(200) + cy.get('*[data-cy="edit-mission-43"]').click({ force: true }) + cy.intercept('PUT', '/bff/v1/missions/43').as('updateMission') + cy.clickButton('Enregistrer et quitter') + + // Then + cy.wait('@updateMission').then(({ response }) => { + expect(response && response.statusCode).equal(200) + expect(response && response.body.isClosed).equal(true) + }) + }) + + it('A warning should be displayed When a control unit is already engaged in a mission ', () => { + // Given + cy.wait(200) + cy.intercept('GET', '/api/v1/missions/engaged_control_units').as('getEngagedControlUnits') + + // When + cy.get('*[data-cy="edit-mission-43"]').click({ force: true }) + cy.wait('@getEngagedControlUnits') + + // Then + cy.get('body').contains('Cette unité est actuellement sélectionnée dans une autre mission en cours.') + }) + it('A mission from monitorFish cannot be deleted', () => { // Given cy.wait(200) diff --git a/frontend/src/features/missions/MissionForm/MissionForm.tsx b/frontend/src/features/missions/MissionForm/MissionForm.tsx index 52bfb0f06..d584e757f 100644 --- a/frontend/src/features/missions/MissionForm/MissionForm.tsx +++ b/frontend/src/features/missions/MissionForm/MissionForm.tsx @@ -77,9 +77,9 @@ export function MissionForm({ id, isNewMission, selectedMission, setShouldValida const submitMission = () => { setShouldValidateOnChange(false) - validateForm({ ...values, isClosed: false }).then(errors => { + validateForm().then(errors => { if (_.isEmpty(errors)) { - dispatch(saveMission({ ...values, isClosed: false })) + dispatch(saveMission(values)) return }