class TempLanguageTestCase(TestCase): def setUp(self): self.obj = TempLanguage(code="qaa-x-abcdef", name="Temporary Language") self.obj.save() self.obj.questionnaire = Questionnaire.objects.create(questions=[ { "id": 0, "text": "What do you call your language?", "help": "Test help text", "required": True, "input_type": "string", "sort": 1, "depends_on": None }, { "id": 1, "text": "Second Question", "help": "Test help text", "required": True, "input_type": "string", "sort": 2, "depends_on": None } ]) self.obj.answers = [ { 'question_id': 0, 'text': 'wonderful' } ] self.obj.save() def test_string_representation(self): """ __str__() should returned the model's code """ self.assertEquals(str(self.obj), "qaa-x-abcdef") def test_get_absolute_url(self): """ get_absolute_url should return the URL to the detail page """ self.assertEquals(self.obj.get_absolute_url(), reverse("templanguage_detail", args=[str(self.obj.id)])) def test_lang_assigned_url_property(self): """ lang_assigned_url should return the URL to the detail page of model's lang_assigned related object """ self.assertEquals(self.obj.lang_assigned_url, reverse("language_detail", args=[str(self.obj.lang_assigned_id)])) def test_name_property(self): """ object.name should return its name """ self.assertEquals(self.obj.name, "Temporary Language") def test_pending_method(self): """ object.pending should return a list of objects with status 'p' """ returned = self.obj.pending() self.assertEqual(len(returned), 1) self.assertIn(self.obj, returned) def test_approved_method(self): """ object.approved should return a list of objects with status 'a' """ self.assertEqual(len(self.obj.approved()), 0) a = TempLanguage(code="qaa-x-ghijkl", status="a") a.save() returned = self.obj.approved() self.assertEqual(len(returned), 1) self.assertIn(a, returned) def test_rejected_method(self): """ object.rejected should return a list of objects with status 'r' """ self.assertEqual(len(self.obj.rejected()), 0) r = TempLanguage(code="qaa-x-ghijkl", status="r") r.save() returned = self.obj.rejected() self.assertEqual(len(returned), 1) self.assertIn(r, returned) def test_lang_assigned_map_method(self): """ lang_assigned_map should return a list of dictionary of object.code: object.lang_assigned.code """ self.assertListEqual(self.obj.lang_assigned_map(), [{"qaa-x-abcdef": "qaa-x-abcdef"}]) TempLanguage(code="qaa-x-123456").save() returned = self.obj.lang_assigned_map() self.assertEquals(len(returned), 2) self.assertIn({"qaa-x-abcdef": "qaa-x-abcdef"}, returned) self.assertIn({"qaa-x-123456": "qaa-x-123456"}, returned) def test_lang_assigned_changed_map(self): """ lang_assigned_map should return a list of dictionary of object.code: object.lang_assigned.code """ l = self.obj.lang_assigned l.code = "abc" l.save() self.assertListEqual(self.obj.lang_assigned_changed_map(), [{"qaa-x-abcdef": "abc"}]) def test_questions_answers(self): tmp = self.obj.questions_and_answers self.assertEqual(tmp[0]["id"], 0) self.assertEqual(tmp[0]["question"], "What do you call your language?") self.assertEqual(tmp[0]["answer"], "wonderful") self.assertEqual(tmp[1]["answer"], "") self.obj.answers = None tmp = self.obj.questions_and_answers self.assertEqual(len(tmp), len(self.obj.questionnaire.questions)) self.assertEqual(tmp[0]["answer"], "") self.assertEqual(tmp[1]["answer"], "")
class TempLanguageTestCase(TestCase): def setUp(self): self.obj = TempLanguage(code="qaa-x-abcdef", name="Temporary Language") self.obj.save() self.obj.questionnaire = Questionnaire.objects.create( questions=[{ "id": 0, "text": "What do you call your language?", "help": "Test help text", "required": True, "input_type": "string", "sort": 1, "depends_on": None }, { "id": 1, "text": "Second Question", "help": "Test help text", "required": True, "input_type": "string", "sort": 2, "depends_on": None }]) self.obj.answers = [{'question_id': 0, 'text': 'wonderful'}] self.obj.save() def test_string_representation(self): """ __str__() should returned the model's code """ self.assertEquals(str(self.obj), "qaa-x-abcdef") def test_get_absolute_url(self): """ get_absolute_url should return the URL to the detail page """ self.assertEquals( self.obj.get_absolute_url(), reverse("templanguage_detail", args=[str(self.obj.id)])) def test_lang_assigned_url_property(self): """ lang_assigned_url should return the URL to the detail page of model's lang_assigned related object """ self.assertEquals( self.obj.lang_assigned_url, reverse("language_detail", args=[str(self.obj.lang_assigned_id)])) def test_name_property(self): """ object.name should return its name """ self.assertEquals(self.obj.name, "Temporary Language") def test_pending_method(self): """ object.pending should return a list of objects with status 'p' """ returned = self.obj.pending() self.assertEqual(len(returned), 1) self.assertIn(self.obj, returned) def test_approved_method(self): """ object.approved should return a list of objects with status 'a' """ self.assertEqual(len(self.obj.approved()), 0) a = TempLanguage(code="qaa-x-ghijkl", status="a") a.save() returned = self.obj.approved() self.assertEqual(len(returned), 1) self.assertIn(a, returned) def test_rejected_method(self): """ object.rejected should return a list of objects with status 'r' """ self.assertEqual(len(self.obj.rejected()), 0) r = TempLanguage(code="qaa-x-ghijkl", status="r") r.save() returned = self.obj.rejected() self.assertEqual(len(returned), 1) self.assertIn(r, returned) def test_lang_assigned_map_method(self): """ lang_assigned_map should return a list of dictionary of object.code: object.lang_assigned.code """ self.assertListEqual(self.obj.lang_assigned_map(), [{ "qaa-x-abcdef": "qaa-x-abcdef" }]) TempLanguage(code="qaa-x-123456").save() returned = self.obj.lang_assigned_map() self.assertEquals(len(returned), 2) self.assertIn({"qaa-x-abcdef": "qaa-x-abcdef"}, returned) self.assertIn({"qaa-x-123456": "qaa-x-123456"}, returned) def test_lang_assigned_changed_map(self): """ lang_assigned_map should return a list of dictionary of object.code: object.lang_assigned.code """ l = self.obj.lang_assigned l.code = "abc" l.save() self.assertListEqual(self.obj.lang_assigned_changed_map(), [{ "qaa-x-abcdef": "abc" }]) def test_questions_answers(self): tmp = self.obj.questions_and_answers self.assertEqual(tmp[0]["id"], 0) self.assertEqual(tmp[0]["question"], "What do you call your language?") self.assertEqual(tmp[0]["answer"], "wonderful") self.assertEqual(tmp[1]["answer"], "") self.obj.answers = None tmp = self.obj.questions_and_answers self.assertEqual(len(tmp), len(self.obj.questionnaire.questions)) self.assertEqual(tmp[0]["answer"], "") self.assertEqual(tmp[1]["answer"], "")
def lang_assignment_changed_json(request): return JsonResponse(TempLanguage.lang_assigned_changed_map(), safe=False)