diff --git a/src/verzoeken/api/tests/test_verzoekproduct.py b/src/verzoeken/api/tests/test_verzoekproduct.py index bc3555c..117a8e5 100644 --- a/src/verzoeken/api/tests/test_verzoekproduct.py +++ b/src/verzoeken/api/tests/test_verzoekproduct.py @@ -114,6 +114,22 @@ def test_create_verzoekproduct_with_invalid_product_url(self): error = get_validation_errors(response, "product") self.assertEqual(error["code"], "bad-url") + def test_create_verzoekproduct_with_product_url_not_unique(self): + verzoek = VerzoekFactory.create() + verzoek_url = reverse(verzoek) + + VerzoekProductFactory.create(verzoek=verzoek, product="https://example.com/") + + list_url = reverse(VerzoekProduct) + data = {"verzoek": verzoek_url, "product": "https://example.com/"} + + response = self.client.post(list_url, data) + + self.assertEqual(response.status_code, status.HTTP_400_BAD_REQUEST) + + error = get_validation_errors(response, "nonFieldErrors") + self.assertEqual(error["code"], "unique") + def test_create_verzoekproduct_with_product_id(self): verzoek = VerzoekFactory.create() verzoek_url = reverse(verzoek) @@ -133,6 +149,22 @@ def test_create_verzoekproduct_with_product_id(self): verzoekproduct.product_code, data["productIdentificatie"]["code"] ) + def test_create_verzoekproduct_with_product_id_not_unique(self): + verzoek = VerzoekFactory.create() + verzoek_url = reverse(verzoek) + + VerzoekProductFactory.create(verzoek=verzoek, product_code="test") + + list_url = reverse(VerzoekProduct) + data = {"verzoek": verzoek_url, "productIdentificatie": {"code": "test"}} + + response = self.client.post(list_url, data) + + self.assertEqual(response.status_code, status.HTTP_400_BAD_REQUEST) + + error = get_validation_errors(response, "nonFieldErrors") + self.assertEqual(error["code"], "unique") + def test_create_verzoekproduct_without_product(self): verzoek = VerzoekFactory.create() verzoek_url = reverse(verzoek)