def test_render_list_titles(self): role1 = mock.MagicMock() role1.id = 1 role1.title = 'Role One' role2 = mock.MagicMock() role2.id = 2 role2.title = 'Role Two' cradmin_instance = self.__mock_cradmin_instance(roles=[role1, role2]) cradmin_instance_registry = mock.MagicMock() cradmin_instance_registry.get_current_instance.return_value = cradmin_instance with mock.patch( 'cradmin_legacy.views.roleselect.cradmin_instance_registry', cradmin_instance_registry): with mock.patch( 'cradmin_legacy.templatetags.cradmin_legacy_tags.cradmin_instance_registry', cradmin_instance_registry): request = self.factory.get('/roleselecttest') response = RoleSelectView.as_view()(request) self.assertEqual(response.status_code, 200) response.render() selector = htmls.S(response.content) self.assertEqual( selector.count('.cradmin-legacy-roleselect-role-title'), 2) titletextlist = [ element.alltext_normalized for element in selector.list( '.cradmin-legacy-roleselect-role-title') ] self.assertEqual(titletextlist, ['Role One', 'Role Two'])
def test_render_no_pagination(self): class CustomRoleSelectView(RoleSelectView): paginate_by = 3 roles = [] for index in range(CustomRoleSelectView.paginate_by): role = mock.MagicMock() role.id = index role.title = 'Role {}'.format(index) roles.append(role) cradmin_instance = self.__mock_cradmin_instance(roles=roles) cradmin_instance_registry = mock.MagicMock() cradmin_instance_registry.get_current_instance.return_value = cradmin_instance with mock.patch( 'cradmin_legacy.views.roleselect.cradmin_instance_registry', cradmin_instance_registry): with mock.patch( 'cradmin_legacy.templatetags.cradmin_legacy_tags.cradmin_instance_registry', cradmin_instance_registry): request = self.factory.get('/roleselecttest') response = CustomRoleSelectView.as_view()(request) self.assertEqual(response.status_code, 200) response.render() selector = htmls.S(response.content) # selector.one('#cradmin_legacy_roleselect').prettyprint() self.assertEqual( selector.count('.cradmin-legacy-roleselect-list li'), 3) self.assertFalse(selector.exists('.pager-container'))
def test_render_pagetitle(self): class CustomRoleSelectView(RoleSelectView): pagetitle = u'Test title' role1 = mock.MagicMock() role1.id = 1 role1.title = 'Role One' role2 = mock.MagicMock() role2.id = 2 role2.title = 'Role Two' cradmin_instance = self.__mock_cradmin_instance(roles=[role1, role2]) cradmin_instance_registry = mock.MagicMock() cradmin_instance_registry.get_current_instance.return_value = cradmin_instance with mock.patch( 'cradmin_legacy.views.roleselect.cradmin_instance_registry', cradmin_instance_registry): with mock.patch( 'cradmin_legacy.templatetags.cradmin_legacy_tags.cradmin_instance_registry', cradmin_instance_registry): request = self.factory.get('/roleselecttest') response = CustomRoleSelectView.as_view()(request) self.assertEqual(response.status_code, 200) response.render() selector = htmls.S(response.content) self.assertEqual( selector.one('h1').alltext_normalized, 'Test title')
def test_render_pagination(self): class CustomRoleSelectView(RoleSelectView): paginate_by = 3 roles = [] for index in range(CustomRoleSelectView.paginate_by + 2): role = mock.MagicMock() role.id = index role.title = 'Role {}'.format(index) roles.append(role) cradmin_instance = self.__mock_cradmin_instance(roles=roles) cradmin_instance_registry = mock.MagicMock() cradmin_instance_registry.get_current_instance.return_value = cradmin_instance with mock.patch( 'cradmin_legacy.views.roleselect.cradmin_instance_registry', cradmin_instance_registry): with mock.patch( 'cradmin_legacy.templatetags.cradmin_legacy_tags.cradmin_instance_registry', cradmin_instance_registry): request_page1 = self.factory.get('/roleselecttest') response_page1 = CustomRoleSelectView.as_view()(request_page1) self.assertEqual(response_page1.status_code, 200) response_page1.render() selector_page1 = htmls.S(response_page1.content) request_page2 = self.factory.get('/roleselecttest', {'page': 2}) response_page2 = CustomRoleSelectView.as_view()(request_page2) self.assertEqual(response_page2.status_code, 200) response_page2.render() selector_page2 = htmls.S(response_page2.content) self.assertEqual( selector_page1.count('.cradmin-legacy-roleselect-list li'), 3) self.assertEqual( selector_page2.count('.cradmin-legacy-roleselect-list li'), 2) self.assertTrue(selector_page1.exists('.pager-container')) self.assertTrue( selector_page1.exists( '.pager-container li.previous.disabled')) self.assertFalse( selector_page1.exists('.pager-container li.next.disabled')) self.assertTrue(selector_page2.exists('.pager-container')) self.assertFalse( selector_page2.exists( '.pager-container li.previous.disabled')) self.assertTrue( selector_page2.exists('.pager-container li.next.disabled'))
def test_this_month_match(self): testfilter = listfilter.django.single.select.DateTime( slug='mydatetimefield') testfilter.set_values(values=['this_month']) start_of_month = baker.make( 'cradmin_viewhelpers_testapp.FilterTestModel', mydatetimefield=datetimeutils.default_timezone_datetime( 2015, 12, 1)) middle_of_month = baker.make( 'cradmin_viewhelpers_testapp.FilterTestModel', mydatetimefield=datetimeutils.default_timezone_datetime( 2015, 12, 24)) end_of_month = baker.make( 'cradmin_viewhelpers_testapp.FilterTestModel', mydatetimefield=datetimeutils.default_timezone_datetime( 2015, 12, 31, 23)) with mock.patch( 'cradmin_legacy.viewhelpers.listfilter.basefilters.single.abstractselect.timezone.now', lambda: datetimeutils.default_timezone_datetime( 2015, 12, 7, 12, 30)): self.assertEqual( {start_of_month, middle_of_month, end_of_month}, set( testfilter.filter( queryobject=FilterTestModel.objects.all())))
def test_200_on_multiple(self): cradmin_instance = mock.MagicMock() cradmin_instance.get_rolequeryset.return_value.count = mock.MagicMock( return_value=2) cradmin_instance_registry = mock.MagicMock() cradmin_instance_registry.get_current_instance.return_value = cradmin_instance with mock.patch( 'cradmin_legacy.views.roleselect.cradmin_instance_registry', cradmin_instance_registry): request = self.factory.get('/roleselecttest') response = RoleSelectView.as_view()(request) self.assertEqual(response.status_code, 200)
def test_yesterday_nomatch(self): testfilter = listfilter.django.single.select.DateTime( slug='mydatetimefield') testfilter.set_values(values=['yesterday']) baker.make('cradmin_viewhelpers_testapp.FilterTestModel', mydatetimefield=datetimeutils.default_timezone_datetime( 2015, 1, 10)) with mock.patch( 'cradmin_legacy.viewhelpers.listfilter.basefilters.single.abstractselect.timezone.now', lambda: datetimeutils.default_timezone_datetime(2015, 1, 12)): self.assertFalse( testfilter.filter( queryobject=FilterTestModel.objects.all()).exists())
def test_last_seven_days_match(self): testfilter = listfilter.django.single.select.DateTime( slug='mydatetimefield') testfilter.set_values(values=['last_seven_days']) testitem = baker.make( 'cradmin_viewhelpers_testapp.FilterTestModel', mydatetimefield=datetimeutils.default_timezone_datetime( 2015, 1, 3)) with mock.patch( 'cradmin_legacy.viewhelpers.listfilter.basefilters.single.abstractselect.timezone.now', lambda: datetimeutils.default_timezone_datetime( 2015, 1, 10, 12, 30)): self.assertEqual( {testitem}, set( testfilter.filter( queryobject=FilterTestModel.objects.all())))