Пример #1
0
    def test_game_requires_players(self):
        arena = make_a_whole_arena()
        course = make_course(arena)[0]
        player = make_players()[0]

        game = Game(
            course=course,
            creator=player,
            created=datetime.now(),
        )
        game.save()
        game.players = [player]

        game.start()

        # Check that game doesn't finish without players
        self.assertRaises(ValidationError, game.finish)
Пример #2
0
    def test_create_game(self):
        # Make course, arena and players
        players = make_players(3)
        arena = make_a_whole_arena()
        course = make_course(arena)[0]

        # Prepare data for new game
        game_data = {
            "players": [p.id for p in players],
            "course": course.id,
        }

        game_payload = simplejson.dumps(game_data)

        # POST data to api
        c = get_logged_in_client()
        r = c.post("/api/games/", game_payload,
            content_type="application/json")

        # Response looks good ?
        self.assertEqual(r.status_code, 201)

        res = simplejson.loads(r.content)
        created_game = Game.objects.get(id=res['id'])

        # Check that we are on the right course
        self.assertEqual(created_game.course.id, course.id)

        # Check that players are correct
        self.assertEqual(created_game.players.count(),
            len(game_data['players']))

        for player in created_game.players.all():
            self.assertIn(player.id, game_data['players'])

        # Check that game has "Created" state
        self.assertEqual(created_game.state, Game.STATE_CREATED)