[doc] Short down the `blog running in less ten nimutes` section to remove duplicated content.
"""cubicweb.web.views.navigation unit tests"""fromlogilab.common.testlibimportunittest_main,mock_objectfromcubicweb.devtools.apptestimportEnvBasedTCfromcubicweb.web.views.navigationimportPageNavigation,SortedNavigationfromcubicweb.web.views.ibreadcrumbsimportBreadCrumbEntityVComponentBreadCrumbEntityVComponent.visible=TrueclassNavigationTC(EnvBasedTC):deftest_navigation_selection(self):rset=self.execute('Any X,N WHERE X name N')req=self.request()navcomp=self.vreg.select_component('navigation',req,rset)self.assertIsInstance(navcomp,PageNavigation)req.set_search_state('W:X:Y:Z')navcomp=self.vreg.select_component('navigation',req,rset)self.assertIsInstance(navcomp,PageNavigation)req.set_search_state('normal')rset=self.execute('Any X,N ORDERBY N WHERE X name N')navcomp=self.vreg.select_component('navigation',req,rset)self.assertIsInstance(navcomp,SortedNavigation)req.set_search_state('W:X:Y:Z')navcomp=self.vreg.select_component('navigation',req,rset)self.assertIsInstance(navcomp,SortedNavigation)req.set_search_state('normal')rset=self.execute('Any X,N LIMIT 10 WHERE X name N')navcomp=self.vreg.select_component('navigation',req,rset)self.assertEquals(navcomp,None)req.set_search_state('W:X:Y:Z')navcomp=self.vreg.select_component('navigation',req,rset)self.assertEquals(navcomp,None)req.set_search_state('normal')rset=self.execute('Any N, COUNT(RDEF) GROUPBY N ORDERBY N WHERE RDEF relation_type RT, RT name N')navcomp=self.vreg.select_component('navigation',req,rset)self.assertIsInstance(navcomp,SortedNavigation)req.set_search_state('W:X:Y:Z')navcomp=self.vreg.select_component('navigation',req,rset)self.assertIsInstance(navcomp,SortedNavigation)deftest_sorted_navigation(self):rset=self.execute('Any X,N ORDERBY N WHERE X name N')req=self.request()req.set_search_state('W:X:Y:Z')navcomp=self.vreg.select_component('navigation',rset.req,rset)html=navcomp.dispatch()rset=self.execute('Any RDEF ORDERBY RT WHERE RDEF relation_type RT')navcomp=self.vreg.select_component('navigation',req,rset)html=navcomp.dispatch()rset=self.execute('Any RDEF ORDERBY RDEF WHERE RDEF relation_type RT')navcomp=self.vreg.select_component('navigation',req,rset)html=navcomp.dispatch()rset=self.execute('EFRDef RDEF ORDERBY RDEF')navcomp=self.vreg.select_component('navigation',req,rset)html=navcomp.dispatch()rset=self.execute('Any RDEF ORDERBY N WHERE RDEF relation_type RT, RT name N')navcomp=self.vreg.select_component('navigation',req,rset)html=navcomp.dispatch()rset=self.execute('Any N, COUNT(RDEF) GROUPBY N ORDERBY N WHERE RDEF relation_type RT, RT name N')navcomp=self.vreg.select_component('navigation',rset.req,rset)html=navcomp.dispatch()classContentNavigationTC(EnvBasedTC):deftest_component_context(self):view=mock_object(is_primary=lambdax:True)rset=self.execute('EUser X LIMIT 1')req=self.request()objs=self.vreg.possible_vobjects('contentnavigation',req,rset,view=view,context='navtop')# breadcrumbs should be in headers by defaultclsids=set(obj.idforobjinobjs)self.failUnless('breadcrumbs'inclsids)objs=self.vreg.possible_vobjects('contentnavigation',req,rset,view=view,context='navbottom')# breadcrumbs should _NOT_ be in footers by defaultclsids=set(obj.idforobjinobjs)self.failIf('breadcrumbs'inclsids)self.execute('INSERT EProperty P: P pkey "contentnavigation.breadcrumbs.context", ''P value "navbottom"')# breadcrumbs should now be in footersreq.cnx.commit()objs=self.vreg.possible_vobjects('contentnavigation',req,rset,view=view,context='navbottom')clsids=[obj.idforobjinobjs]self.failUnless('breadcrumbs'inclsids)objs=self.vreg.possible_vobjects('contentnavigation',req,rset,view=view,context='navtop')clsids=[obj.idforobjinobjs]self.failIf('breadcrumbs'inclsids)if__name__=='__main__':unittest_main()