114 lines
3.3 KiB
Python
114 lines
3.3 KiB
Python
# -*- 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={},
|
|
items={},
|
|
powerups={}
|
|
),
|
|
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={}
|
|
),
|
|
])
|
|
|
|
game2_dt = datetime.datetime(2017, 2, 21, 18, 31)
|
|
|
|
game2 = Game(
|
|
uuid='game2',
|
|
map='Q3DM17',
|
|
date=game2_dt.date(),
|
|
time=game2_dt.time(),
|
|
fraglimit=20,
|
|
attrs={}
|
|
)
|
|
|
|
game2.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={},
|
|
items={},
|
|
powerups={}
|
|
),
|
|
Score(
|
|
player='Player 3',
|
|
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_all([game1, game2])
|
|
session.commit()
|
|
|
|
def test_ok(self):
|
|
with self.app.test_request_context():
|
|
rsp = self.client.get('/api/v1/players/')
|
|
assert rsp.status_code == 200
|
|
|
|
assert rsp.json['players'] == ['Player 1', 'Player 2', 'Player 3']
|