API: get only authenticated user activities
API: get only authenticated user activities
This commit is contained in:
parent
9c7ce8766e
commit
10aa1f4632
@ -17,8 +17,8 @@ activities_blueprint = Blueprint('activities', __name__)
|
|||||||
@activities_blueprint.route('/activities', methods=['GET'])
|
@activities_blueprint.route('/activities', methods=['GET'])
|
||||||
@authenticate
|
@authenticate
|
||||||
def get_activities(auth_user_id):
|
def get_activities(auth_user_id):
|
||||||
"""Get all activities"""
|
"""Get all activities for authenticated user"""
|
||||||
activities = Activity.query.all()
|
activities = Activity.query.filter_by(user_id=auth_user_id).all()
|
||||||
activities_list = []
|
activities_list = []
|
||||||
for activity in activities:
|
for activity in activities:
|
||||||
activities_list.append(activity.serialize())
|
activities_list.append(activity.serialize())
|
||||||
|
@ -26,7 +26,7 @@ gpx_file = (
|
|||||||
)
|
)
|
||||||
|
|
||||||
|
|
||||||
def test_get_all_activities(app):
|
def test_get_all_activities_for_authenticated_user(app):
|
||||||
add_user('test', 'test@test.com', '12345678')
|
add_user('test', 'test@test.com', '12345678')
|
||||||
add_user('toto', 'toto@toto.com', '12345678')
|
add_user('toto', 'toto@toto.com', '12345678')
|
||||||
add_sport('cycling')
|
add_sport('cycling')
|
||||||
@ -41,6 +41,11 @@ def test_get_all_activities(app):
|
|||||||
1,
|
1,
|
||||||
datetime.datetime.strptime('23/01/2018', '%d/%m/%Y'),
|
datetime.datetime.strptime('23/01/2018', '%d/%m/%Y'),
|
||||||
datetime.timedelta(seconds=3600))
|
datetime.timedelta(seconds=3600))
|
||||||
|
add_activity(
|
||||||
|
1,
|
||||||
|
1,
|
||||||
|
datetime.datetime.strptime('01/04/2018', '%d/%m/%Y'),
|
||||||
|
datetime.timedelta(seconds=6000))
|
||||||
|
|
||||||
client = app.test_client()
|
client = app.test_client()
|
||||||
resp_login = client.post(
|
resp_login = client.post(
|
||||||
@ -64,17 +69,58 @@ def test_get_all_activities(app):
|
|||||||
assert response.status_code == 200
|
assert response.status_code == 200
|
||||||
assert 'success' in data['status']
|
assert 'success' in data['status']
|
||||||
assert len(data['data']['activities']) == 2
|
assert len(data['data']['activities']) == 2
|
||||||
|
|
||||||
assert 'creation_date' in data['data']['activities'][0]
|
assert 'creation_date' in data['data']['activities'][0]
|
||||||
|
assert 'Mon, 01 Jan 2018 00:00:00 GMT' == data['data']['activities'][0]['activity_date'] # noqa
|
||||||
|
assert 1 == data['data']['activities'][0]['user_id']
|
||||||
|
assert 2 == data['data']['activities'][0]['sport_id']
|
||||||
|
assert '0:17:04' == data['data']['activities'][0]['duration']
|
||||||
|
|
||||||
assert 'creation_date' in data['data']['activities'][1]
|
assert 'creation_date' in data['data']['activities'][1]
|
||||||
assert 'Tue, 23 Jan 2018 00:00:00 GMT' == data['data']['activities'][0]['activity_date'] # noqa
|
assert 'Sun, 01 Apr 2018 00:00:00 GMT' == data['data']['activities'][1]['activity_date'] # noqa
|
||||||
assert 'Mon, 01 Jan 2018 00:00:00 GMT' == data['data']['activities'][1]['activity_date'] # noqa
|
|
||||||
assert 'creation_date' in data['data']['activities'][1]
|
|
||||||
assert 2 == data['data']['activities'][0]['user_id']
|
|
||||||
assert 1 == data['data']['activities'][1]['user_id']
|
assert 1 == data['data']['activities'][1]['user_id']
|
||||||
assert 1 == data['data']['activities'][0]['sport_id']
|
assert 1 == data['data']['activities'][1]['sport_id']
|
||||||
assert 2 == data['data']['activities'][1]['sport_id']
|
assert '1:40:00' == data['data']['activities'][1]['duration']
|
||||||
assert '1:00:00' == data['data']['activities'][0]['duration']
|
|
||||||
assert '0:17:04' == data['data']['activities'][1]['duration']
|
|
||||||
|
def test_get_activities_for_authenticated_user_no_activity(app):
|
||||||
|
add_user('test', 'test@test.com', '12345678')
|
||||||
|
add_user('toto', 'toto@toto.com', '12345678')
|
||||||
|
add_sport('cycling')
|
||||||
|
add_sport('running')
|
||||||
|
add_activity(
|
||||||
|
1,
|
||||||
|
2,
|
||||||
|
datetime.datetime.strptime('01/01/2018', '%d/%m/%Y'),
|
||||||
|
datetime.timedelta(seconds=1024))
|
||||||
|
add_activity(
|
||||||
|
1,
|
||||||
|
1,
|
||||||
|
datetime.datetime.strptime('01/04/2018', '%d/%m/%Y'),
|
||||||
|
datetime.timedelta(seconds=6000))
|
||||||
|
|
||||||
|
client = app.test_client()
|
||||||
|
resp_login = client.post(
|
||||||
|
'/api/auth/login',
|
||||||
|
data=json.dumps(dict(
|
||||||
|
email='toto@toto.com',
|
||||||
|
password='12345678'
|
||||||
|
)),
|
||||||
|
content_type='application/json'
|
||||||
|
)
|
||||||
|
response = client.get(
|
||||||
|
'/api/activities',
|
||||||
|
headers=dict(
|
||||||
|
Authorization='Bearer ' + json.loads(
|
||||||
|
resp_login.data.decode()
|
||||||
|
)['auth_token']
|
||||||
|
)
|
||||||
|
)
|
||||||
|
data = json.loads(response.data.decode())
|
||||||
|
|
||||||
|
assert response.status_code == 200
|
||||||
|
assert 'success' in data['status']
|
||||||
|
assert len(data['data']['activities']) == 0
|
||||||
|
|
||||||
|
|
||||||
def test_add_an_activity(app):
|
def test_add_an_activity(app):
|
||||||
|
Loading…
Reference in New Issue
Block a user