From 2e5870e55b63211261872c83ffe28c99a2352c87 Mon Sep 17 00:00:00 2001
From: Hugo NOUTS <hnouts@grandlyon.com>
Date: Fri, 30 Jul 2021 13:59:09 +0000
Subject: [PATCH] fix(konnectors): invalid id for egl was creating bug allowing
 user to start a challenge

---
 .../Challenge/ChallengeCardUnlocked.spec.tsx          |  1 +
 src/components/Challenge/ChallengeCardUnlocked.tsx    | 11 +++++++++--
 2 files changed, 10 insertions(+), 2 deletions(-)

diff --git a/src/components/Challenge/ChallengeCardUnlocked.spec.tsx b/src/components/Challenge/ChallengeCardUnlocked.spec.tsx
index cb3cf7383..70a9cbf24 100644
--- a/src/components/Challenge/ChallengeCardUnlocked.spec.tsx
+++ b/src/components/Challenge/ChallengeCardUnlocked.spec.tsx
@@ -72,6 +72,7 @@ describe('ChallengeCardUnlocked component', () => {
     const updateGlobalStoreData = {
       ...globalStateData,
       fluidTypes: [FluidType.ELECTRICITY],
+      fluidStatus: [{ status: 200 }],
     }
     const store = mockStore({
       ecolyo: {
diff --git a/src/components/Challenge/ChallengeCardUnlocked.tsx b/src/components/Challenge/ChallengeCardUnlocked.tsx
index 194d23f25..26b025b5d 100644
--- a/src/components/Challenge/ChallengeCardUnlocked.tsx
+++ b/src/components/Challenge/ChallengeCardUnlocked.tsx
@@ -27,15 +27,22 @@ const ChallengeCardUnlocked: React.FC<ChallengeCardUnlockedProps> = ({
 
   const [openNoFluidModal, setopenNoFluidModal] = useState(false)
   const { fluidTypes } = useSelector((state: AppStore) => state.ecolyo.global)
-
+  const { fluidStatus } = useSelector((state: AppStore) => state.ecolyo.global)
   const [challengeIcon, setChallengeIcon] = useState(defaultIcon)
+  let statusRequirementOk = false
 
   const toggleNoFluidModal = useCallback(() => {
     setopenNoFluidModal(prev => !prev)
   }, [])
 
+  fluidStatus.forEach(elem => {
+    if (elem.status === 200) {
+      statusRequirementOk = true
+    }
+  })
+
   const launchChallenge = useCallback(async () => {
-    if (fluidTypes.length > 0) {
+    if (fluidTypes.length > 0 && statusRequirementOk) {
       const challengeService = new ChallengeService(client)
       const updatedChallenge = await challengeService.startUserChallenge(
         userChallenge
-- 
GitLab