Fix: backwards-compatible versioned API response for custom field select fields (#8912)

This commit is contained in:
shamoon
2025-01-27 07:34:23 -08:00
committed by GitHub
parent 082bf6fb8e
commit 270e70a958
8 changed files with 245 additions and 22 deletions

View File

@@ -2029,31 +2029,37 @@ class TestDocumentApi(DirectoriesMixin, DocumentConsumeDelayMixin, APITestCase):
self.assertEqual(response.status_code, status.HTTP_201_CREATED)
self.assertEqual(Tag.objects.get(id=response.data["id"]).color, "#a6cee3")
self.assertEqual(
self.client.get(f"/api/tags/{response.data['id']}/", format="json").data[
"colour"
],
self.client.get(
f"/api/tags/{response.data['id']}/",
headers={"Accept": "application/json; version=1"},
format="json",
).data["colour"],
1,
)
def test_tag_color(self):
response = self.client.post(
"/api/tags/",
{"name": "tag", "colour": 3},
data={"name": "tag", "colour": 3},
headers={"Accept": "application/json; version=1"},
format="json",
)
self.assertEqual(response.status_code, status.HTTP_201_CREATED)
self.assertEqual(Tag.objects.get(id=response.data["id"]).color, "#b2df8a")
self.assertEqual(
self.client.get(f"/api/tags/{response.data['id']}/", format="json").data[
"colour"
],
self.client.get(
f"/api/tags/{response.data['id']}/",
headers={"Accept": "application/json; version=1"},
format="json",
).data["colour"],
3,
)
def test_tag_color_invalid(self):
response = self.client.post(
"/api/tags/",
{"name": "tag", "colour": 34},
data={"name": "tag", "colour": 34},
headers={"Accept": "application/json; version=1"},
format="json",
)
self.assertEqual(response.status_code, status.HTTP_400_BAD_REQUEST)
@@ -2061,7 +2067,11 @@ class TestDocumentApi(DirectoriesMixin, DocumentConsumeDelayMixin, APITestCase):
def test_tag_color_custom(self):
tag = Tag.objects.create(name="test", color="#abcdef")
self.assertEqual(
self.client.get(f"/api/tags/{tag.id}/", format="json").data["colour"],
self.client.get(
f"/api/tags/{tag.id}/",
headers={"Accept": "application/json; version=1"},
format="json",
).data["colour"],
1,
)