- Timestamp:
- Feb 8, 2019, 1:41:41 PM (5 years ago)
- Branches:
- current, feature/docs, master
- Children:
- 6edc367, 78af3d1
- Parents:
- c9991fed
- Location:
- ow
- Files:
-
- 3 edited
Legend:
- Unmodified
- Added
- Removed
-
ow/tests/views/test_user.py
rc9991fed r55470f9 1 1 import os 2 2 import json 3 from decimal import Decimal 3 4 from datetime import datetime, timedelta, timezone 4 5 from shutil import copyfileobj … … 269 270 # profile page for the current day (no workouts avalable) 270 271 response = user_views.profile(john, request) 271 assert len(response.keys()) == 3272 assert len(response.keys()) == 4 272 273 current_month = datetime.now(timezone.utc).strftime('%Y-%m') 273 274 assert response['current_month'] == current_month 274 275 assert response['current_week'] is None 275 276 assert response['workouts'] == [] 277 assert response['totals'] == { 278 'distance': Decimal(0), 279 'time': timedelta(0), 280 'elevation': Decimal(0) 281 } 276 282 # profile page for a previous date, that has workouts 277 283 request.GET['year'] = 2015 278 request.GET['month'] = 8284 request.GET['month'] = 6 279 285 response = user_views.profile(john, request) 280 assert len(response.keys()) == 3281 assert response['current_month'] == '2015-0 8'286 assert len(response.keys()) == 4 287 assert response['current_month'] == '2015-06' 282 288 assert response['current_week'] is None 283 assert response['workouts'] == john.workouts(2015, 8) 289 workouts = john.workouts(2015, 6) 290 assert response['workouts'] == workouts 291 assert response['totals'] == { 292 'distance': workouts[0].distance, 293 'time': workouts[0].duration, 294 'elevation': Decimal(0) 295 } 284 296 # same, passing a week, first on a week without workouts 285 297 request.GET['year'] = 2015 286 request.GET['month'] = 8298 request.GET['month'] = 6 287 299 request.GET['week'] = 25 288 300 response = user_views.profile(john, request) 289 assert len(response.keys()) == 3290 assert response['current_month'] == '2015-0 8'291 assert response['current_week'] is25301 assert len(response.keys()) == 4 302 assert response['current_month'] == '2015-06' 303 assert response['current_week'] == 25 292 304 assert response['workouts'] == [] 293 # now in a week with workoutss 305 assert response['totals'] == { 306 'distance': Decimal(0), 307 'time': timedelta(0), 308 'elevation': Decimal(0) 309 } 310 # now in a week with workouts 294 311 request.GET['year'] = 2015 295 request.GET['month'] = 8312 request.GET['month'] = 6 296 313 request.GET['week'] = 26 297 314 response = user_views.profile(john, request) 298 assert len(response.keys()) == 3 299 assert response['current_month'] == '2015-08' 300 assert response['current_week'] is 26 301 assert response['workouts'] == john.workouts(2015, 8) 315 assert len(response.keys()) == 4 316 assert response['current_month'] == '2015-06' 317 assert response['current_week'] == 26 318 workouts = john.workouts(2015, 6) 319 assert response['workouts'] == workouts 320 assert response['totals'] == { 321 'distance': workouts[0].distance, 322 'time': workouts[0].duration, 323 'elevation': Decimal(0) 324 } 302 325 303 326 def test_login_get(self, dummy_request): -
ow/views/user.py
rc9991fed r55470f9 178 178 179 179 for workout in workouts: 180 totals['distance'] += getattr(workout, 'distance', Decimal(0)) 181 totals['time'] += getattr(workout, 'duration', timedelta(0)) 182 totals['elevation'] += getattr(workout, 'uphill', Decimal(0)) 180 totals['distance'] += ( 181 getattr(workout, 'distance', Decimal(0)) or Decimal(0)) 182 totals['time'] += ( 183 getattr(workout, 'duration', timedelta(0)) or timedelta(0)) 184 totals['elevation'] += ( 185 getattr(workout, 'uphill', Decimal(0)) or Decimal(0)) 183 186 184 187 return { -
ow/views/workout.py
rc9991fed r55470f9 128 128 return HTTPFound(location=request.resource_url(context)) 129 129 130 131 130 # round some values before rendering 132 131 if form.data['distance']:
Note: See TracChangeset
for help on using the changeset viewer.