Changeset d517001 in OpenWorkouts-current
- Timestamp:
- Feb 15, 2019, 6:09:04 PM (5 years ago)
- Branches:
- current, feature/docs, master
- Children:
- d5429c5
- Parents:
- d459ee2
- Location:
- ow
- Files:
-
- 5 edited
Legend:
- Unmodified
- Added
- Removed
-
ow/tests/test_utilities.py
rd459ee2 rd517001 25 25 save_map_screenshot, 26 26 timedelta_to_hms, 27 get_week_days 27 get_week_days, 28 part_of_day 28 29 ) 29 30 … … 235 236 assert m[0] == m[1] 236 237 238 def test_part_of_day(self): 239 parts = [ 240 ((5, 11), 'Morning'), 241 ((12, 17), 'Afternoon'), 242 ((18, 22), 'Evening'), 243 ((23, 4), 'Night'), 244 ] 245 for part in parts: 246 hours_range = range(*part[0]) 247 expected = part[1] 248 for hour in hours_range: 249 dt = datetime(2019, 1, 15, hour, 0) 250 assert part_of_day(dt) == expected 251 237 252 238 253 class TestGPXParseMinidom(object): -
ow/tests/views/test_user.py
rd459ee2 rd517001 447 447 assert original_image.size == returned_image.size 448 448 449 450 449 def test_edit_profile_get(self, dummy_request, john): 451 450 """ -
ow/tests/views/test_workout.py
rd459ee2 rd517001 126 126 assert len(response['form'].form.errors) == 6 127 127 128 def test_add_workout_manually_post_valid(self, valid_post_request): 128 add_workout_params = [ 129 # no title, no sport, we generate a title based on when the 130 # workout started 131 ({'title': None, 'sport': None}, 'Morning workout'), 132 # no title, sport given, we use the sport too in the automatically 133 # generated title 134 ({'title': None, 'sport': 'cycling'}, 'Morning cycling workout'), 135 # title given, no sport, we use the provided title 136 ({'title': 'Example workout', 'sport': None}, 'Example workout'), 137 # title given, sport too, we use the provided title 138 ({'title': 'Example workout', 'sport': 'cycling'}, 'Example workout'), 139 ] 140 141 @pytest.mark.parametrize(('params', 'expected'), add_workout_params) 142 def test_add_workout_manually_post_valid(self, params, expected, 143 valid_post_request): 129 144 """ 130 145 POST request to add a workout manually, providing the needed data 131 146 """ 132 147 request = valid_post_request 148 if params['title'] is not None: 149 request.POST['title'] = params['title'] 150 if params['sport'] is not None: 151 request.POST['sport'] = params['sport'] 133 152 user = request.root['john'] 134 153 assert len(user.workouts()) == 1 … … 137 156 assert response.location.endswith('/2/') 138 157 assert len(user.workouts()) == 2 158 assert user['2'].title == expected 139 159 140 160 def test_add_workout_get(self, dummy_request): -
ow/utilities.py
rd459ee2 rd517001 13 13 from ZODB.blob import Blob 14 14 from splinter import Browser 15 16 from pyramid.i18n import TranslationStringFactory 17 18 _ = TranslationStringFactory('OpenWorkouts') 15 19 16 20 … … 263 267 return weeks.index(week) 264 268 return None 269 270 271 def part_of_day(dt): 272 """ 273 Given a datetime object (dt), return which part of the day was it 274 (morning, afternoon, evening, night), translated in the proper 275 """ 276 parts = { 277 _('Morning'): (5, 11), 278 _('Afternoon'): (12, 17), 279 _('Evening'): (18, 22), 280 _('Night'): (23, 4) 281 } 282 for key, value in parts.items(): 283 if value[0] <= dt.hour <= value[1]: 284 return key -
ow/views/workout.py
rd459ee2 rd517001 10 10 from pyramid_simpleform import Form 11 11 from pyramid_simpleform.renderers import FormRenderer 12 from pyramid.i18n import TranslationStringFactory 12 13 13 14 from ..schemas.workout import ( … … 18 19 from ..models.workout import Workout 19 20 from ..models.user import User 20 from ..utilities import slugify, save_map_screenshot 21 from ..utilities import slugify, save_map_screenshot, part_of_day 21 22 from ..catalog import get_catalog, reindex_object, remove_from_catalog 23 24 25 _ = TranslationStringFactory('OpenWorkouts') 22 26 23 27 … … 51 55 tzinfo=timezone.utc) 52 56 workout.start = start 57 if not workout.title: 58 workout.title = part_of_day(start) 59 if workout.sport: 60 workout.title += ' ' + workout.sport 61 workout.title += ' ' + _('workout') 62 53 63 context.add_workout(workout) 54 64 return HTTPFound(location=request.resource_url(workout))
Note: See TracChangeset
for help on using the changeset viewer.