FitTrackee/fittrackee/tests/activities/utils.py

32 lines
892 B
Python

import json
from io import BytesIO
from uuid import uuid4
from fittrackee.activities.utils_id import encode_uuid
def get_random_short_id():
return encode_uuid(uuid4())
def post_an_activity(app, gpx_file):
client = app.test_client()
resp_login = client.post(
'/api/auth/login',
data=json.dumps(dict(email='test@test.com', password='12345678')),
content_type='application/json',
)
token = json.loads(resp_login.data.decode())['auth_token']
response = client.post(
'/api/activities',
data=dict(
file=(BytesIO(str.encode(gpx_file)), 'example.gpx'),
data='{"sport_id": 1}',
),
headers=dict(
content_type='multipart/form-data', Authorization=f'Bearer {token}'
),
)
data = json.loads(response.data.decode())
return token, data['data']['activities'][0]['id']