File tree Expand file tree Collapse file tree
Expand file tree Collapse file tree Original file line number Diff line number Diff line change @@ -36,3 +36,6 @@ def get_queryset(self) -> QuerySet[URL]:
3636 return URL .objects .annotate (
3737 active_findings = Coalesce (active_finding_subquery , Value (0 )),
3838 )
39+
40+ def perform_destroy (self , instance ):
41+ instance .location .delete ()
Original file line number Diff line number Diff line change @@ -1612,6 +1612,19 @@ def test_update_object_not_authorized(self):
16121612 response = self .client .put (relative_url , self .payload )
16131613 self .assertEqual (403 , response .status_code , response .content [:1000 ])
16141614
1615+ def test_delete_removes_location (self ):
1616+ """Verify that deleting a URL via the API also deletes the associated Location."""
1617+ url_obj = URL .objects .get (pk = self .delete_id )
1618+ location_id = url_obj .location_id
1619+ self .assertTrue (Location .objects .filter (pk = location_id ).exists ())
1620+
1621+ relative_url = f"{ self .url } { location_id } /"
1622+ response = self .client .delete (relative_url )
1623+ self .assertEqual (204 , response .status_code , response .content [:1000 ])
1624+
1625+ self .assertFalse (Location .objects .filter (pk = location_id ).exists ())
1626+ self .assertFalse (URL .objects .filter (pk = self .delete_id ).exists ())
1627+
16151628
16161629@versioned_fixtures
16171630class EngagementTest (BaseClass .RelatedObjectsTest , BaseClass .BaseClassTest ):
You can’t perform that action at this time.
0 commit comments