2013-06-20 00:23:15 -05:00
|
|
|
|
|
|
|
from mock import Mock
|
|
|
|
from pyramid import testing
|
|
|
|
|
2013-07-22 21:22:18 -05:00
|
|
|
from .. import TestCase, mock_query
|
2013-06-20 00:23:15 -05:00
|
|
|
from rattail.pyramid.views import departments
|
|
|
|
|
|
|
|
|
|
|
|
class DepartmentsGridTests(TestCase):
|
|
|
|
|
|
|
|
def view(self, **kwargs):
|
|
|
|
request = testing.DummyRequest(**kwargs)
|
|
|
|
return departments.DepartmentsGrid(request)
|
|
|
|
|
|
|
|
def test_filter_map(self):
|
|
|
|
view = self.view()
|
|
|
|
view.make_filter_map = Mock(return_value='gotcha')
|
|
|
|
self.assertEqual(view.filter_map(), 'gotcha')
|
|
|
|
view.make_filter_map.assert_called_with(ilike=['name'])
|
|
|
|
|
|
|
|
def test_filter_config(self):
|
|
|
|
view = self.view()
|
|
|
|
view.make_filter_config = Mock(return_value='yep')
|
|
|
|
self.assertEqual(view.filter_config(), 'yep')
|
|
|
|
view.make_filter_config.assert_called_with(
|
|
|
|
include_filter_name=True, filter_type_name='lk')
|
|
|
|
|
|
|
|
def test_sort_map(self):
|
|
|
|
view = self.view()
|
|
|
|
view.make_sort_map = Mock(return_value='really')
|
|
|
|
self.assertEqual(view.sort_map(), 'really')
|
|
|
|
view.make_sort_map.assert_called_with('number', 'name')
|
|
|
|
|
|
|
|
def test_grid_allowed(self):
|
|
|
|
view = self.view()
|
|
|
|
view.request.has_perm = Mock(return_value=True)
|
|
|
|
view.make_grid = Mock()
|
|
|
|
g = view.grid()
|
2013-07-22 23:32:54 -05:00
|
|
|
self.assertTrue(g.viewable)
|
|
|
|
self.assertEqual(g.view_route_name, 'department.read')
|
2013-06-20 00:23:15 -05:00
|
|
|
self.assertTrue(g.editable)
|
|
|
|
self.assertEqual(g.edit_route_name, 'department.update')
|
|
|
|
self.assertTrue(g.deletable)
|
|
|
|
self.assertEqual(g.delete_route_name, 'department.delete')
|
|
|
|
|
|
|
|
def test_grid_restricted(self):
|
|
|
|
view = self.view()
|
|
|
|
view.request.has_perm = Mock(return_value=False)
|
|
|
|
grid = Mock(
|
2013-07-22 23:32:54 -05:00
|
|
|
viewable=False, view_route_name=None,
|
2013-06-20 00:23:15 -05:00
|
|
|
editable=False, edit_route_name=None,
|
|
|
|
deletable=False, delete_route_name=None)
|
|
|
|
view.make_grid = Mock(return_value=grid)
|
|
|
|
g = view.grid()
|
2013-07-22 23:32:54 -05:00
|
|
|
self.assertFalse(g.viewable)
|
|
|
|
self.assertEqual(g.view_route_name, None)
|
2013-06-20 00:23:15 -05:00
|
|
|
self.assertFalse(g.editable)
|
|
|
|
self.assertEqual(g.edit_route_name, None)
|
|
|
|
self.assertFalse(g.deletable)
|
|
|
|
self.assertEqual(g.delete_route_name, None)
|
|
|
|
|
|
|
|
|
|
|
|
class DepartmentCrudTests(TestCase):
|
|
|
|
|
|
|
|
def view(self, **kwargs):
|
|
|
|
request = testing.DummyRequest(**kwargs)
|
|
|
|
return departments.DepartmentCrud(request)
|
|
|
|
|
|
|
|
def test_fieldset(self):
|
|
|
|
view = self.view()
|
|
|
|
fieldset = Mock()
|
|
|
|
view.make_fieldset = Mock(return_value=fieldset)
|
|
|
|
fs = view.fieldset(Mock())
|
|
|
|
self.assertIs(fs, fieldset)
|
|
|
|
|
|
|
|
|
|
|
|
class DepartmentsByVendorGridTests(TestCase):
|
|
|
|
|
|
|
|
def view(self, **kwargs):
|
|
|
|
request = testing.DummyRequest(**kwargs)
|
|
|
|
return departments.DepartmentsByVendorGrid(request)
|
|
|
|
|
|
|
|
def test_query(self):
|
|
|
|
query = mock_query()
|
|
|
|
view = self.view(params={'uuid': '1'})
|
|
|
|
view.make_query = Mock(return_value=query)
|
|
|
|
self.assertIs(view.query(), query)
|
|
|
|
|
|
|
|
def test_grid(self):
|
|
|
|
view = self.view()
|
|
|
|
grid = Mock()
|
|
|
|
view.make_grid = Mock(return_value=grid)
|
|
|
|
self.assertIs(view.grid(), grid)
|