def __init__(self, extension, page_classes): super(AccountPagesHook, self).__init__(extension) self.page_classes = page_classes for page_class in page_classes: register_account_page_class(page_class)
def test_register_account_page_class_with_duplicate(self): """Testing register_account_page_class with duplicate page.""" class MyPage(AccountPage): page_id = 'test-page' page_title = 'Test Page' register_account_page_class(MyPage) self.assertRaises(KeyError, lambda: register_account_page_class(MyPage))
def test_unregister_account_page_class(self): """Testing unregister_account_page_class.""" class MyPage(AccountPage): page_id = 'test-page' page_title = 'Test Page' register_account_page_class(MyPage) unregister_account_page_class(MyPage) self.assertEqual(set(get_page_classes()), self.builtin_pages)
def test_register_account_page_class_with_duplicate(self): """Testing register_account_page_class with duplicate page.""" class MyPage(AccountPage): page_id = 'test-page' page_title = 'Test Page' register_account_page_class(MyPage) with self.assertRaises(RegistrationError): register_account_page_class(MyPage)
def test_register_account_page_class(self): """Testing register_account_page_class.""" class MyPage(AccountPage): page_id = 'test-page' page_title = 'Test Page' register_account_page_class(MyPage) page_classes = list(get_page_classes()) self.assertEqual(len(page_classes), len(self.builtin_pages) + 1) self.assertEqual(page_classes[-1], MyPage)
def test_remove_unknown_form_from_page(self): """Testing AccountPage.remove_form with unknown form.""" class MyForm(AccountPageForm): form_id = 'test-form' class MyPage(AccountPage): page_id = 'test-page' page_title = 'Test Page' register_account_page_class(MyPage) self.assertRaises(KeyError, lambda: MyPage.remove_form(MyForm))
def test_unregister_account_page_class(self): """Testing unregister_account_page_class""" class MyPage(AccountPage): page_id = 'test-page' page_title = 'Test Page' register_account_page_class(MyPage) unregister_account_page_class(MyPage) page_classes = list(get_page_classes()) self.assertEqual(len(page_classes), 4)
def test_register_account_page_class(self): """Testing register_account_page_class""" class MyPage(AccountPage): page_id = "test-page" page_title = "Test Page" register_account_page_class(MyPage) page_classes = list(get_page_classes()) self.assertEqual(len(page_classes), 5) self.assertEqual(page_classes[-1], MyPage)
def test_add_form_to_page(self): """Testing AccountPage.add_form.""" class MyPage(AccountPage): page_id = 'test-page' page_title = 'Test Page' class MyForm(AccountPageForm): form_id = 'test-form' register_account_page_class(MyPage) MyPage.add_form(MyForm) self.assertEqual(MyPage.form_classes, [MyForm])
def test_add_duplicate_form_to_page(self): """Testing AccountPage.add_form with duplicate form ID.""" class MyForm(AccountPageForm): form_id = 'test-form' class MyPage(AccountPage): page_id = 'test-page' page_title = 'Test Page' form_classes = [MyForm] register_account_page_class(MyPage) self.assertRaises(KeyError, lambda: MyPage.add_form(MyForm)) self.assertEqual(MyPage.form_classes, [MyForm])
def test_remove_form_from_page(self): """Testing AccountPage.remove_form.""" class MyForm(AccountPageForm): form_id = 'test-form' class MyPage(AccountPage): page_id = 'test-page' page_title = 'Test Page' form_classes = [MyForm] register_account_page_class(MyPage) MyPage.remove_form(MyForm) self.assertEqual(MyPage.form_classes, [])
def test_default_form_classes_for_page(self): """Testing AccountPage._default_form_classes persistence""" class MyForm(AccountPageForm): form_id = 'test-form' class MyPage(AccountPage): page_id = 'test-page' page_title = 'Test Page' form_classes = [MyForm] register_account_page_class(MyPage) self.assertEqual(MyPage.form_classes, [MyForm]) unregister_account_page_class(MyPage) self.assertEqual(MyPage.form_classes, []) register_account_page_class(MyPage) self.assertEqual(MyPage.form_classes, [MyForm])
def test_empty_default_form_classes_for_page(self): """Testing AccountPage._default_form_classes with no form_classes""" class MyPage(AccountPage): page_id = 'test-page' page_title = 'Test Page' class MyForm(AccountPageForm): form_id = 'test-form' register_account_page_class(MyPage) self.assertEqual(MyPage.form_classes, []) MyPage.add_form(MyForm) self.assertEqual(MyPage.form_classes, [MyForm]) unregister_account_page_class(MyPage) self.assertEqual(MyPage.form_classes, []) register_account_page_class(MyPage) self.assertEqual(MyPage.form_classes, [])