@@ -302,3 +302,56 @@ def test_display_category(self):
302302 datetime .datetime (2025 , 5 , 28 , 8 , 1 , tzinfo = zoneinfo .ZoneInfo (key = 'America/Vancouver' ))
303303 )
304304 assert dc3 == event_enums .EVENT_DISPLAY_CATEGORY .MINOR_DELAYS
305+
306+ def test_planned_event_activation_triggers_update (self ):
307+ data = {
308+ 'closed' : False ,
309+ 'closest_landmark' : '5 km west of Purden Lake' ,
310+ 'description' : 'Highway 16 (Yellowhead Highway). Paving operations.' ,
311+ 'direction' : 'NONE' ,
312+ 'event_sub_type' : 'ROAD_MAINTENANCE' ,
313+ 'event_type' : 'CONSTRUCTION' ,
314+ 'first_created' : datetime .datetime (
315+ 2025 , 5 , 27 , 8 , 0 , 35 , tzinfo = zoneinfo .ZoneInfo (key = 'America/Vancouver' )),
316+ 'highway_segment_names' : '' ,
317+ 'id' : 'DBC-20342' ,
318+ 'last_updated' : datetime .datetime (2025 , 5 , 28 , 0 , 0 , tzinfo = zoneinfo .ZoneInfo (key = 'America/Vancouver' )),
319+ 'location' : {
320+ 'coordinates' : [- 122.063117 , 53.903021 ],
321+ 'type' : 'Point'
322+ },
323+ 'location_description' : 'Between Willow River Rest Area and Bowron Pit Rd' ,
324+ 'next_update' : None ,
325+ 'route_at' : 'Highway 16' ,
326+ 'route_from' : 'Willow River Rest Area' ,
327+ 'route_to' : '' ,
328+ 'schedule' : {
329+ 'recurring_schedules' : [
330+ {
331+ 'daily_end_time' : '20:00' ,
332+ 'daily_start_time' : '08:00' ,
333+ 'days' : [3 , 4 , 5 , 6 ],
334+ 'end_date' : '2025-06-01' ,
335+ 'start_date' : '2025-05-28'
336+ }
337+ ]
338+ },
339+ 'severity' : 'MINOR' ,
340+ 'start_point_linear_reference' : 1076.938270924779 ,
341+ 'status' : 'ACTIVE' ,
342+ 'timezone' : 'America/Vancouver'
343+ }
344+ populate_event_from_data (data )
345+ Event .objects .filter (id = 'DBC-20342' ).update (
346+ display_category = event_enums .EVENT_DISPLAY_CATEGORY .FUTURE_DELAYS
347+ )
348+
349+ with patch (
350+ 'apps.event.tasks.get_display_category' ,
351+ return_value = event_enums .EVENT_DISPLAY_CATEGORY .MINOR_DELAYS ,
352+ ):
353+ updated = populate_event_from_data (data )
354+
355+ assert updated is True
356+ event = Event .objects .get (id = 'DBC-20342' )
357+ assert event .display_category == event_enums .EVENT_DISPLAY_CATEGORY .MINOR_DELAYS
0 commit comments