示例#1
0
 def test_get_queryset_sort_desc(self):
     """Test get_queryset with sort desc."""
     mixin = SortableListMixin()
     mixin.model = FakeModel
     mixin.request = self.request_factory.get('/?sort=desc')
     response = mixin.get_queryset()
     self.assertEqual(response.query.order_by, ['-pk'])
示例#2
0
 def test_get_query_string(self):
     """Test get_query_string."""
     mixin = SortableListMixin()
     mixin.request = self.request_factory.get(
         '?cow=moo&order_by=thing&sort=asc&coffee=needed')
     result = mixin.get_query_string()
     self.assertEqual(result, 'coffee=needed&cow=moo')
 def test_get_query_string(self):
     """Test get_query_string."""
     mixin = SortableListMixin()
     mixin.request = self.request_factory.get(
         '?cow=moo&order_by=thing&sort=asc&coffee=needed')
     result = mixin.get_query_string()
     self.assertEqual(result, 'coffee=needed&cow=moo')
 def test_get_queryset_sort_desc(self):
     """Test get_queryset with sort desc."""
     mixin = SortableListMixin()
     mixin.model = FakeModel
     mixin.request = self.request_factory.get('/?sort=desc')
     response = mixin.get_queryset()
     self.assertEqual(response.query.order_by, ['-pk'])
 def test_get_queryset_order_by_valid(self):
     """Test get_queryset with a valid order_by value."""
     mixin = SortableListMixin()
     mixin.model = FakeModel
     mixin.valid_order_by = ['cookies']
     mixin.request = self.request_factory.get('/?order_by=cookies')
     response = mixin.get_queryset()
     self.assertEqual(response.query.order_by, ['cookies'])
 def test_get_queryset_sort_not_valid(self):
     """Test get_queryset with an invalid sort option."""
     mixin = SortableListMixin()
     mixin.model = FakeModel
     mixin.default_sort = 'asc'
     mixin.request = self.request_factory.get('/?sort=blah')
     response = mixin.get_queryset()
     self.assertEqual(response.query.order_by, ['pk'])
示例#7
0
 def test_get_context_data(self):
     """Test get_context_data."""
     mixin = SortableListMixin()
     mixin.request = self.request_factory.get('/?order_by=coffee&me=hungry')
     mixin.valid_order_by = ['coffee']
     result = mixin.get_context_data(object_list=[])
     self.assertEqual(result['query_string'], 'me=hungry')
     self.assertEqual(result['sort_strings'],
                      {'coffee': '?order_by=coffee&sort=desc&me=hungry'})
 def test_get_context_data(self):
     """Test get_context_data."""
     mixin = SortableListMixin()
     mixin.request = self.request_factory.get('/?order_by=coffee&me=hungry')
     mixin.valid_order_by = ['coffee']
     result = mixin.get_context_data(object_list=[])
     self.assertEqual(result['query_string'], 'me=hungry')
     self.assertEqual(result['sort_strings'], {
         'coffee': '?order_by=coffee&sort=desc&me=hungry'})
示例#9
0
 def test_get_sort_strings_existing_order_by_sort_is_inverted(self):
     """Test that order_by field has an inverted sort in sort strings."""
     mixin = SortableListMixin()
     mixin.request = self.request_factory.get('/?order_by=coffee')
     mixin.valid_order_by = ['coffee', 'cow']
     result = mixin.get_sort_strings('coffee=needed&me=hungry')
     self.assertEqual(
         result, {
             'coffee': '?order_by=coffee&sort=desc&coffee=needed&me=hungry',
             'cow': '?order_by=cow&sort=asc&coffee=needed&me=hungry'
         })
示例#10
0
 def test_get_sort_strings(self):
     """Test get_sort_strings."""
     mixin = SortableListMixin()
     mixin.request = self.request_factory.get('/')
     mixin.valid_order_by = ['coffee', 'cow']
     result = mixin.get_sort_strings('coffee=needed&me=hungry')
     self.assertEqual(
         result, {
             'coffee': '?order_by=coffee&sort=asc&coffee=needed&me=hungry',
             'cow': '?order_by=cow&sort=asc&coffee=needed&me=hungry'
         })
 def test_get_sort_strings_existing_order_by_sort_is_inverted(self):
     """Test that order_by field has an inverted sort in sort strings."""
     mixin = SortableListMixin()
     mixin.request = self.request_factory.get('/?order_by=coffee')
     mixin.valid_order_by = ['coffee', 'cow']
     result = mixin.get_sort_strings('coffee=needed&me=hungry')
     self.assertEqual(
         result,
         {'coffee': '?order_by=coffee&sort=desc&coffee=needed&me=hungry',
          'cow': '?order_by=cow&sort=asc&coffee=needed&me=hungry'}
     )
 def test_get_sort_strings(self):
     """Test get_sort_strings."""
     mixin = SortableListMixin()
     mixin.request = self.request_factory.get('/')
     mixin.valid_order_by = ['coffee', 'cow']
     result = mixin.get_sort_strings('coffee=needed&me=hungry')
     self.assertEqual(
         result,
         {'coffee': '?order_by=coffee&sort=asc&coffee=needed&me=hungry',
          'cow': '?order_by=cow&sort=asc&coffee=needed&me=hungry'}
     )
示例#13
0
 def test_get_queryset_order_by_invalid(self):
     """Test get_queryset with an invalid order_by value."""
     mixin = SortableListMixin()
     mixin.model = FakeModel
     mixin.valid_order_by = ['cookies']
     mixin.default_order_by = 'cookies'
     mixin.default_sort = 'desc'
     mixin.request = self.request_factory.get('/?order_by=brownies')
     response = mixin.get_queryset()
     self.assertEqual(response.query.order_by, ['-cookies'])
示例#14
0
 def test_get_queryset_sort_not_valid(self):
     """Test get_queryset with an invalid sort option."""
     mixin = SortableListMixin()
     mixin.model = FakeModel
     mixin.default_sort = 'asc'
     mixin.request = self.request_factory.get('/?sort=blah')
     response = mixin.get_queryset()
     self.assertEqual(response.query.order_by, ['pk'])
示例#15
0
 def test_get_context_sort_string_name(self):
     """get_context_sort_string_name() should return 'sort_strings'."""
     mixin = SortableListMixin()
     self.assertEqual(mixin.get_context_sort_string_name(), 'sort_strings')
 def test_get_context_sort_string_name(self):
     """get_context_sort_string_name() should return 'sort_strings'."""
     mixin = SortableListMixin()
     self.assertEqual(mixin.get_context_sort_string_name(), 'sort_strings')