def test_allowed_subpage_models(self): # SimplePage does not define any restrictions on subpage types # SimplePage is a valid subpage of SimplePage self.assertIn(SimplePage, SimplePage.allowed_subpage_models()) # BusinessIndex is a valid subpage of SimplePage self.assertIn(BusinessIndex, SimplePage.allowed_subpage_models()) # BusinessSubIndex is not valid, because it explicitly omits SimplePage from parent_page_types self.assertNotIn(BusinessSubIndex, SimplePage.allowed_subpage_models()) # BusinessChild has an empty subpage_types list, so does not allow anything self.assertNotIn(SimplePage, BusinessChild.allowed_subpage_models()) self.assertNotIn(BusinessIndex, BusinessChild.allowed_subpage_models()) self.assertNotIn(BusinessSubIndex, BusinessChild.allowed_subpage_models()) # BusinessSubIndex only allows BusinessChild as subpage type self.assertNotIn(SimplePage, BusinessSubIndex.allowed_subpage_models()) self.assertIn(BusinessChild, BusinessSubIndex.allowed_subpage_models())