def test_get_object_returns_logged_in_user(self):
     '''
     Tests the get_object() method which is overridden in ProfileView.
     Function returns currently logged in user
     '''
     request = self.factory.get('/fake/')
     request.user = self.user
     view = ProfileView()
     view = setup_view(view, request)
     obj = view.get_object()
     self.assertEqual(obj, self.user)
 def test_post_request_redirects_to_login_if_user_not_logged_in(self):
     '''
     A POST request will be redirected to login screen if user accesses
     /account_info/profile/ without being logged in.
     '''
     request = self.factory.post('/fake/')
     request.user = ''
     response = ProfileView.as_view()(request)
     self.assertEqual(response.status_code, 302)
     redirect_url = reverse('authentication:login') + '?next=' + '/fake/'
     self.assertEqual(response.url, redirect_url)
Example #3
0
    def test_post_redirects_to_profile_page_if_user_is_logged_in(self):
        request = self.factory.post('/fake/')

        # Django bug with messages. Work around provided here:
        # https://stackoverflow.com/questions/11938164/why-dont-my-django-unittests-know-that-messagemiddleware-is-installed
        setattr(request, 'session', 'session')
        messages = FallbackStorage(request)
        setattr(request, '_messages', messages)

        request.user = self.user
        response = ProfileView.as_view()(request)
        self.assertEqual(response.status_code, 302)
        self.assertEqual(response.url, reverse('account_info:account_profile'))
 def test_view_uses_correct_template(self):
     request = self.factory.get(reverse('account_info:account_profile'))
     request.user = self.user
     response = ProfileView.as_view()(request)
     self.assertTrue('account_info/profile.html' in response.template_name)
 def test_post_redirects_to_profile_page_if_user_is_logged_in(self):
     request = self.factory.post('/fake/')
     request.user = self.user
     response = ProfileView.as_view()(request)
     self.assertEqual(response.status_code, 302)
     self.assertEqual(response.url, reverse('account_info:account_profile'))
 def test_200_response_from_get_request(self):
     request = self.factory.get('/fake/')
     request.user = self.user
     response = ProfileView.as_view()(request)
     self.assertEqual(response.status_code, 200)