def setUp(self): self.action = new_action(UserFactory(), 'acted')
def setUp(self): self.foia = FOIARequestFactory() self.editor = UserFactory() self.creator = self.foia.user
def test_add_viewer(self): """Editors should be able to add viewers to the request.""" new_viewer = UserFactory() self.foia.add_viewer(new_viewer) nose.tools.ok_(self.foia.has_viewer(new_viewer))
def setUp(self): """Set up tests""" UserFactory(username='******')
def setUp(self): self.foia = FOIARequestFactory() UserFactory(username='******')
def test_logged_in_post(self): """Posting valid data while logged in should redirect without creating a new user.""" user = UserFactory() response = http_post_response(self.url, self.view, self.data, user) eq_(response.status_code, 302) User.objects.get(username=self.data['username'])
def test_logged_in_get(self): """Getting the view while logged in should redirect.""" user = UserFactory() response = http_get_response(self.url, self.view, user) eq_(response.status_code, 302)
def setUp(self): self.user = UserFactory() UserFactory(username='******')
def setUp(self): self.user = UserFactory()
class TestAccountFunctional(TestCase): """Functional tests for account""" def setUp(self): self.user = UserFactory() def test_public_views(self): """Test public views while not logged in""" response = http_get_response(reverse('acct-login'), login) eq_(response.status_code, 200, 'Login page should be publicly visible.') # account overview page response = http_get_response(reverse('accounts'), views.AccountsView.as_view()) eq_(response.status_code, 200, 'Top level accounts page should be publicly visible.') # profile page request_factory = RequestFactory() request = request_factory.get(self.user.profile.get_absolute_url()) request = mock_middleware(request) request.user = AnonymousUser() response = views.profile(request, self.user.username) eq_(response.status_code, 200, 'User profiles should be publicly visible.') def test_unallowed_views(self): """Private URLs should redirect logged-out users to the log in page""" # pylint:disable=no-self-use # my profile get, post = http_get_post(reverse('acct-my-profile'), views.profile, {}) eq_(get.status_code, 302, 'My profile link reponds with 302 to logged out user.') eq_(post.status_code, 302, 'POST to my profile link responds with 302.') # settings get, post = http_get_post(reverse('acct-settings'), views.profile_settings, {}) eq_(get.status_code, 302, 'GET /profile responds with 302 to logged out user.') eq_(post.status_code, 302, 'POST /settings reponds with 302 to logged out user.') @patch('stripe.Customer.retrieve') def test_auth_views(self, mock_stripe): """Test private views while logged in""" # pylint: disable=unused-argument response = http_get_response(reverse('acct-my-profile'), views.profile, self.user) eq_(response.status_code, 302, 'Logged in user may view their own profile.') response = http_get_response(reverse('acct-settings'), views.profile_settings, self.user) eq_(response.status_code, 200, 'Logged in user may view their own settings.') @patch('stripe.Customer.retrieve') def test_settings_view(self, mock_stripe): """Test the account settings view""" # pylint: disable=unused-argument profile = self.user.profile profile_data = { 'action': 'profile', 'first_name': 'Allan', 'last_name': 'Lasser', 'twitter': 'allanlasser' } email_data = { 'action': 'email', 'email': '*****@*****.**', 'email_pref': 'hourly' } settings_url = reverse('acct-settings') http_post_response(settings_url, views.profile_settings, profile_data, self.user) http_post_response(settings_url, views.profile_settings, email_data, self.user) self.user.refresh_from_db() profile.refresh_from_db() all_data = {} all_data.update(profile_data) all_data.update(email_data) all_data.pop('action') for key, val in all_data.iteritems(): if key in ['first_name', 'last_name', 'email']: eq_(val, getattr(self.user, key)) else: eq_(val, getattr(profile, key))
def setUp(self): self.user = UserFactory() self.view = views.AccountsView.as_view() self.url = reverse('accounts')
def setUp(self): self.user = UserFactory() text = u'Lorem ipsum dolor sit amet' self.broadcast = Broadcast.objects.create( context=self.user.profile.acct_type, text=text)