def testNavigationOrderMoveOverExisting(self): NavigationOrder(route='a', order=0).save() n = NavigationOrder(route='b', order=1) n.save() n.move(0) eq_(NavigationOrder.objects(order=0).first().route, 'b') eq_(NavigationOrder.objects(order=1).first().route, 'a')
def testNavigationOrderPopulate(self): Content(route='athing', show_in_navigation=True).save() Content(route='bthing', show_in_navigation=True).save() Content(route='notathing').save() ContentNavigationOrder.populate_from_content() eq_(NavigationOrder.objects(order=0).first().route, 'athing') eq_(NavigationOrder.objects(order=1).first().route, 'bthing') eq_(NavigationOrder.objects(order=2).first(), None)
def navigation_move(route, order, **kwargs): if Content.objects(route=route).first() is None: raise InvalidCommand("route '{0}' does not exist in content collection".format(route)) if Content.objects(route=route, show_in_navigation=True).first() is None: raise InvalidCommand("route '{0}' is not visible in navigation".format(route)) nav_order = NavigationOrder.objects(route=route).first() if nav_order is None: # This probably shouldn't happen. nav_order = NavigationOrder.add(route=route) nav_order.move(order)
def load_from_file(route, title, short_description, content_filename, show_in_navigation, **kwargs): content = Content() content.route = route content.title = title content.short_description = short_description content.show_in_navigation = show_in_navigation if show_in_navigation and (NavigationOrder.objects(route=route).first() is None): NavigationOrder.add(route=route) with open(content_filename) as content_file: content.content = '\n'.join(content_file.readlines()) content.save()
def test_no_nav_order(self): Content(route='a', show_in_navigation=True).save() navigation_move('a', 1) eq_(NavigationOrder.objects(route='a').first().order, 1)
def testAddToEmpty(self): NavigationOrder.add('a') eq_(NavigationOrder.objects(route='a').first().order, 0)
def testAdd(self): NavigationOrder(route='a', order=10).save() NavigationOrder.add('b') eq_(NavigationOrder.objects(route='b').first().order, 11)
def testMoveOverSelf(self): n = NavigationOrder(route='a', order=0) n.save() n.move(0) eq_(NavigationOrder.objects(order=0).first().route, 'a')