File diff 6fe5a626d13d → 632e4747042f
conntrackt/tests/test_tags.py
Show inline comments
 
@@ -247,3 +247,75 @@ class CurrentUrlEqualsTest(TestCase):
 
        context = Context({'request': request})
 

	
 
        self.assertEqual(current_url_equals(context, 'project', pk=1), True)
 

	
 

	
 
class ActiveLinkTest(TestCase):
 

	
 
    def get_context_for_view(self, view, *args, **kwargs):
 
        """
 
        Returns a Context instance where the request path has been
 
        constructed using the passed-in view (or view name), and view
 
        positional/keyword arguments.
 

	
 
        Arguments:
 

	
 
          view
 
            View function or name for request object.
 

	
 
          args
 
            Positional arguments to pass into the view.
 

	
 
          kwargs
 
            Keyword arguments to pass into the view.
 

	
 
        Returns:
 

	
 
          django.template.Context instance with request.
 
        """
 
        request = create_get_request(reverse(view, args=args, kwargs=kwargs))
 
        context = Context({'request': request})
 

	
 
        return context
 

	
 
    def test_empty_string_returned_on_view_without_arguments_and_no_match(self):
 

	
 
        context = self.get_context_for_view('index')
 

	
 
        self.assertEqual(active_link(context, 'project_create'), '')
 

	
 
    def test_default_value_returned_on_view_without_arguments_and_match(self):
 

	
 
        context = self.get_context_for_view('index')
 

	
 
        self.assertEqual(active_link(context, 'index'), 'active')
 

	
 
    def test_empty_string_returned_on_view_with_positional_arguments_and_no_match(self):
 

	
 
        context = self.get_context_for_view('project', 1)
 

	
 
        self.assertEqual(active_link(context, 'project', 'active', 2), '')
 

	
 
    def test_value_returned_on_view_with_positional_arguments_and_match(self):
 

	
 
        context = self.get_context_for_view('project', 1)
 

	
 
        self.assertEqual(active_link(context, 'project', 'active', 1), 'active')
 

	
 
    def test_empty_string_returned_on_view_with_keyword_arguments_and_no_match(self):
 

	
 
        context = self.get_context_for_view('project', 1)
 

	
 
        self.assertEqual(active_link(context, 'project', pk=2), '')
 

	
 
    def test_default_value_returned_on_view_with_keyword_arguments_and_match(self):
 

	
 
        context = self.get_context_for_view('project', 1)
 

	
 
        self.assertEqual(active_link(context, 'project', pk=1), 'active')
 

	
 
    def test_provided_value_returned_on_view_with_matching_url(self):
 

	
 
        context = self.get_context_for_view('project', 1)
 

	
 
        self.assertEqual(active_link(context, 'project', 'myvalue', 1), 'myvalue')
 
        self.assertEqual(active_link(context, 'project', 'myvalue', pk=1), 'myvalue')