def test_set_homepage(self): menu = Menu(id=1, parent=None, weight=1) self.session.add(menu) page_1 = Page(id=2, parent=menu, weight=1, home=True) self.session.add(page_1) page_2 = Page(id=3, parent=menu, weight=2) self.session.add(page_2) page_3 = Page(id=4, parent=menu, weight=3) self.session.add(page_3) page_4 = Page(id=5, parent=menu, weight=4) self.session.add(page_4) self.assertEqual(page_1, Page.get_homepage(self.session)) Page.set_homepage(self.session, page_2) self.assertEqual(page_2, Page.get_homepage(self.session))
def test_get_homepage(self): menu = Menu(id=1, parent=None, weight=1) self.session.add(menu) page_1 = Page(id=2, parent=menu, weight=1, home=True) self.session.add(page_1) page_2 = Page(id=3, parent=menu, weight=2) self.session.add(page_2) page_3 = Page(id=4, parent=menu, weight=3) self.session.add(page_3) page_4 = Page(id=5, parent=menu, weight=4) self.session.add(page_4) self.assertEqual(page_1, Page.get_homepage(self.session)) page_2.home = True with self.assertRaises(MultipleResultsFound): Page.get_homepage(self.session) page_1.home = False self.assertEqual(page_2, Page.get_homepage(self.session)) page_2.home = False self.assertEqual(page_1, Page.get_homepage(self.session)) page_1.home = False section = Section(id=6, parent=menu, weight=5) self.session.add(section) page_1.parent = section page_2.parent = section page_3.parent = section page_4.parent = section self.assertIn(Page.get_homepage(self.session), (page_1, page_2, page_3, page_4))
def test_get_translation(self): self.populate(self.session) it = self.session.query(Language).filter(Language.lang == 'it').one() en = self.session.query(Language).filter(Language.lang == 'en').one() es = self.session.query(Language).filter(Language.lang == 'es').one() home = Page.get_homepage(self.session) it_translation = home.get_translation(it) self.assertEqual(it_translation, PageInfo.get_homepage(self.session, it)) en_translation = home.get_translation(en) self.assertEqual(en_translation, PageInfo.get_homepage(self.session, en)) es_translation = home.get_translation(es) self.assertEqual(es_translation, PageInfo.get_homepage(self.session, es))