@@ -397,6 +397,65 @@ def test_incline_treadmill_profile_skips_when_aligned_garmin_strength_context(se
397397 reasons = _profile_match_reasons ("incline_treadmill" , activity , settings , training = training )
398398 self .assertEqual (reasons , [])
399399
400+ def test_incline_treadmill_profile_ignores_unaligned_garmin_incline_context (self ) -> None :
401+ settings = SimpleNamespace (
402+ profile_trail_gain_per_mile_ft = 220.0 ,
403+ profile_long_run_miles = 10.0 ,
404+ home_latitude = None ,
405+ home_longitude = None ,
406+ home_radius_miles = 10.0 ,
407+ )
408+ activity = {
409+ "sport_type" : "Run" ,
410+ "type" : "Run" ,
411+ "trainer" : True ,
412+ "start_latlng" : [],
413+ "distance" : 4200.0 ,
414+ "moving_time" : 2100 ,
415+ "external_id" : "garmin_ping_999" ,
416+ "device_name" : "Garmin Forerunner 955" ,
417+ "name" : "Morning Session" ,
418+ }
419+ training = {
420+ "_garmin_activity_aligned" : False ,
421+ "garmin_last_activity" : {
422+ "activity_name" : "Treadmill Incline" ,
423+ "activity_type" : "incline_treadmill" ,
424+ },
425+ }
426+ reasons = _profile_match_reasons ("incline_treadmill" , activity , settings , training = training )
427+ self .assertEqual (reasons , [])
428+
429+ def test_incline_treadmill_profile_uses_aligned_garmin_incline_context (self ) -> None :
430+ settings = SimpleNamespace (
431+ profile_trail_gain_per_mile_ft = 220.0 ,
432+ profile_long_run_miles = 10.0 ,
433+ home_latitude = None ,
434+ home_longitude = None ,
435+ home_radius_miles = 10.0 ,
436+ )
437+ activity = {
438+ "sport_type" : "Run" ,
439+ "type" : "Run" ,
440+ "trainer" : True ,
441+ "start_latlng" : [],
442+ "distance" : 4200.0 ,
443+ "moving_time" : 2100 ,
444+ "external_id" : "garmin_ping_1000" ,
445+ "device_name" : "Garmin Forerunner 955" ,
446+ "name" : "Morning Session" ,
447+ }
448+ training = {
449+ "_garmin_activity_aligned" : True ,
450+ "garmin_last_activity" : {
451+ "activity_name" : "Treadmill Incline" ,
452+ "activity_type" : "incline_treadmill" ,
453+ },
454+ }
455+ reasons = _profile_match_reasons ("incline_treadmill" , activity , settings , training = training )
456+ self .assertTrue (reasons )
457+ self .assertIn ("incline treadmill activity name" , reasons )
458+
400459 def test_incline_treadmill_profile_update_payload_sets_walk_title_and_trainer (self ) -> None :
401460 payload = _profile_activity_update_payload (
402461 "incline_treadmill" ,
0 commit comments