@@ -50,7 +50,7 @@ describe("Telemetry Settings Tracking", () => {
5050 expect ( mockTelemetryService . updateTelemetryState ) . toHaveBeenCalledWith ( false )
5151 } )
5252
53- it ( "should not fire an opt-out event when going from unset to disabled (was never opted in )" , ( ) => {
53+ it ( "should fire an opt-out event when going from unset to disabled (explicit Decline )" , ( ) => {
5454 const previousSetting = "unset" as TelemetrySetting
5555 const newSetting = "disabled" as TelemetrySetting
5656
@@ -63,8 +63,9 @@ describe("Telemetry Settings Tracking", () => {
6363
6464 TelemetryService . instance . updateTelemetryState ( isOptedIn )
6565
66- // "unset" was never opted in, so there is no opt-out transition to report.
67- expect ( mockTelemetryService . captureTelemetrySettingsChanged ) . not . toHaveBeenCalled ( )
66+ // "unset" is opted in under the disclosed opt-out default, so unset -> disabled
67+ // is a genuine opt-out transition.
68+ expect ( mockTelemetryService . captureTelemetrySettingsChanged ) . toHaveBeenCalledWith ( "unset" , "disabled" )
6869 expect ( mockTelemetryService . updateTelemetryState ) . toHaveBeenCalledWith ( false )
6970 } )
7071 } )
@@ -116,7 +117,7 @@ describe("Telemetry Settings Tracking", () => {
116117 expect ( mockTelemetryService . updateTelemetryState ) . toHaveBeenCalledWith ( true )
117118 } )
118119
119- it ( "should fire an opt-in event when going from unset to enabled (explicit Accept )" , ( ) => {
120+ it ( "should not fire an event when going from unset to enabled (already opted in by default )" , ( ) => {
120121 const previousSetting = "unset" as TelemetrySetting
121122 const newSetting = "enabled" as TelemetrySetting
122123
@@ -133,18 +134,21 @@ describe("Telemetry Settings Tracking", () => {
133134 TelemetryService . instance . captureTelemetrySettingsChanged ( previousSetting , newSetting )
134135 }
135136
136- // "unset" is not opted in, so unset -> enabled is a genuine opt-in transition.
137- expect ( mockTelemetryService . captureTelemetrySettingsChanged ) . toHaveBeenCalledWith ( "unset" , "enabled" )
137+ // "unset" is already opted in under the disclosed opt-out default, so explicit
138+ // Accept (unset -> enabled) is a no-op transition, not a new opt-in.
139+ expect ( mockTelemetryService . captureTelemetrySettingsChanged ) . not . toHaveBeenCalled ( )
138140 expect ( mockTelemetryService . updateTelemetryState ) . toHaveBeenCalledWith ( true )
139141 } )
140142 } )
141143
142144 describe ( "neutral banner dismiss ('unset' left as-is)" , ( ) => {
143- it ( "does not report telemetry as opted in while the setting remains unset" , ( ) => {
145+ it ( "leaves the disclosed opt-out default in effect while the setting remains unset" , ( ) => {
144146 // A neutral dismiss of the consent banner sends no telemetrySetting message at
145147 // all, so the stored setting stays "unset". Confirm "unset" alone -- with no
146- // transition -- is not treated as consent.
147- expect ( isTelemetryOptedIn ( "unset" as TelemetrySetting ) ) . toBe ( false )
148+ // transition, and no affirmative choice recorded either way -- resolves to the
149+ // disclosed default (telemetry on) rather than silently opting the user in via
150+ // dismissal itself.
151+ expect ( isTelemetryOptedIn ( "unset" as TelemetrySetting ) ) . toBe ( true )
148152 } )
149153 } )
150154
0 commit comments