Example #1
0
    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)
Example #3
0
    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,
            },
        )
Example #4
0
    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)
Example #5
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")
Example #6
0
    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)
Example #7
0
    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"])
Example #8
0
    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,
            },
        )
Example #11
0
    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"])