From 78bedb45149bd73e1cfd4298d059937d541bfd6d Mon Sep 17 00:00:00 2001
From: Piotr Gawron <p.gawron@atcomp.pl>
Date: Fri, 13 Sep 2024 15:47:44 +0200
Subject: [PATCH] filter out public overlays

---
 .../LoginModal/LoginModal.component.test.tsx  | 21 +++++++++++--------
 .../UserOverlayForm.component.test.tsx        | 13 +++++++++---
 src/redux/overlays/overlays.thunks.ts         |  4 +++-
 3 files changed, 25 insertions(+), 13 deletions(-)

diff --git a/src/components/FunctionalArea/Modal/LoginModal/LoginModal.component.test.tsx b/src/components/FunctionalArea/Modal/LoginModal/LoginModal.component.test.tsx
index ea39711b..c60246b2 100644
--- a/src/components/FunctionalArea/Modal/LoginModal/LoginModal.component.test.tsx
+++ b/src/components/FunctionalArea/Modal/LoginModal/LoginModal.component.test.tsx
@@ -31,6 +31,13 @@ const renderComponent = (initialStoreState: InitialStoreState = {}): { store: St
   );
 };
 
+const testOverlaysFixture = overlaysFixture.map(overlay => {
+  return {
+    ...overlay,
+    publicOverlay: false,
+  };
+});
+
 describe('LoginModal - component', () => {
   test('renders LoginModal component', () => {
     renderComponent();
@@ -79,7 +86,7 @@ describe('LoginModal - component', () => {
           publicOverlay: false,
         }),
       )
-      .reply(HttpStatusCode.Ok, overlaysFixture);
+      .reply(HttpStatusCode.Ok, testOverlaysFixture);
 
     const { store } = renderComponent();
     const loginInput = screen.getByLabelText(/login/i);
@@ -97,11 +104,7 @@ describe('LoginModal - component', () => {
     });
 
     expect(store.getState().overlays.userOverlays.loading).toBe('succeeded');
-    // eslint-disable-next-line no-console
-    console.log(overlaysFixture);
-    // eslint-disable-next-line no-console
-    console.log(store.getState().overlays.userOverlays.data);
-    expect(store.getState().overlays.userOverlays.data).toEqual(overlaysFixture);
+    expect(store.getState().overlays.userOverlays.data).toEqual(testOverlaysFixture);
   });
   it('should display loggedInMenuModal after successful login as admin', async () => {
     mockedAxiosClient.onPost(apiPath.postLogin()).reply(HttpStatusCode.Ok, loginFixture);
@@ -121,7 +124,7 @@ describe('LoginModal - component', () => {
           publicOverlay: false,
         }),
       )
-      .reply(HttpStatusCode.Ok, overlaysFixture);
+      .reply(HttpStatusCode.Ok, testOverlaysFixture);
 
     const { store } = renderComponent({
       modal: MODAL_INITIAL_STATE_MOCK,
@@ -160,7 +163,7 @@ describe('LoginModal - component', () => {
           publicOverlay: false,
         }),
       )
-      .reply(HttpStatusCode.Ok, overlaysFixture);
+      .reply(HttpStatusCode.Ok, testOverlaysFixture);
 
     const { store } = renderComponent({
       modal: MODAL_INITIAL_STATE_MOCK,
@@ -191,7 +194,7 @@ describe('LoginModal - component', () => {
           publicOverlay: false,
         }),
       )
-      .reply(HttpStatusCode.Ok, overlaysFixture);
+      .reply(HttpStatusCode.Ok, testOverlaysFixture);
 
     const { store } = renderComponent({
       modal: MODAL_INITIAL_STATE_MOCK,
diff --git a/src/components/Map/Drawer/OverlaysDrawer/UserOverlayForm/UserOverlayForm.component.test.tsx b/src/components/Map/Drawer/OverlaysDrawer/UserOverlayForm/UserOverlayForm.component.test.tsx
index 5248abdf..d800a3a2 100644
--- a/src/components/Map/Drawer/OverlaysDrawer/UserOverlayForm/UserOverlayForm.component.test.tsx
+++ b/src/components/Map/Drawer/OverlaysDrawer/UserOverlayForm/UserOverlayForm.component.test.tsx
@@ -59,6 +59,13 @@ const renderComponentWithActionListener = (
   );
 };
 
+const testOverlaysFixture = overlaysFixture.map(overlay => {
+  return {
+    ...overlay,
+    publicOverlay: false,
+  };
+});
+
 describe('UserOverlayForm - Component', () => {
   beforeEach(() => {
     jest.clearAllMocks();
@@ -215,7 +222,7 @@ describe('UserOverlayForm - Component', () => {
 
     mockedAxiosClient
       .onGet(apiPath.getAllUserOverlaysByCreatorQuery({ creator: 'test', publicOverlay: false }))
-      .reply(HttpStatusCode.Ok, overlaysFixture);
+      .reply(HttpStatusCode.Ok, testOverlaysFixture);
 
     const { store } = renderComponent({
       user: {
@@ -258,7 +265,7 @@ describe('UserOverlayForm - Component', () => {
     const refetchedUserOverlays = store.getState().overlays.userOverlays.data;
 
     await waitFor(() => {
-      expect(refetchedUserOverlays).toEqual(overlaysFixture);
+      expect(refetchedUserOverlays).toEqual(testOverlaysFixture);
     });
   });
   it('should show toast after successful creating user overlays', async () => {
@@ -276,7 +283,7 @@ describe('UserOverlayForm - Component', () => {
 
     mockedAxiosClient
       .onGet(apiPath.getAllUserOverlaysByCreatorQuery({ creator: 'test', publicOverlay: false }))
-      .reply(HttpStatusCode.Ok, overlaysFixture);
+      .reply(HttpStatusCode.Ok, testOverlaysFixture);
 
     const { store } = renderComponent({
       user: {
diff --git a/src/redux/overlays/overlays.thunks.ts b/src/redux/overlays/overlays.thunks.ts
index 3fb6a59c..5a685bc8 100644
--- a/src/redux/overlays/overlays.thunks.ts
+++ b/src/redux/overlays/overlays.thunks.ts
@@ -72,7 +72,9 @@ export const getAllUserOverlaysByCreator = createAsyncThunk<MapOverlay[], void,
         return -1;
       };
 
-      const sortedUserOverlays = response.data.sort(sortByOrder);
+      const sortedUserOverlays = response.data
+        .sort(sortByOrder)
+        .filter(overlay => !overlay.publicOverlay);
 
       return isDataValid ? sortedUserOverlays : [];
     } catch (error) {
-- 
GitLab