diff --git a/tests/test_shots.py b/tests/test_shots.py index 870a29d..527360c 100644 --- a/tests/test_shots.py +++ b/tests/test_shots.py @@ -393,6 +393,30 @@ class PatchShotTest(AbstractShotTest): dbnode = self.get(url, auth_token='token').json() self.assertTrue(dbnode['properties']['used_in_edit']) + @responses.activate + def test_patch_relink_deleted(self): + """Relinking a deleted shot should undelete it. + + We implement PATCH by changing then PUTing, which undeletes. + """ + + shot = self.create_shot() + self.create_valid_auth_token(ctd.EXAMPLE_PROJECT_OWNER_ID, 'token') + + url = '/api/nodes/%s' % shot._id + + # Delete (and verify deletion) + self.delete(url, auth_token='token', + headers={'If-Match': shot['_etag']}, + expected_status=204) + self.get(url, auth_token='token', expected_status=404) + + patch = {'op': 'relink'} + self.patch(url, json=patch, auth_token='token') + + dbnode = self.get(url, auth_token='token').json() + self.assertTrue(dbnode['properties']['used_in_edit']) + class RequiredAfterCreationTest(AbstractShotTest): """