def unsubscribe(group_id): """ Unsubscribe a user from a group via Ajax""" if g.user and group_id: try: group = Group.query.filter_by(meetup_id=group_id).one() controller.unsubscribe_from_group(g.user, group) app.logger.info( 'Unsubscribed user with id: %s from group with id: %s' % (g.user.id, group.id)) return "", 200 except NoResultFound: app.logger.error( 'Error unsubscribing a user with id: %s from group with id %s' % (g.user.id, group.id)) return "", 404
def test_unsubscribe(self): user = User(meetup_id='1234') group = Group(meetup_id='5678') user.subscriptions.append(group) db.session.add(user) db.session.add(group) db.session.commit() assert len(user.subscriptions) == 1 controller.unsubscribe_from_group(user, group) assert len(user.subscriptions) == 0 assert len(Group.query.filter(Group.id == group.id).all()) == 1 assert len(User.query.filter(User.id == user.id).all()) == 1