123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105 |
- # -*- coding: utf -*-
- import datetime
- from q3stats.lib.scripts import utils
- from q3stats.models import Game, Score
- from q3stats.testing import BaseQ3StatsWebAppTestCase
- from q3stats.web_app.blueprints.api_v1.views import players as views_mod
- class Test_GetAPIv1Players(BaseQ3StatsWebAppTestCase):
- @classmethod
- def setUpClass(cls):
- super(Test_GetAPIv1Players, cls).setUpClass()
- with utils.db_session(cls._config) as session:
- game1_dt = datetime.datetime(2017, 2, 21, 18, 30)
- game1 = Game(
- uuid='game1',
- map='Q3DM7',
- date=game1_dt.date(),
- time=game1_dt.time(),
- fraglimit=20,
- attrs={}
- )
- game1.scores.extend([
- Score(
- player='Player 1',
- score=20,
- kills=21,
- deaths=10,
- suicides=1,
- net=11,
- damage_taken=123,
- damage_given=456,
- total_health=123,
- total_armor=456,
- weapons={
- 'RL': {
- 'hits': 10,
- 'kills': 5,
- 'shots': 20
- }
- },
- items={
- 'YA': 1
- },
- powerups={
- 'Quad': [3, 40000]
- }
- ),
- Score(
- player='Player 2',
- score=10,
- kills=11,
- deaths=20,
- suicides=1,
- net=10,
- damage_taken=123,
- damage_given=456,
- total_health=123,
- total_armor=456,
- weapons={},
- items={},
- powerups={}
- ),
- ])
- session.add(game1)
- session.commit()
- def test_not_found_game(self):
- with self.app.test_request_context():
- rsp = self.client.get('/api/v1/players/Player 1/game/spam')
- assert rsp.status_code == 404
- def test_not_found_player(self):
- with self.app.test_request_context():
- rsp = self.client.get('/api/v1/players/spam/game/game1')
- assert rsp.status_code == 404
- def test_ok(self):
- with self.app.test_request_context():
- rsp = self.client.get('/api/v1/players/Player 1/game/game1')
- assert rsp.status_code == 200
- assert rsp.json['game'] == 'game1'
- assert rsp.json['player'] == 'Player 1'
- assert rsp.json['map'] == 'Q3DM7'
- assert rsp.json['items'] == {'YA': 1}
- assert rsp.json['weapons'] == {
- 'RL': {
- 'hits': 10,
- 'kills': 5,
- 'shots': 20,
- 'accuracy': '50.00%'
- }
- }
- assert rsp.json['powerups'] == {
- 'Quad': [3, '40.000']
- }
|