def test_update_post_otherlabels_links(self): data = { "other_labels": [ { "id": "aee39ddd-6785-4a36-9781-8e745c6359b7", "links": [ { "id": "6c928027-4813-4770-80a5-ba413a43efae", "note": "It is on facebook but it is hard to see" } ] } ] } post = Post.objects.untranslated().get(id="c1f0f86b-a491-4986-b48d-861b58a3ef6e") serializer = PostSerializer(post, data=data, partial=True, language="en") serializer.is_valid() self.assertEqual(serializer.errors, {}) serializer.save() post = Post.objects.language("en").get(id="c1f0f86b-a491-4986-b48d-861b58a3ef6e") other_labels = post.other_labels.language("en").get(id="aee39ddd-6785-4a36-9781-8e745c6359b7") link = other_labels.links.language("en").get(id="6c928027-4813-4770-80a5-ba413a43efae") self.assertEqual(link.note, "It is on facebook but it is hard to see")
def test_create_post_minimal_field_serializer(self): data = { "role": "Honorary Member", } serializer = PostSerializer(data=data, language="en") serializer.is_valid() self.assertEqual(serializer.errors, {}) serializer.save() post = Post.objects.language("en").get(role="Honorary Member") self.assertEqual(post.role, "Honorary Member")
def test_create_post_translated(self): data = { "label": "Ahli Terhormat", "role": "Ahli Terhormat", } serializer = PostSerializer(data=data, language="ms") serializer.is_valid() self.assertEqual(serializer.errors, {}) serializer.save() post = Post.objects.language("ms").get(role="Ahli Terhormat") self.assertEqual(post.role, "Ahli Terhormat")
def test_update_post_translated(self): data = { "label": "ahli" } post = Post.objects.untranslated().get(id="c1f0f86b-a491-4986-b48d-861b58a3ef6e") serializer = PostSerializer(post, data=data, language="ms", partial=True) serializer.is_valid() self.assertEqual(serializer.errors, {}) serializer.save() post = Post.objects.language("ms").get(id="c1f0f86b-a491-4986-b48d-861b58a3ef6e") self.assertEqual(post.label, "ahli")
def test_create_post_serializer_invalid_organization(self): data = { "label": "Honorary Member", "organization_id": "not exist", "role": "Honorary Member", "area_id": "640c0f1d-2305-4d17-97fe-6aa59f079cc4", "start_date": "2000-02-02", "end_date": "2030-02-02", } serializer = PostSerializer(data=data, language="en") serializer.is_valid() self.assertNotEqual(serializer.errors, {})
def test_create_post_serializer_invalid_area_id(self): data = { "label": "Honorary Member", "organization_id": "3d62d9ea-0600-4f29-8ce6-f7720fd49aa3", "role": "Honorary Member", "area_id": "not exist", "start_date": "2000-02-02", "end_date": "2030-02-02", } serializer = PostSerializer(data=data, language="en") serializer.is_valid() self.assertNotEqual(serializer.errors, {})
def test_serializer_create_post_invalid_date(self): data = { "label": "Honorary Member", "organization_id": "3d62d9ea-0600-4f29-8ce6-f7720fd49aa3", "role": "Honorary Member", "area_id": "640c0f1d-2305-4d17-97fe-6aa59f079cc4", "start_date": "invalid date", "end_date": "invalid date", } serializer = PostSerializer(data=data, language="en") serializer.is_valid() self.assertNotEqual(serializer.errors, {})
def test_create_post_otherlabels_serializer(self): data = { "other_labels": [{ "name": "sampan party" }] } post = Post.objects.untranslated().get(id="c1f0f86b-a491-4986-b48d-861b58a3ef6e") serializer = PostSerializer(post, data=data, language="en", partial=True) serializer.is_valid() self.assertEqual(serializer.errors, {}) serializer.save() post = Post.objects.language("en").get(id="c1f0f86b-a491-4986-b48d-861b58a3ef6e") other_labels = post.other_labels.language("en").get(name="sampan party") self.assertEqual(other_labels.name, "sampan party")
def test_update_post_translated(self): data = { "label": "ahli" } # When translation do not exist, the following is used in production # post = Post.objects.untranslated().get(id="c1f0f86b-a491-4986-b48d-861b58a3ef6e") # But when translation exist, fetch existing translation post = Post.objects.language("ms").get(id="c1f0f86b-a491-4986-b48d-861b58a3ef6e") serializer = PostSerializer(post, data=data, language="ms", partial=True) serializer.is_valid() self.assertEqual(serializer.errors, {}) serializer.save() post = Post.objects.language("ms").get(id="c1f0f86b-a491-4986-b48d-861b58a3ef6e") self.assertEqual(post.label, "ahli")
def test_create_post_links_serializer(self): data = { "links": [ { "url": "http://www.yahoo.com" } ] } post = Post.objects.untranslated().get(id="c1f0f86b-a491-4986-b48d-861b58a3ef6e") serializer = PostSerializer(post, data=data, partial=True, language="en") serializer.is_valid() self.assertEqual(serializer.errors, {}) serializer.save() post = Post.objects.language("en").get(id="c1f0f86b-a491-4986-b48d-861b58a3ef6e") link = post.links.language("en").get(url="http://www.yahoo.com") self.assertEqual(link.url, "http://www.yahoo.com")
def test_create_post_serializer(self): data = { "label": "Honorary Member", "organization_id": "3d62d9ea-0600-4f29-8ce6-f7720fd49aa3", "role": "Honorary Member", "area_id": "640c0f1d-2305-4d17-97fe-6aa59f079cc4", "start_date": "2000-02-02", "end_date": "2030-02-02", } serializer = PostSerializer(data=data, language="en") serializer.is_valid() self.assertEqual(serializer.errors, {}) serializer.save() post = Post.objects.language("en").get(role="Honorary Member") self.assertEqual(post.organization_id, "3d62d9ea-0600-4f29-8ce6-f7720fd49aa3")
def test_update_post_otherlabels_serializer(self): data = { "other_labels": [ { "id":"aee39ddd-6785-4a36-9781-8e745c6359b7", "name": "Bilge Rat" } ] } post = Post.objects.untranslated().get(id="c1f0f86b-a491-4986-b48d-861b58a3ef6e") serializer = PostSerializer(post, data=data, partial=True, language="en") serializer.is_valid() self.assertEqual(serializer.errors, {}) serializer.save() post = Post.objects.language("en").get(id="c1f0f86b-a491-4986-b48d-861b58a3ef6e") other_labels = post.other_labels.language("en").get(id="aee39ddd-6785-4a36-9781-8e745c6359b7") self.assertEqual(other_labels.name, "Bilge Rat")
def test_create_post_contacts_serializer(self): data = { "contact_details": [ { "type": "sms", "value": "231313123131", } ] } post = Post.objects.untranslated().get(id="c1f0f86b-a491-4986-b48d-861b58a3ef6e") serializer = PostSerializer(post, data=data, partial=True, language="en") serializer.is_valid() self.assertEqual(serializer.errors, {}) serializer.save() post = Post.objects.language("en").get(id="c1f0f86b-a491-4986-b48d-861b58a3ef6e") contact = post.contact_details.language("en").get(value="231313123131") self.assertEqual(contact.type, "sms")
def test_update_post_links_serializer(self): data = { "links": [ { "id": "ce15a9ee-6742-4467-bbfb-c86459ee685b", "note": "just a link" } ] } post = Post.objects.untranslated().get(id="c1f0f86b-a491-4986-b48d-861b58a3ef6e") serializer = PostSerializer(post, data=data, partial=True, language="en") serializer.is_valid() self.assertEqual(serializer.errors, {}) serializer.save() post = Post.objects.language("en").get(id="c1f0f86b-a491-4986-b48d-861b58a3ef6e") link = post.links.language("en").get(id="ce15a9ee-6742-4467-bbfb-c86459ee685b") self.assertEqual(link.note, "just a link")
def test_update_post_contacts_serializer(self): data = { "contact_details": [ { "id": "7f3f67c4-6afd-4de9-880e-943560cf56c0", "type": "phone" } ] } post = Post.objects.untranslated().get(id="c1f0f86b-a491-4986-b48d-861b58a3ef6e") serializer = PostSerializer(post, data=data, partial=True, language="en") serializer.is_valid() self.assertEqual(serializer.errors, {}) serializer.save() post = Post.objects.language("en").get(id="c1f0f86b-a491-4986-b48d-861b58a3ef6e") contact = post.contact_details.language("en").get(id="7f3f67c4-6afd-4de9-880e-943560cf56c0") self.assertEqual(contact.type, "phone")
def test_create_post_contact_links(self): data = { "contact_details": [ { "id": "7f3f67c4-6afd-4de9-880e-943560cf56c0", "links": [ { "url": "http://www.bing.com" } ] } ] } post = Post.objects.untranslated().get(id="c1f0f86b-a491-4986-b48d-861b58a3ef6e") serializer = PostSerializer(post, data=data, partial=True, language="en") serializer.is_valid() self.assertEqual(serializer.errors, {}) serializer.save() post = Post.objects.language("en").get(id="c1f0f86b-a491-4986-b48d-861b58a3ef6e") contact = post.contact_details.language("en").get(id="7f3f67c4-6afd-4de9-880e-943560cf56c0") link = contact.links.language("en").get(url="http://www.bing.com") self.assertEqual(link.url, "http://www.bing.com")
def test_create_post_otherlabels_links(self): data = { "other_labels": [ { "id": "aee39ddd-6785-4a36-9781-8e745c6359b7", "links": [ { "url": "http://en.wikipedia.com" } ] } ] } post = Post.objects.untranslated().get(id="c1f0f86b-a491-4986-b48d-861b58a3ef6e") serializer = PostSerializer(post, data=data, partial=True, language="en") serializer.is_valid() self.assertEqual(serializer.errors, {}) serializer.save() post = Post.objects.language("en").get(id="c1f0f86b-a491-4986-b48d-861b58a3ef6e") other_labels = post.other_labels.language("en").get(id="aee39ddd-6785-4a36-9781-8e745c6359b7") link = other_labels.links.language("en").get(url="http://en.wikipedia.com") self.assertEqual(link.url, "http://en.wikipedia.com")
def test_update_post_contact_links(self): data = { "contact_details": [ { "id": "7f3f67c4-6afd-4de9-880e-943560cf56c0", "links": [ { "id": "a37256e6-eab7-417a-8ac8-32edc5031924", "note": "a wikipedia site" } ] } ] } post = Post.objects.untranslated().get(id="c1f0f86b-a491-4986-b48d-861b58a3ef6e") serializer = PostSerializer(post, data=data, partial=True, language="en") serializer.is_valid() self.assertEqual(serializer.errors, {}) serializer.save() post = Post.objects.language("en").get(id="c1f0f86b-a491-4986-b48d-861b58a3ef6e") contact = post.contact_details.language("en").get(id="7f3f67c4-6afd-4de9-880e-943560cf56c0") link = contact.links.language("en").get(id="a37256e6-eab7-417a-8ac8-32edc5031924") self.assertEqual(link.note, "a wikipedia site")