예제 #1
0
 def test_message_model(self):
     """Create a user with a message to test"""
     hashed_pwd1 = bcrypt.generate_password_hash("HASHED_PASSWORD1").decode('UTF-8')
     user1 = User(email="*****@*****.**", username="******", password=hashed_pwd1)
     db.session.add(user1)
     db.session.commit()
     message1 = Message(text="TestMessage", user_id=user1.id)
     db.session.add(message1)
     db.session.commit()
     """Test get_message_by_id"""
     testmessage = Message.get_message_by_id(message1.id)
     self.assertEqual(user1.id, testmessage.user_id)
     
     """Test add_like"""
     hashed_pwd2 = bcrypt.generate_password_hash("HASHED_PASSWORD2").decode('UTF-8')
     user2 = User(email="*****@*****.**", username="******", password=hashed_pwd2)
     db.session.add(user2)
     db.session.commit()
     Likes.add_like(user2.id, message1.id)
     db.session.commit()
     self.assertEqual(user2.likes[0].id, message1.id)
     
     """Test delete_like"""
     before = len(user2.likes)
     Likes.delete_like(user2.id, message1.id)
     db.session.commit()
     after = len(user2.likes)        
     self.assertEqual(before - 1, after)
예제 #2
0
def do_like():
    """Handle likes from javascript"""    
    message_id = request.form["message_id"]    
    if int(message_id) in [x.id for x in g.user.likes]:        
        Likes.delete_like(g.user.id, message_id)
    else:
        Likes.add_like(g.user.id, message_id)        
    db.session.commit()
    return 'None'
예제 #3
0
def add_like(message_id):
    """Add a like to a post for the logged in user"""

    if not g.user:
        flash("Access unauthorized.", "danger")
        return redirect("/")

    Likes.add_like(g.user.id, message_id)

    return "Liked"
예제 #4
0
def add_like(msg_id):

    if not g.user:
        flash("Access unauthorized.", "danger")
        return redirect("/")

    message = Message.query.get_or_404(msg_id)
    like = Likes.add_like(g.user.id, msg_id)

    db.session.add(like)
    db.session.commit()

    return redirect('/')