def test_owner_membership_get_request_is_successful(self): owner = get_user('owner') app = fixtures.get_application( slug='gamma', status=Application.PUBLISHED, owner=owner) request = self.factory.get('/app/gamma/membership/') request.user = owner response = views.app_membership(request, 'gamma') eq_(response.status_code, 200) eq_(sorted(response.context_data.keys()), ['form', 'formset', 'object']) eq_(response.context_data['object'], app) self._teardown()
def test_owner_membership_empty_payload_succeds(self): owner = get_user('owner') app = fixtures.get_application( slug='gamma', status=Application.PUBLISHED, owner=owner) payload = _get_appmember_payload(app.id) request = self.factory.post('/app/gamma/membership/', payload) request.user = owner request._messages = utils.TestMessagesBackend(request) response = views.app_membership(request, 'gamma') eq_(response.status_code, 302) eq_(response['Location'], app.get_membership_url()) eq_(ApplicationMembership.objects.all().count(), 0) self._teardown()
def test_valid_membership_adds_user(self): owner = get_user('owner') member = get_user('member', email='*****@*****.**') app = fixtures.get_application( slug='delta', status=Application.PUBLISHED, owner=owner) payload = _get_appmember_payload( app.id, collaborators='*****@*****.**') request = self.factory.post('/app/delta/membership/', payload) request.user = owner request._messages = utils.TestMessagesBackend(request) response = views.app_membership(request, 'delta') ok_(app.members.get(id=member.id)) eq_(response.status_code, 302) eq_(response['Location'], app.get_membership_url())
def test_owner_member_removal_is_successful(self): owner = get_user('owner') member = get_user('member', email='*****@*****.**') app = fixtures.get_application( slug='delta', status=Application.PUBLISHED, owner=owner) membership = fixtures.get_membership(app, member) inlines = [{'id': membership.id, 'DELETE': 'on'}] payload = _get_appmember_payload( app.id, data_list=inlines, initial_forms=1) request = self.factory.post('/app/delta/membership/', payload) request.user = owner request._messages = utils.TestMessagesBackend(request) response = views.app_membership(request, 'delta') eq_(list(app.members.all()), []) eq_(response.status_code, 302) eq_(response['Location'], app.get_membership_url())
def test_application_post_request_require_login(self): request = self.factory.post('/app/b/membership/', {}) request.user = utils.get_anon_mock() response = views.app_membership(request) eq_(response['Location'], utils.get_login_url('/app/b/membership/'))