diff --git a/SAS/TMSS/backend/test/t_tmssapp_specification_REST_API.py b/SAS/TMSS/backend/test/t_tmssapp_specification_REST_API.py
index 380718afd217094e0d27e98d44e80baf71aa47c2..ee121b6da3a133ca799bdac9e49a994ed03e0586 100755
--- a/SAS/TMSS/backend/test/t_tmssapp_specification_REST_API.py
+++ b/SAS/TMSS/backend/test/t_tmssapp_specification_REST_API.py
@@ -1940,6 +1940,35 @@ class TaskDraftTestCase(unittest.TestCase):
         self.assertIn(task_draft_2.name, str(response_4))
         self.assertNotIn(task_draft_3.name, str(response_4))
 
+    def test_TaskDraft_filters_for_project(self):
+        """
+        Test we can filter on this property, which is explicitly named on the model-specific property filter
+        """
+        # setup
+        project_1 = models.Project.objects.create(**Project_test_data(name='myproject_draft_partial_1_%s' % uuid.uuid4()))
+        project_2 = models.Project.objects.create(**Project_test_data(name='myproject_draft_partial_2_%s' % uuid.uuid4()))
+        scheduling_set_1 = models.SchedulingSet.objects.create(**SchedulingSet_test_data(project=project_1))
+        scheduling_set_2 = models.SchedulingSet.objects.create(**SchedulingSet_test_data(project=project_2))
+        su_draft_1 = models.SchedulingUnitDraft.objects.create(**SchedulingUnitDraft_test_data(name='sud1_%s' % uuid.uuid4(), scheduling_set=scheduling_set_1))
+        su_draft_2 = models.SchedulingUnitDraft.objects.create(**SchedulingUnitDraft_test_data(name='sud2_%s' % uuid.uuid4(), scheduling_set=scheduling_set_2))
+        task_draft_1 = models.TaskDraft.objects.create(**TaskDraft_test_data("td_%s" % uuid.uuid4(), scheduling_unit_draft=su_draft_1))
+        task_draft_2 = models.TaskDraft.objects.create(**TaskDraft_test_data("td_%s" % uuid.uuid4(), scheduling_unit_draft=su_draft_2))
+
+        # assert
+        response_1 = GET_and_assert_equal_expected_code(self, BASE_URL + '/task_draft/?project=%s' % project_1.name, 200)
+        response_2 = GET_and_assert_equal_expected_code(self, BASE_URL + '/task_draft/?project=%s' % project_2.name, 200)
+        response_3 = GET_and_assert_equal_expected_code(self, BASE_URL + '/task_draft/?project=foo', 200)
+        response_4 = GET_and_assert_equal_expected_code(self, BASE_URL + '/task_draft/?project=myproject_draft_partia', 200)
+
+        self.assertEqual(response_1['count'], 1)
+        self.assertEqual(response_1['results'][0]['name'], task_draft_1.name)
+        self.assertEqual(response_2['count'], 1)
+        self.assertEqual(response_2['results'][0]['name'], task_draft_2.name)
+        self.assertEqual(response_3['count'], 0)
+        self.assertEqual(response_4['count'], 2)
+        self.assertEqual({response_4['results'][0]['name'], response_4['results'][1]['name']},
+                         {task_draft_1.name, task_draft_2.name})
+
 
 class TaskRelationDraftTestCase(unittest.TestCase):
     @classmethod
@@ -2711,6 +2740,39 @@ class TaskBlueprintTestCase(unittest.TestCase):
         self.assertGreater(response_1['count'], 0)
         self.assertEqual(response_2['count'], 0)
 
+    def test_TaskBlueprint_filters_for_project(self):
+        """
+        Test we can filter on this property, which is explicitly named on the model-specific property filter
+        """
+        # setup
+        project_1 = models.Project.objects.create(**Project_test_data(name='myproject_partial_1_%s' % uuid.uuid4()))
+        project_2 = models.Project.objects.create(**Project_test_data(name='myproject_partial_2_%s' % uuid.uuid4()))
+        scheduling_set_1 = models.SchedulingSet.objects.create(**SchedulingSet_test_data(project=project_1))
+        scheduling_set_2 = models.SchedulingSet.objects.create(**SchedulingSet_test_data(project=project_2))
+        su_draft_1 = models.SchedulingUnitDraft.objects.create(**SchedulingUnitDraft_test_data(scheduling_set=scheduling_set_1))
+        su_draft_2 = models.SchedulingUnitDraft.objects.create(**SchedulingUnitDraft_test_data(scheduling_set=scheduling_set_2))
+        su_blueprint_1 = models.SchedulingUnitBlueprint.objects.create(**SchedulingUnitBlueprint_test_data(draft=su_draft_1, name='mysub1_%s' % uuid.uuid4()))
+        su_blueprint_2 = models.SchedulingUnitBlueprint.objects.create(**SchedulingUnitBlueprint_test_data(draft=su_draft_2, name='mysub2_%s' % uuid.uuid4()))
+        task_draft_1 = models.TaskDraft.objects.create(**TaskDraft_test_data("td_%s" % uuid.uuid4(), scheduling_unit_draft=su_draft_1))
+        task_draft_2 = models.TaskDraft.objects.create(**TaskDraft_test_data("td_%s" % uuid.uuid4(), scheduling_unit_draft=su_draft_2))
+        task_blueprint_1 = models.TaskBlueprint.objects.create(**TaskBlueprint_test_data(name="tb_%s" % uuid.uuid4(), task_draft=task_draft_1, scheduling_unit_blueprint=su_blueprint_1))
+        task_blueprint_2 = models.TaskBlueprint.objects.create(**TaskBlueprint_test_data(name="tb_%s" % uuid.uuid4(), task_draft=task_draft_2, scheduling_unit_blueprint=su_blueprint_2))
+
+        # assert
+        response_1 = GET_and_assert_equal_expected_code(self, BASE_URL + '/task_blueprint/?project=%s' % project_1.name, 200)
+        response_2 = GET_and_assert_equal_expected_code(self, BASE_URL + '/task_blueprint/?project=%s' % project_2.name, 200)
+        response_3 = GET_and_assert_equal_expected_code(self, BASE_URL + '/task_blueprint/?project=foo', 200)
+        response_4 = GET_and_assert_equal_expected_code(self, BASE_URL + '/task_blueprint/?project=myproject_partia', 200)
+
+        self.assertEqual(response_1['count'], 1)
+        self.assertEqual(response_1['results'][0]['name'], task_blueprint_1.name)
+        self.assertEqual(response_2['count'], 1)
+        self.assertEqual(response_2['results'][0]['name'], task_blueprint_2.name)
+        self.assertEqual(response_3['count'], 0)
+        self.assertEqual(response_4['count'], 2)
+        self.assertEqual(response_4['results'][0]['name'], task_blueprint_1.name)
+        self.assertEqual(response_4['results'][1]['name'], task_blueprint_2.name)
+
 
 class TaskRelationBlueprintTestCase(unittest.TestCase):