Example #1
0
class CompanyAdminDetailViewTestCase(TestCase):
    def setUp(self):
        self.client = Client()
        self.company = CompanyGenerator().generate()
        self.user = UserGenerator().generate()

    # disable two-factor authentication
    @modify_settings(
        MIDDLEWARE_CLASSES={'remove': ['django_otp.middleware.OTPMiddleware']})
    @mock.patch.object(AdminSiteOTPRequiredMixin,
                       'has_permission',
                       return_value=True)
    def test_view(self, mock_permission):

        self.user.is_superuser = True
        self.user.is_staff = True
        self.user.save()

        self.client.force_login(self.user)

        res = self.client.get(
            reverse('admin:shareholder_company_change',
                    args=[self.company.pk]))

        self.assertEqual(res.status_code, 200)
Example #2
0
    def test_dispatch(self, mock_login, mock_logout, mock_login_required):

        self.mixin.http_method_not_allowed = mock.Mock(side_effect=Exception)

        req = self.factory.get('/')

        with self.assertRaises(Exception):
            self.mixin.dispatch(req)
            self.mixin.http_method_not_allowed.assert_called()
            self.mixin.http_method_not_allowed.reset_mock()

        self.mixin.http_method_names = ['get']
        self.mixin.get = mock.Mock()

        self.mixin.dispatch(req)
        self.mixin.get.assert_called()
        self.mixin.get.reset_mock()

        user = UserGenerator().generate()
        user.is_active = False
        user.save()

        req = self.factory.get('/', data=dict(token=user.auth_token))
        self.mixin.dispatch(req)
        mock_logout.assert_called()
        mock_logout.reset_mock()

        user.is_active = True
        user.save()

        self.mixin.dispatch(req)
        mock_login.assert_called()
        mock_login.reset_mock()

        self.mixin.login_user = False
        self.mixin.dispatch(req)
        mock_login.assert_not_called()

        self.mixin.login_required = True
        self.mixin.dispatch(req)
        mock_login_required.assert_called()