def METHOD_NAME(api_client, descriptive_property, unit, user):
    url = (
        reverse("unit-detail", kwargs={"pk": unit.pk})
        + "?include=observable_properties"
    )
    response = api_client.get(url)
    observable_properties = response.data["observable_properties"]
    assert len(observable_properties) > 0
    assert Observation.objects.count() == 0
    authenticate_user(api_client, user)
    count = 0
    for prop in observable_properties:
        url = reverse("observation-list")
        current_time = timezone.now()
        # Test default language
        raw_data = dict(unit=unit.pk, value="test string", property=prop["id"])
        response = api_client.post(url, raw_data, format="json")
        assert response.status_code == 201
        count += 1
        data = response.data
        observation_time = datetime.strptime(data["time"], "%Y-%m-%dT%H:%M:%S.%f%z")
        assert observation_time - current_time < timedelta(seconds=1)
        assert data["value"]["fi"] == raw_data["value"]
        assert data["property"] == raw_data["property"]
        assert data["unit"] == raw_data["unit"]
        current_time = timezone.now()
        # Test all + 1 languages
        raw_data = dict(
            unit=unit.pk,
            value={"fi": "test string", "en": "test string 2", "sv": "test string 3"},
            property=prop["id"],
        )
        response = api_client.post(url, raw_data, format="json")
        assert response.status_code == 201
        count += 1
        data = response.data
        observation_time = datetime.strptime(data["time"], "%Y-%m-%dT%H:%M:%S.%f%z")
        assert observation_time - current_time < timedelta(seconds=1)
        assert data["value"] == raw_data["value"]
        assert data["property"] == raw_data["property"]
        assert data["unit"] == raw_data["unit"]
    assert Observation.objects.count() == count