def test_methods(self): u1 = User(username='******', email='*****@*****.**', password='******') u2 = User(username='******', email='*****@*****.**', password='******') game = Game(current_author_points=7, current_guest_points=8, max_points=8, author=u1, guest=u2, status='guest_win') db.session.add_all([u1, u2, game]) db.session.commit() # checking wins self.assertFalse(game.is_user_win(u1)) self.assertTrue(game.is_user_loss(u1)) self.assertTrue(game.is_user_win(u2)) self.assertFalse(game.is_user_loss(u2)) # turn-related methods self.assertFalse(game.is_in_progress()) game.status = 'author_turn_to_ask' db.session.commit() self.assertTrue(game.is_in_progress()) self.assertTrue(game.is_turn(u1)) self.assertFalse(game.is_turn(u2)) game.status = 'waiting_author_answer' db.session.commit() self.assertTrue(game.is_waiting_answer_from(u1)) self.assertFalse(game.is_waiting_answer_from(u2)) # update score game.update_user_score(u1, 10) self.assertEqual(game.current_author_points, 17) # user validation methods self.assertTrue(game.is_author(u1)) self.assertFalse(game.is_author(u2)) u3 = User(username='******', email='*****@*****.**', password='******') self.assertTrue(game.validate_players(u1, u2)) self.assertFalse(game.validate_players(u1, u3)) self.assertEqual(game.get_opponent(u1), u2) self.assertEqual(game.get_opponent(u2), u1) # win update game2 = Game(current_author_points=7, current_guest_points=8, max_points=8, author=u1, guest=u2, status='author_turn_to_ask') game2.win_update() self.assertTrue(game2.status == 'guest_win') # turn_update game3 = Game(current_author_points=7, current_guest_points=8, max_points=8, author=u1, guest=u2, status='author_turn_to_ask') self.assertEqual(game3.status, 'author_turn_to_ask') game3.turn_update() self.assertEqual(game3.status, 'waiting_guest_answer') game3.turn_update() self.assertEqual(game3.status, 'guest_turn_to_ask') game3.turn_update() self.assertEqual(game3.status, 'waiting_author_answer') game3.turn_update() self.assertEqual(game3.status, 'author_turn_to_ask') # accept game game4 = Game(current_author_points=7, current_guest_points=8, max_points=8, author=u1, guest=u2, status='not_confirmed') game4.accept_game() self.assertTrue(game4.status == 'author_turn_to_ask' or game4.status == 'guest_turn_to_ask')