Exemplo n.º 1
0
 def test_different_viewer_returns_public_apps(self, filter_mock):
     owner = utils.get_user_mock()
     viewer = utils.get_user_mock()
     result = views.get_application_list(owner, viewer=viewer)
     filter_mock.assert_called_once_with(
         owner=owner, status=Application.PUBLISHED)
     eq_(list(result), [])
Exemplo n.º 2
0
 def test_request_is_successful(self):
     request = utils.get_request(
         'get', '/org/', user=utils.get_user_mock())
     response = views.organization_list(request)
     eq_(response.status_code, 200)
     eq_(response.template_name, 'organizations/object_list.html')
     eq_(sorted(response.context_data.keys()), ['page'])
Exemplo n.º 3
0
 def test_organization_does_not_exist(self, mock_get):
     mock_get.side_effect = Http404
     request = utils.get_request(
         'get', '/org/foo/edit/', user=utils.get_user_mock())
     assert_raises(Http404, views.organization_edit, request, 'foo')
     mock_get.assert_called_once_with(
         Organization, slug__exact='foo', members=request.user)
Exemplo n.º 4
0
 def test_empty_post_request_fails(self, mock_get):
     mock_profile = Mock(spec=Profile)()
     mock_get.return_value = mock_profile
     request = utils.get_request(
         'post', '/contact/foo/', data={}, user=utils.get_user_mock())
     response = views.contact_user(request, 'foo')
     ok_(response.context_data['form'].errors)
Exemplo n.º 5
0
 def test_get_request_is_successful(self):
     request = utils.get_request(
         'get', '/resource/add/', user=utils.get_user_mock())
     response = views.resource_add(request)
     eq_(response.status_code, 200)
     eq_(response.template_name, 'resources/object_add.html')
     eq_(sorted(response.context_data.keys()), ['form'])
Exemplo n.º 6
0
 def test_owner_returns_all_available_objects(
         self, owned_mock, membership_mock):
     contact = utils.get_user_mock()
     result = views.get_hub_list(contact, viewer=contact)
     owned_mock.assert_called_once_with(contact, viewer=contact)
     membership_mock.assert_called_once_with(contact, viewer=contact)
     eq_(result, [])
Exemplo n.º 7
0
 def test_anon_user_returns_public_objects(self, filter_mock):
     contact = utils.get_user_mock()
     viewer = utils.get_anon_mock()
     result = views.get_resource_list(contact, viewer=viewer)
     filter_mock.assert_called_once_with(
         contact=contact, status=Resource.PUBLISHED)
     eq_(list(result), [])
Exemplo n.º 8
0
 def test_non_existing_app_raises_404(self, get_mock):
     get_mock.side_effect = Http404
     request = self.factory.get('/app/b/membership/')
     request.user = utils.get_user_mock()
     assert_raises(Http404, views.app_membership, request, 'b')
     get_mock.assert_called_once_with(
         Application.active, slug__exact='b')
Exemplo n.º 9
0
 def test_get_request_is_successful(self):
     request = self.factory.get('/app/add/')
     request.user = utils.get_user_mock()
     response = views.app_add(request)
     eq_(response.status_code, 200)
     eq_(sorted(response.context_data.keys()), ['form'])
     eq_(response.template_name, 'apps/object_add.html')
Exemplo n.º 10
0
 def test_challenge_does_not_exist(self, mock_get):
     mock_get.side_effect = [Mock(spec=Application), Http404]
     request = utils.get_request(
         'get', '/challenges/foo/enter/abc/', user=utils.get_user_mock())
     assert_raises(Http404, views.challenge_entry, request, 'foo', 'abc')
     mock_get.assert_any_call(
         Challenge, slug__exact='foo', status=Challenge.PUBLISHED)
Exemplo n.º 11
0
 def test_empty_post_request_fails(self, save_mock):
     request = self.factory.post('/app/add/', {})
     request.user = utils.get_user_mock()
     response = views.app_add(request)
     eq_(response.status_code, 200)
     ok_(response.context_data['form'].errors)
     eq_(save_mock.call_count, 0)
Exemplo n.º 12
0
 def test_awards_are_returned(self, mock_related):
     mock_related.return_value.filter.return_value = []
     user = utils.get_user_mock()
     result = views.get_award_list(user)
     eq_(result, [])
     mock_related.assert_called_once_with('award')
     mock_related.return_value.filter.assert_called_once_with(user=user)
Exemplo n.º 13
0
 def test_anon_user_returns_public_objects(self, owned_mock, membership_mock):
     contact = utils.get_user_mock()
     viewer = utils.get_anon_mock()
     result = views.get_hub_list(contact, viewer=viewer)
     owned_mock.assert_called_once_with(contact, viewer=viewer)
     membership_mock.assert_called_once_with(contact, viewer=viewer)
     eq_(result, [])
Exemplo n.º 14
0
 def test_owner_returns_all_available_objects(self, related_mock):
     filter_mock = Mock()
     filter_mock.filter.return_value = HubMembership.objects.none()
     related_mock.return_value = filter_mock
     user = utils.get_user_mock()
     result = views.get_hub_membership_list(user, viewer=user)
     related_mock.assert_called_once_with('hub')
     filter_mock.filter.assert_called_once_with(user=user)
Exemplo n.º 15
0
 def test_get_request_is_successful(self, mock_filter):
     request = utils.get_request(
         'get', '/hub/apply/', user=utils.get_user_mock())
     response = views.hub_application(request)
     eq_(response.status_code, 200)
     eq_(sorted(response.context_data.keys()), ['form', 'object_list'])
     eq_(response.template_name, 'hubs/object_application.html')
     mock_filter.assert_called_once()
Exemplo n.º 16
0
 def test_empty_submission_fails(self, *args):
     request = utils.get_request(
         'post', '/hub/apply/', data={}, user=utils.get_user_mock())
     response = views.hub_application(request)
     eq_(response.status_code, 200)
     eq_(sorted(response.context_data.keys()), ['form', 'object_list'])
     eq_(response.template_name, 'hubs/object_application.html')
     ok_(response.context_data['form'].errors)
Exemplo n.º 17
0
 def test_get_request_is_successful(self, app_mock):
     request = self.factory.get('/profile/delete/')
     request.user = utils.get_user_mock()
     response = views.user_profile_delete(request)
     app_mock.assert_called_once_with(owner=request.user)
     eq_(response.template_name, 'profile/user_profile_delete.html')
     eq_(sorted(response.context_data.keys()),
         sorted(['application_list', 'event_list', 'resource_list']))
Exemplo n.º 18
0
 def test_application_does_not_exist(self, mock_get):
     mock_get.side_effect = Http404
     request = utils.get_request(
         'get', '/challenge/foo/enter/abc/', user=utils.get_user_mock())
     assert_raises(Http404, views.challenge_entry, request, 'foo', 'abc')
     mock_get.assert_called_once_with(
         Application, slug__exact='abc', owner=request.user,
         status=Application.PUBLISHED)
Exemplo n.º 19
0
 def test_owner_returns_all_available_objects(self, related_mock):
     filter_mock = Mock()
     filter_mock.filter.return_value = OrganizationMember.objects.none()
     related_mock.return_value = filter_mock
     user = utils.get_user_mock()
     result = views.get_organization_list(user, viewer=user)
     related_mock.assert_called_once_with('organization')
     filter_mock.filter.assert_called_once_with(user=user)
Exemplo n.º 20
0
 def test_not_published_entry_raises_404(self, mock_related):
     mock_related = mock_related.return_value
     mock_entry = Mock(spec=Entry)()
     mock_entry.is_visible_by.return_value = False
     mock_related.get.return_value = mock_entry
     request = utils.get_request(
         'get', '/challenges/gigabit/app/', user=utils.get_user_mock())
     assert_raises(Http404, views.entry_detail, request, 'gigabit', 'app')
     mock_entry.is_visible_by.assert_called_once_with(request.user)
Exemplo n.º 21
0
 def test_get_request_is_valid(self, mock_get):
     mock_profile = Mock(spec=Profile)()
     mock_get.return_value = mock_profile
     request = utils.get_request(
         'get', '/contact/foo/', user=utils.get_user_mock())
     response = views.contact_user(request, 'foo')
     eq_(response.status_code, 200)
     eq_(response.template_name, 'relay/contact_user.html')
     eq_(sorted(response.context_data), ['form', 'object'])
Exemplo n.º 22
0
 def test_resource_requires_ownership(self, mock_get):
     mock_instance = Mock(spec=Resource)
     mock_instance.is_editable_by.return_value = False
     mock_get.return_value = mock_instance
     request = utils.get_request(
         'get', '/resource/foo/edit/', user=utils.get_user_mock())
     assert_raises(Http404, views.resource_edit, request, 'foo')
     mock_get.assert_called_once_with(Resource, slug__exact='foo')
     mock_instance.is_editable_by.assert_called_once_with(request.user)
Exemplo n.º 23
0
 def test_non_member_raises_404(self, mock_get):
     app_mock = Mock(spec=Application)
     app_mock.name = 'Gigabit'
     app_mock.has_member.return_value = False
     mock_get.return_value = app_mock
     request = self.factory.get('/app/blue/export')
     request.user = utils.get_user_mock()
     assert_raises(Http404, views.app_export, request, 'blue')
     mock_get.assert_called_once_with(Application.active, slug__exact='blue')
     app_mock.has_member.assert_called_once_with(request.user)
Exemplo n.º 24
0
 def test_closed_challenge_redirects_to_detail_page(self, mock_get):
     app_mock = Mock(spec=Application)
     challenge_mock = Mock(spec=Challenge)
     challenge_mock.is_open.return_value = False
     mock_get.side_effect = [app_mock, challenge_mock]
     request = utils.get_request(
         'get', '/challenges/foo/enter/abc/', user=utils.get_user_mock())
     response = views.challenge_entry(request, 'foo', 'abc')
     eq_(response.status_code, 302)
     eq_(response['Location'], '/challenges/foo/abc/')
Exemplo n.º 25
0
 def test_anon_user_returns_public_objects(self, related_mock):
     filter_mock = Mock()
     filter_mock.filter.return_value = OrganizationMember.objects.none()
     related_mock.return_value = filter_mock
     user = utils.get_user_mock()
     viewer = utils.get_anon_mock()
     result = views.get_organization_list(user, viewer=viewer)
     related_mock.assert_called_once_with('organization')
     filter_mock.filter.assert_called_once_with(
         user=user, organization__status=Organization.PUBLISHED)
Exemplo n.º 26
0
 def test_anon_user_returns_public_objects(self, related_mock):
     filter_mock = Mock()
     filter_mock.filter.return_value = HubMembership.objects.none()
     related_mock.return_value = filter_mock
     user = utils.get_user_mock()
     viewer = utils.get_anon_mock()
     result = views.get_hub_membership_list(user, viewer=viewer)
     related_mock.assert_called_once_with('hub')
     filter_mock.filter.assert_called_once_with(
         user=user, hub__status=Hub.PUBLISHED)
Exemplo n.º 27
0
 def test_removal_request_is_successful(self, logout_mock, app_mock):
     app_mock.return_value = []
     request = self.factory.post('/profile/delete/')
     request.user = utils.get_user_mock()
     request._messages = utils.TestMessagesBackend(request)
     response = views.user_profile_delete(request)
     app_mock.assert_called_once_with(owner=request.user)
     request.user.delete.assert_called_once()
     logout_mock.assert_called_once_with(request)
     eq_(response.status_code, 302)
     eq_(response['Location'], '/')
Exemplo n.º 28
0
 def test_entry_is_visible_when_challenge_finishes(self, mock_related):
     mock_related = mock_related.return_value
     mock_entry = Mock(spec=Entry)()
     mock_entry.is_visible_by.return_value = True
     mock_entry.challenge.has_finished.return_value = True
     mock_related.get.return_value = mock_entry
     request = utils.get_request(
         'get', '/challenges/gigabit/app/', user=utils.get_user_mock())
     response = views.entry_detail(request, 'gigabit', 'app')
     eq_(response.status_code, 200)
     eq_(response.template_name, 'challenges/entry_detail.html')
     mock_entry.challenge.has_finished.assert_called_once()
Exemplo n.º 29
0
 def test_entry_is_not_visible_to_user_when_hidden(self, mock_related):
     mock_related = mock_related.return_value
     mock_entry = Mock(spec=Entry)()
     mock_entry.is_visible_by.return_value = True
     mock_entry.application.is_owned_by.return_value = False
     mock_entry.challenge.has_finished.return_value = False
     mock_entry.challenge.hide_entries = True
     mock_related.get.return_value = mock_entry
     request = utils.get_request(
         'get', '/challenges/gigabit/app/', user=utils.get_user_mock())
     assert_raises(Http404, views.entry_detail, request, 'gigabit', 'app')
     mock_entry.challenge.has_finished.assert_called_once()
Exemplo n.º 30
0
 def test_simple_post_request_succeeds(self, save_m2m_mock, save_mock):
     request = self.factory.post('/app/add/', _get_message_payload())
     request._messages = utils.TestMessagesBackend(request)
     request.user = utils.get_user_mock()
     mock_instance = save_mock.return_value
     mock_instance.get_absolute_url.return_value = '/app/slug/'
     response = views.app_add(request)
     eq_(response.status_code, 302)
     eq_(response['Location'], '/app/slug/')
     save_mock.assert_called_once_with(commit=False)
     eq_(mock_instance.owner, request.user)
     mock_instance.save.assert_called_once()
     save_m2m_mock.assert_called_once()