From 53cab4e1152f1140f52b59f42210ec45861c4d33 Mon Sep 17 00:00:00 2001
From: Prafful <praffulsharma1230@gmail.com>
Date: Thu, 12 Dec 2024 21:56:01 +0530
Subject: [PATCH 1/3] added filter for deleted=false

---
 care/facility/api/viewsets/camera_preset.py | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/care/facility/api/viewsets/camera_preset.py b/care/facility/api/viewsets/camera_preset.py
index bfb168834b..f6143d6291 100644
--- a/care/facility/api/viewsets/camera_preset.py
+++ b/care/facility/api/viewsets/camera_preset.py
@@ -38,7 +38,7 @@ def get_serializer_context(self):
 
 class CameraPresetViewSet(GenericViewSet, ListModelMixin):
     serializer_class = CameraPresetSerializer
-    queryset = CameraPreset.objects.all().select_related(
+    queryset = CameraPreset.objects.filter(asset_bed__deleted=False).select_related(
         "asset_bed", "created_by", "updated_by"
     )
     lookup_field = "external_id"

From f30ac26536bd1c7fe28be6b0ae717fba6a35f461 Mon Sep 17 00:00:00 2001
From: Prafful <praffulsharma1230@gmail.com>
Date: Thu, 12 Dec 2024 22:30:41 +0530
Subject: [PATCH 2/3] added tests

---
 care/facility/tests/test_assetbed_api.py | 43 ++++++++++++++++++++++++
 1 file changed, 43 insertions(+)

diff --git a/care/facility/tests/test_assetbed_api.py b/care/facility/tests/test_assetbed_api.py
index 2129ef1a00..a6bd1cfc95 100644
--- a/care/facility/tests/test_assetbed_api.py
+++ b/care/facility/tests/test_assetbed_api.py
@@ -425,6 +425,49 @@ def setUpTestData(cls):
     def get_base_url(self, asset_bed_id=None):
         return f"/api/v1/assetbed/{asset_bed_id or self.asset_bed1.external_id}/camera_presets/"
 
+
+    def test_list_bed_with_deleted_assetbed(self):
+        # self.asset_bed1.update(deleted=)
+        res=self.client.post(
+            self.get_base_url(self.asset_bed1.external_id),
+            {
+                "name": "Preset with proper position",
+                "position": {
+                    "x": 1.0,
+                    "y": 1.0,
+                    "zoom": 1.0,
+                },
+            },
+            format="json",
+        )
+        self.assertEqual(res.status_code, status.HTTP_201_CREATED)
+        res=self.client.post(
+            self.get_base_url(self.asset_bed2.external_id),
+            {
+                "name": "Preset with proper position 2",
+                "position": {
+                    "x": 1.0,
+                    "y": 1.0,
+                    "zoom": 1.0,
+                },
+            },
+            format="json",
+        )
+        self.assertEqual(res.status_code, status.HTTP_201_CREATED)
+
+        res = self.client.get(
+            f"/api/v1/bed/{self.bed.external_id}/camera_presets/"
+        )
+        self.assertEqual(len(res.json()["results"]),2)
+
+        self.asset_bed1.delete()
+        self.asset_bed1.refresh_from_db()
+        res = self.client.get(
+            f"/api/v1/bed/{self.bed.external_id}/camera_presets/"
+        )
+        self.assertEqual(len(res.json()["results"]),1)
+
+
     def test_create_camera_preset_without_position(self):
         res = self.client.post(
             self.get_base_url(),

From e5f5edb223df429aeb72a22e200ced4083a9eede Mon Sep 17 00:00:00 2001
From: Prafful <praffulsharma1230@gmail.com>
Date: Thu, 12 Dec 2024 22:41:51 +0530
Subject: [PATCH 3/3] cleaning comments

---
 care/facility/tests/test_assetbed_api.py | 19 ++++++-------------
 1 file changed, 6 insertions(+), 13 deletions(-)

diff --git a/care/facility/tests/test_assetbed_api.py b/care/facility/tests/test_assetbed_api.py
index a6bd1cfc95..2502c9bd0b 100644
--- a/care/facility/tests/test_assetbed_api.py
+++ b/care/facility/tests/test_assetbed_api.py
@@ -425,10 +425,8 @@ def setUpTestData(cls):
     def get_base_url(self, asset_bed_id=None):
         return f"/api/v1/assetbed/{asset_bed_id or self.asset_bed1.external_id}/camera_presets/"
 
-
     def test_list_bed_with_deleted_assetbed(self):
-        # self.asset_bed1.update(deleted=)
-        res=self.client.post(
+        res = self.client.post(
             self.get_base_url(self.asset_bed1.external_id),
             {
                 "name": "Preset with proper position",
@@ -441,7 +439,7 @@ def test_list_bed_with_deleted_assetbed(self):
             format="json",
         )
         self.assertEqual(res.status_code, status.HTTP_201_CREATED)
-        res=self.client.post(
+        res = self.client.post(
             self.get_base_url(self.asset_bed2.external_id),
             {
                 "name": "Preset with proper position 2",
@@ -455,18 +453,13 @@ def test_list_bed_with_deleted_assetbed(self):
         )
         self.assertEqual(res.status_code, status.HTTP_201_CREATED)
 
-        res = self.client.get(
-            f"/api/v1/bed/{self.bed.external_id}/camera_presets/"
-        )
-        self.assertEqual(len(res.json()["results"]),2)
+        res = self.client.get(f"/api/v1/bed/{self.bed.external_id}/camera_presets/")
+        self.assertEqual(len(res.json()["results"]), 2)
 
         self.asset_bed1.delete()
         self.asset_bed1.refresh_from_db()
-        res = self.client.get(
-            f"/api/v1/bed/{self.bed.external_id}/camera_presets/"
-        )
-        self.assertEqual(len(res.json()["results"]),1)
-
+        res = self.client.get(f"/api/v1/bed/{self.bed.external_id}/camera_presets/")
+        self.assertEqual(len(res.json()["results"]), 1)
 
     def test_create_camera_preset_without_position(self):
         res = self.client.post(