API - fix workout serializer when speed value is 0
This commit is contained in:
parent
c385d8066a
commit
4af294cd4a
@ -1132,6 +1132,39 @@ class TestPostWorkoutWithoutGpx(ApiTestCaseMixin):
|
||||
assert data['data']['workouts'][0]['ascent'] == input_ascent
|
||||
assert data['data']['workouts'][0]['descent'] == input_descent
|
||||
|
||||
def test_it_adds_workout_with_low_value_for_distance(
|
||||
self,
|
||||
app: Flask,
|
||||
user_1: User,
|
||||
sport_1_cycling: Sport,
|
||||
) -> None:
|
||||
client, auth_token = self.get_test_client_and_auth_token(
|
||||
app, user_1.email
|
||||
)
|
||||
|
||||
response = client.post(
|
||||
'/api/workouts/no_gpx',
|
||||
content_type='application/json',
|
||||
data=json.dumps(
|
||||
dict(
|
||||
sport_id=1,
|
||||
duration=1200,
|
||||
workout_date='2023-07-26 12:00',
|
||||
distance=0.001,
|
||||
)
|
||||
),
|
||||
headers=dict(Authorization=f'Bearer {auth_token}'),
|
||||
)
|
||||
|
||||
data = json.loads(response.data.decode())
|
||||
assert response.status_code == 201
|
||||
assert 'created' in data['status']
|
||||
assert len(data['data']['workouts']) == 1
|
||||
assert data['data']['workouts'][0]['ave_speed'] == 0
|
||||
assert data['data']['workouts'][0]['distance'] == 0.001
|
||||
assert data['data']['workouts'][0]['duration'] == '0:20:00'
|
||||
assert data['data']['workouts'][0]['max_speed'] == 0
|
||||
|
||||
@pytest.mark.parametrize(
|
||||
'description,input_data',
|
||||
[
|
||||
|
@ -210,8 +210,12 @@ class Workout(BaseModel):
|
||||
if self.descent is not None
|
||||
else None,
|
||||
'ascent': float(self.ascent) if self.ascent is not None else None,
|
||||
'max_speed': float(self.max_speed) if self.max_speed else None,
|
||||
'ave_speed': float(self.ave_speed) if self.ave_speed else None,
|
||||
'max_speed': (
|
||||
float(self.max_speed) if self.max_speed is not None else None
|
||||
),
|
||||
'ave_speed': (
|
||||
float(self.ave_speed) if self.ave_speed is not None else None
|
||||
),
|
||||
'records': [record.serialize() for record in self.records],
|
||||
'segments': [segment.serialize() for segment in self.segments],
|
||||
'weather_start': self.weather_start,
|
||||
|
Loading…
Reference in New Issue
Block a user