def test_list_verzoeken(self): list_url = reverse(Verzoek) VerzoekFactory.create_batch(2) response = self.client.get(list_url) self.assertEqual(response.status_code, status.HTTP_200_OK) data = response.json() self.assertEqual(len(data), 2)
def test_create_objectverzoek(self, *mocks): verzoek = VerzoekFactory.create() verzoek_url = reverse(verzoek) list_url = reverse(ObjectVerzoek) data = { "verzoek": verzoek_url, "objectType": ObjectTypes.zaak, "object": ZAAK, } responses = { "http://example.com/api/v1/zaakverzoeken": [ { "url": f"https://example.com/api/v1/zaakverzoeken/{uuid.uuid4()}", "verzoek": f"http://testserver/api/v1/verzoeken/{uuid.uuid4()}", "zaak": ZAAK, } ] } with mock_client(responses): response = self.client.post(list_url, data) self.assertEqual(response.status_code, status.HTTP_201_CREATED, response.data) objectverzoek = ObjectVerzoek.objects.get() self.assertEqual(objectverzoek.verzoek, verzoek) self.assertEqual(objectverzoek.object_type, ObjectTypes.zaak) self.assertEqual(objectverzoek.object, ZAAK)
def test_read_verzoek(self): klant = KlantFactory.create() klant_url = reverse(klant) verzoek = VerzoekFactory.create( klant=klant, interactiedatum=make_aware(datetime(2019, 1, 1)), ) detail_url = reverse(verzoek) response = self.client.get(detail_url) self.assertEqual(response.status_code, status.HTTP_200_OK) data = response.json() self.assertEqual( data, { "url": f"http://testserver{detail_url}", "bronorganisatie": verzoek.bronorganisatie, "externeIdentificatie": verzoek.externe_identificatie, "identificatie": "VERZOEK-2019-0000000001", "klant": f"http://testserver{klant_url}", "interactiedatum": "2019-01-01T00:00:00Z", "status": verzoek.status, "tekst": verzoek.tekst, "voorkeurskanaal": verzoek.voorkeurskanaal, }, )
def test_destroy_verzoek(self): verzoek = VerzoekFactory.create() detail_url = reverse(verzoek) response = self.client.delete(detail_url) self.assertEqual(response.status_code, status.HTTP_204_NO_CONTENT) self.assertEqual(Verzoek.objects.count(), 0)
def test_create_verzoekproduct_without_product(self): verzoek = VerzoekFactory.create() verzoek_url = reverse(verzoek) list_url = reverse(VerzoekProduct) data = {"verzoek": verzoek_url} response = self.client.post(list_url, data) self.assertEqual(response.status_code, status.HTTP_400_BAD_REQUEST) validation_error = get_validation_errors(response, "nonFieldErrors") self.assertEqual(validation_error["code"], "invalid-product")
def test_update_verzoek(self): klant = KlantFactory.create() klant_url = reverse(klant) verzoek = VerzoekFactory.create() detail_url = reverse(verzoek) response = self.client.patch(detail_url, {"klant": klant_url}) self.assertEqual(response.status_code, status.HTTP_200_OK) verzoek.refresh_from_db() self.assertEqual(verzoek.klant, klant)
def test_create_verzoekproduct_with_product_url(self): verzoek = VerzoekFactory.create() verzoek_url = reverse(verzoek) 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_201_CREATED) verzoekproduct = VerzoekProduct.objects.get() self.assertEqual(verzoekproduct.verzoek, verzoek) self.assertEqual(verzoekproduct.product, data["product"])
def test_create_verzoekcontactmoment(self): verzoek = VerzoekFactory.create() verzoek_url = reverse(verzoek) contactmoment = ContactMomentFactory.create() contactmoment_url = reverse(contactmoment) list_url = reverse(VerzoekContactMoment) data = {"verzoek": verzoek_url, "contactmoment": contactmoment_url} response = self.client.post(list_url, data) self.assertEqual(response.status_code, status.HTTP_201_CREATED, response.content) verzoekcontactmoment = VerzoekContactMoment.objects.get() self.assertEqual(verzoekcontactmoment.verzoek, verzoek) self.assertEqual(verzoekcontactmoment.contactmoment, contactmoment)
def test_create_objectverzoek_fail_no_remote_relation(self, *mocks): verzoek = VerzoekFactory.create() verzoek_url = reverse(verzoek) list_url = reverse(ObjectVerzoek) data = { "verzoek": verzoek_url, "objectType": ObjectTypes.zaak, "object": ZAAK, } responses = {"http://example.com/api/v1/zaakverzoeken": []} with mock_client(responses): 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"], "inconsistent-relation")
def test_read_objectverzoek(self): verzoek = VerzoekFactory.create() verzoek_url = reverse(verzoek) objectverzoek = ObjectVerzoekFactory.create(verzoek=verzoek) detail_url = reverse(objectverzoek) response = self.client.get(detail_url) self.assertEqual(response.status_code, status.HTTP_200_OK) data = response.json() self.assertEqual( data, { "url": f"http://testserver{detail_url}", "verzoek": f"http://testserver{verzoek_url}", "objectType": objectverzoek.object_type, "object": objectverzoek.object, }, )
def test_create_verzoekproduct_with_product_id(self): verzoek = VerzoekFactory.create() verzoek_url = reverse(verzoek) 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_201_CREATED, response.content) verzoekproduct = VerzoekProduct.objects.get() self.assertEqual(verzoekproduct.verzoek, verzoek) self.assertEqual(verzoekproduct.product_code, data["productIdentificatie"]["code"])