def test_leaves_group(self, groups_service, pyramid_config, pyramid_request): group = FakeGroup('abc123', 'some-slug') pyramid_config.testing_securitypolicy('marcela') views.leave(group, pyramid_request) assert (group, 'marcela') in groups_service.left
def test_leave_publishes_leave_event(Group, session_model): group = mock.Mock(pubid=mock.sentinel.pubid, members=[mock.sentinel.user]) Group.get_by_pubid.return_value = group request = _mock_request( matchdict=_matchdict(), authenticated_user=mock.sentinel.user) views.leave(request) request.get_queue_writer().publish.assert_called_once_with('user', { 'type': 'group-leave', 'userid': request.authenticated_userid, 'group': mock.sentinel.pubid, 'session_model': session_model(), })
def test_leave_returns_not_found_if_user_not_in_group(Group): group = mock.Mock(members=[]) Group.get_by_pubid.return_value = group request = _mock_request(matchdict=_matchdict(), user=mock.sentinel.user) with pytest.raises(httpexceptions.HTTPNotFound): result = views.leave(request)
def test_leave_publishes_leave_event(Group, session_model): group = mock.Mock(pubid=mock.sentinel.pubid, members=[mock.sentinel.user]) Group.get_by_pubid.return_value = group request = _mock_request(matchdict=_matchdict(), authenticated_user=mock.sentinel.user) views.leave(request) request.get_queue_writer().publish.assert_called_once_with( "user", { "type": "group-leave", "userid": request.authenticated_userid, "group": mock.sentinel.pubid, "session_model": session_model(), }, )
def test_leave_removes_user_from_group_members(Group): user = mock.sentinel.user group = mock.Mock() group.members = [user] Group.get_by_pubid.return_value = group request = _mock_request(matchdict=_matchdict(), authenticated_user=user) result = views.leave(request) assert group.members == []
def test_leave_removes_user_from_group_members(Group): user = mock.sentinel.user group = mock.Mock() group.members = [user] Group.get_by_pubid.return_value = group request = _mock_request(matchdict=_matchdict(), authenticated_user=user) result = views.leave(request) assert (group.members == [])
def test_returns_nocontent(self, pyramid_request): group = FakeGroup('abc123', 'some-slug') result = views.leave(group, pyramid_request) assert isinstance(result, HTTPNoContent)