Beispiel #1
0
    def test_reverse_path_args(self):
        """
        Helper to return path based on target url by namespace and/or args.
        """
        result = reverse_path_args('ct:ul_teach', '/ct/teach/courses/21/units/33/', ul_id=2)
        self.assertEqual(result, '/ct/teach/courses/21/units/33/lessons/2/')

        unit_lesson_object = Mock()
        unit_lesson_object.pk = 2
        result = reverse_path_args('ct:ul_teach', '/ct/teach/courses/21/units/33/', unitLesson=unit_lesson_object)
        self.assertEqual(result, '/ct/teach/courses/21/units/33/lessons/2/')
Beispiel #2
0
    def test_reverse_path_args(self):
        """
        Helper to return path based on target url by namespace and/or args.
        """
        result = reverse_path_args('ct:ul_teach',
                                   '/ct/teach/courses/21/units/33/',
                                   ul_id=2)
        self.assertEqual(result, '/ct/teach/courses/21/units/33/lessons/2/')

        unit_lesson_object = Mock()
        unit_lesson_object.pk = 2
        result = reverse_path_args('ct:ul_teach',
                                   '/ct/teach/courses/21/units/33/',
                                   unitLesson=unit_lesson_object)
        self.assertEqual(result, '/ct/teach/courses/21/units/33/lessons/2/')
Beispiel #3
0
 def get_path(self, state, request, defaultURL=None, **kwargs):
     """
     Get URL for this page.
     """
     if self.path and self.path.startswith('fsm:fsm_'):  # serve fsm node view
         return reverse(self.path, kwargs=dict(node_id=self.pk))
     try:
         func = self._plugin.get_path
     except AttributeError:  # use self.path with clever reverse()
         if not self.path:  # just use default path
             if defaultURL:
                 return defaultURL
             else:
                 raise ValueError('node has no path, and no defaultURL')
         kwargs.update(state.get_all_state_data())  # pass state data too
         return reverse_path_args(self.path, request.path, **kwargs)
     else:  # use the plugin
         return func(self, state, request, defaultURL=defaultURL, **kwargs)
Beispiel #4
0
 def get_path(self, state, request, defaultURL=None, **kwargs):
     """
     Get URL for this page.
     """
     if self.path and self.path.startswith('fsm:fsm_'):  # serve fsm node view
         return reverse(self.path, kwargs=dict(node_id=self.pk))
     try:
         func = self._plugin.get_path
     except AttributeError:  # use self.path with clever reverse()
         if not self.path:  # just use default path
             if defaultURL:
                 return defaultURL
             else:
                 raise ValueError('node has no path, and no defaultURL')
         kwargs.update(state.get_all_state_data())  # pass state data too
         return reverse_path_args(self.path, request.path, **kwargs)
     else:  # use the plugin
         return func(self, state, request, defaultURL=defaultURL, **kwargs)
Beispiel #5
0
 def test_ul_id(self):
     'test handling of ID kwargs'
     url = ct_util.reverse_path_args(
         'ct:ul_teach', '/ct/teach/courses/21/units/33/', ul_id=2
     )
     self.assertEqual(url, reverse('ct:ul_teach', args=(21, 33, 2)))
Beispiel #6
0
 def test_ul_teach(self):
     'check proper extraction of args from path'
     url = ct_util.reverse_path_args(
         'ct:ul_teach', '/ct/teach/courses/21/units/33/errors/2/'
     )
     self.assertEqual(url, reverse('ct:ul_teach', args=(21, 33, 2)))
Beispiel #7
0
 def test_home(self):
     'test trimming of args not needed for target'
     url = ct_util.reverse_path_args(
         'ct:home', '/ct/teach/courses/21/units/33/errors/2/'
     )
     self.assertEqual(url, reverse('ct:home'))
Beispiel #8
0
 def test_ul_id(self):
     'test handling of ID kwargs'
     url = ct_util.reverse_path_args('ct:ul_teach',
                                     '/ct/teach/courses/21/units/33/',
                                     ul_id=2)
     self.assertEqual(url, reverse('ct:ul_teach', args=(21, 33, 2)))
Beispiel #9
0
 def test_ul_teach(self):
     'check proper extraction of args from path'
     url = ct_util.reverse_path_args(
         'ct:ul_teach', '/ct/teach/courses/21/units/33/errors/2/')
     self.assertEqual(url, reverse('ct:ul_teach', args=(21, 33, 2)))
Beispiel #10
0
 def test_home(self):
     'test trimming of args not needed for target'
     url = ct_util.reverse_path_args(
         'ct:home', '/ct/teach/courses/21/units/33/errors/2/')
     self.assertEqual(url, reverse('ct:home'))