def test_deal_fails_when_not_enough_cards_available(self):
        max_players = Card.objects.count() // (settings.GAME_HAND_SIZE + 1)

        for i in range(max_players + 1):
            test_username = 'test_n_{}'.format(i)
            test_email = '{}@localhost'.format(test_username)
            user = User.objects.create(username=test_username, email=test_email, password='test')
            Player.objects.create(game=self.game, user=user, name='player_{}'.format(i))

        new_round = Round(game=self.game, number=self.current.number + 1, turn=self.current.turn)
        with self.assertRaises(GameDeckExhausted):
            new_round.deal()