diff --git a/api/barriers/serializers/estimated_resolution_date.py b/api/barriers/serializers/estimated_resolution_date.py index 8ca56993..0309cbb2 100644 --- a/api/barriers/serializers/estimated_resolution_date.py +++ b/api/barriers/serializers/estimated_resolution_date.py @@ -34,6 +34,8 @@ def get_created_by(self, obj): class CreateERDRequestSerializer(ERDRequestSerializer): + reason = serializers.CharField(required=True) + def validate(self, data): """ Check that the start is before the stop. diff --git a/tests/barriers/test_estimated_resolution_date_request.py b/tests/barriers/test_estimated_resolution_date_request.py index e705b98d..544c1723 100644 --- a/tests/barriers/test_estimated_resolution_date_request.py +++ b/tests/barriers/test_estimated_resolution_date_request.py @@ -49,6 +49,21 @@ def test_create_erd_request_no_date_201(self): assert not barrier.get_active_erd_request() assert barrier.estimated_resolution_date == data["estimated_resolution_date"] + def test_create_erd_request_no_reason_201(self): + barrier = BarrierFactory(estimated_resolution_date=None) + url = reverse( + "estimated-resolution-date-request", kwargs={"barrier_id": barrier.id} + ) + data = { + "estimated_resolution_date": datetime.date.today() + timedelta(days=31), + } + + response = self.api_client.post(url, data=data, format="json") + + barrier.refresh_from_db() + assert response.status_code == status.HTTP_400_BAD_REQUEST + assert response.json() == {'reason': ['This field is required.']} + def test_create_erd_has_existing_erd_request(self): barrier = BarrierFactory(estimated_resolution_date=datetime.date.today()) EstimatedResolutionDateRequest.objects.create(