@@ -84,6 +84,58 @@ test.describe('Plot Rendering', () => {
84
84
await expect ( page . getByLabel ( 'Time Conductor Mode' ) ) . toHaveText ( 'Fixed Timespan' ) ;
85
85
} ) ;
86
86
87
+ test ( 'Time conductor synchronization confirmation dialog can be suppressed' , async ( { page } ) => {
88
+ // Navigate to Sine Wave Generator
89
+ await page . goto ( sineWaveGeneratorObject . url ) ;
90
+ // Switch to real-time mode
91
+ await setRealTimeMode ( page ) ;
92
+
93
+ // hover over plot for plot controls
94
+ await page . getByLabel ( 'Plot Canvas' ) . hover ( ) ;
95
+ // click on pause control
96
+ await page . getByTitle ( 'Pause incoming real-time data' ) . click ( ) ;
97
+
98
+ // expect plot to be paused
99
+ await expect ( page . getByTitle ( 'Resume displaying real-time data' ) ) . toBeVisible ( ) ;
100
+
101
+ // hover over plot for plot controls
102
+ await page . getByLabel ( 'Plot Canvas' ) . hover ( ) ;
103
+
104
+ // click on synchronize with time conductor
105
+ await page . getByTitle ( 'Synchronize Time Conductor' ) . click ( ) ;
106
+
107
+ await expect ( page . locator ( '.c-message__action-text' ) ) . toContainText (
108
+ 'This action will change the Time Conductor to Fixed Timespan mode'
109
+ ) ;
110
+
111
+ await page . getByLabel ( 'Checkbox to Suppress Dialog' ) . click ( ) ;
112
+
113
+ await page . getByRole ( 'button' , { name : 'Ok' , exact : true } ) . click ( ) ;
114
+
115
+ //confirm that you're now in fixed mode with the correct range
116
+ await expect ( page . getByLabel ( 'Time Conductor Mode' ) ) . toHaveText ( 'Fixed Timespan' ) ;
117
+
118
+ await page . getByLabel ( 'Zoom in' ) . click ( ) ;
119
+
120
+ await page . getByTitle ( 'Synchronize Time Conductor' ) . click ( ) ;
121
+
122
+ await expect ( page . locator ( '.c-message-banner__message' ) ) . toHaveText (
123
+ 'Time conductor bounds have changed.'
124
+ ) ;
125
+
126
+ await expect ( page . locator ( '.c-message__action-text' ) ) . toBeHidden ( ) ;
127
+
128
+ const suppressionVal = await page . evaluate ( ( ) =>
129
+ window . localStorage . getItem ( 'sync-time-conductor-modal-suppression' )
130
+ ) ;
131
+
132
+ await expect ( suppressionVal ) . toBe ( 'true' ) ;
133
+
134
+ await page . evaluate ( ( ) =>
135
+ window . localStorage . removeItem ( 'sync-time-conductor-modal-suppression' )
136
+ ) ;
137
+ } ) ;
138
+
87
139
test ( 'Plot is rendered when infinity values exist' , async ( { page } ) => {
88
140
// Edit Plot
89
141
await editSineWaveToUseInfinityOption ( page , sineWaveGeneratorObject ) ;
0 commit comments