def test_validMultiple(self, activeClient, testGroup, testUser2, testUser4): assert len(testGroup.members) == 2 gr1 = GroupRequest.create(group_id=testGroup.id, requestor_id=testUser2.id) gr2 = GroupRequest.create(group_id=testGroup.id, requestor_id=testUser4.id) self.form = {"request": [gr1.id, gr2.id]} response = self.postRequest(activeClient) assert response.status_code == 200 assert len(testGroup.members) == 4 flash = f"{gr1.requestor.full_name} is now a member of {gr1.group.name}." assert flash.encode() in response.data flash2 = f"{gr2.requestor.full_name} is now a member of {gr2.group.name}." assert flash2.encode() in response.data
def test_delete(self, testUser): FriendRequest.create(requestor_id=testUser.id, friend_id=4) GroupRequest.create(requestor_id=testUser.id, group_id=2) assert testUser.address.user_id == 2 assert len(User.query.all()) == 4 assert len(testUser.reviews) == 4 assert len(Review.query.all()) == 7 assert len(FriendRequest.query.all()) == 1 assert len(GroupRequest.query.all()) == 1 testUser.delete() testUser = User.query.get(2) assert testUser is None assert Review.query.filter_by(user_id=2).all() == [] assert FriendRequest.query.filter_by(requestor_id=2).all() == [] assert GroupRequest.query.filter_by(requestor_id=2).all() == [] assert len(User.query.all()) == 3
def groupadd(): """Send group admin request to join group.""" form = GroupAddForm() if form.validate_on_submit(): group = Group.query.get(form.id.data) if current_user != group.admin: args = { "group_id": group.id, "requestor_id": current_user.id } request = GroupRequest.query.filter_by(**args).first() if not request: request = GroupRequest.create(**args) request.send() msg = ( f"Request sent to join {group.name}. Awaiting group admin " "confirmation." ) else: current_user.add(group) msg = f"Successfully added to {group.name}." flash(msg) return groups_render() else: for error in form.errors['id']: flash(error) return groups_render(code=422)
def join_group(group_id): group = get_object_or_404(Group, Group.id == group_id) #check if group exists user = User.query.get(session['user_id']) if user not in group.banned_members: if user not in group.members: check = GroupRequest.query.filter_by( user=session['user_id'], group=group.id).first() #get friend request if group.private: if check == None: #if no request present request = GroupRequest( user=user.id, group=group.id, ) db.session.add(request) db.session.commit() flash('Group is private, request to join sent') return redirect(url_for('users.my_profile')) else: flash('Request already sent') else: group.join(user) else: flash('You already joined this group') else: flash('You are banned from this group') return redirect(url_for('groups.group_page', group_id=group_id))
def test_addGroup(self, testUser): assert (len(testUser.groups) == 1) assert (len(testUser.sentgrouprequests) == 0) testGroup = Group.query.get(2) request = GroupRequest.create(group_id=2, requestor_id=2) assert len(testUser.sentgrouprequests) == 1 testUser.add(testGroup, request) assert len(testUser.sentgrouprequests) == 0 assert testGroup in testUser.groups
def group_verify(token): """Verify group join request add token and add person to group membership.""" request = GroupRequest.verify_token(token) if not request: msg = "Group request verification failed. Please have requestor "\ "re-submit." else: new_member = request.requestor group = request.group new_member.add(group, request) msg = f"{new_member.full_name} is now a member of {group.name}." flash(msg) return redirect(url_for('auth.welcome'))
def tests_withPendingRequest(self, activeClient): GroupRequest.create(group_id=3, requestor_id=current_user.id) response = self.getRequest(activeClient) pendingCount = b"Pending<span>(1)</span>" assert pendingCount in response.data
def test_withPendingApproval(self, activeClient, testUser2): GroupRequest.create(group_id=1, requestor_id=testUser2.id) response = self.getRequest(activeClient) pendingCount = b"Pending<span>(1)</span>" assert pendingCount in response.data
def testGroupRequest2(dbSession, testUser4, testGroup3): request = GroupRequest.create( id=2, group_id=testGroup3.id, requestor_id=testUser4.id ) return request
def testGroupRequest(dbSession, testUser4, testGroup): request = GroupRequest.create( id=1, group_id=testGroup.id, requestor_id=testUser4.id ) return request
def test_getPending(self, testUser, testGroupRequest): pending = GroupRequest.get_pending(testUser) assert len(pending) == 1 assert testGroupRequest in pending