def test_model_User(self): model_info = self.model_inspector.models[self.classes["User"]] self.assertEqual(model_info.fields_to_one, []) field_names = [f.name for f in model_info.fields_to_many] self.assertEqual(len(field_names), len(set(field_names))) expected_fields = { Field("post_set", Field.CATEGORIES.TO_MANY, Post), Field("aa_set", Field.CATEGORIES.TO_MANY, self.classes["AA"]), } self.assertEqual(len(model_info.fields_to_many), 5) self.assertTrue(set(model_info.fields_to_many) > set(expected_fields)) expected_auth_user_paths = [""] self.assertEqual(model_info.auth_user_paths, expected_auth_user_paths)
def test_model_a(self): model_info = self.model_inspector.models[self.classes["A"]] expected_fields_own = { Field("id", Field.CATEGORIES.OWN, None), Field("field_abstract", Field.CATEGORIES.OWN, None), Field("field_a", Field.CATEGORIES.OWN, None), } expected_fields_to_one = { Field("user", Field.CATEGORIES.TO_ONE, self.classes["User"]), Field("a_abstract_one", Field.CATEGORIES.TO_ONE, self.classes["AAbstractOne"]), Field("a_one", Field.CATEGORIES.TO_ONE, self.classes["AOne"]), } expected_fields_to_many = { Field("a_abstract_many_to_manys", Field.CATEGORIES.TO_MANY, self.classes["AAbstractManyToMany"]), Field("a_many_to_manys", Field.CATEGORIES.TO_MANY, self.classes["AManyToMany"]), } self.assertEqual(set(model_info.fields_own), set(expected_fields_own)) self.assertEqual(set(model_info.fields_to_one), set(expected_fields_to_one)) self.assertEqual(set(model_info.fields_to_many), set(expected_fields_to_many)) expected_auth_user_paths = ["user"] self.assertEqual(model_info.auth_user_paths, expected_auth_user_paths)
def test_model_aabstractone(self): model_info = self.model_inspector.models[self.classes["AAbstractOne"]] expected_fields_own = { Field("id", Field.CATEGORIES.OWN, None), Field("field", Field.CATEGORIES.OWN, None), } expected_fields_to_many = { Field("aa_set", Field.CATEGORIES.TO_MANY, self.classes["AA"]), } self.assertEqual(set(model_info.fields_own), expected_fields_own) self.assertEqual(model_info.fields_to_one, []) self.assertEqual(set(model_info.fields_to_many), expected_fields_to_many) expected_auth_user_paths = ["aa__user"] self.assertEqual(model_info.auth_user_paths, expected_auth_user_paths)
def test_model_bmanytomany(self): model_info = self.model_inspector.models[self.classes["BManyToMany"]] expected_fields_own = { Field("id", Field.CATEGORIES.OWN, None), Field("field", Field.CATEGORIES.OWN, None), } expected_fields_to_one = set({}) expected_fields_to_many = { Field("bs", Field.CATEGORIES.TO_MANY, self.classes["B"]), } self.assertEqual(set(model_info.fields_own), expected_fields_own) self.assertEqual(set(model_info.fields_to_one), expected_fields_to_one) self.assertEqual(set(model_info.fields_to_many), expected_fields_to_many) expected_auth_user_paths = ["b__user"] self.assertEqual(model_info.auth_user_paths, expected_auth_user_paths)