11/*
2+ Copyright 2026 Element Creations Ltd.
23Copyright 2024 New Vector Ltd.
34Copyright 2021 The Matrix.org Foundation C.I.C.
45
@@ -205,6 +206,10 @@ describe("PosthogAnalytics", () => {
205206 analytics . setAnonymity ( Anonymity . Pseudonymous ) ;
206207 } ) ;
207208
209+ afterEach ( ( ) => {
210+ SettingsStore . reset ( ) ;
211+ } ) ;
212+
208213 it ( "should send layout IRC correctly" , async ( ) => {
209214 await SettingsStore . setValue ( "layout" , null , SettingLevel . DEVICE , Layout . IRC ) ;
210215 defaultDispatcher . dispatch (
@@ -217,7 +222,7 @@ describe("PosthogAnalytics", () => {
217222 analytics . trackEvent < ITestEvent > ( {
218223 eventName : "JestTestEvents" ,
219224 } ) ;
220- expect ( mocked ( fakePosthog ) . capture . mock . calls [ 0 ] [ 1 ] ! [ "$set" ] ) . toStrictEqual ( {
225+ expect ( mocked ( fakePosthog ) . capture . mock . calls [ 0 ] [ 1 ] ! [ "$set" ] ) . toMatchObject ( {
221226 WebLayout : "IRC" ,
222227 } ) ;
223228 } ) ;
@@ -234,7 +239,7 @@ describe("PosthogAnalytics", () => {
234239 analytics . trackEvent < ITestEvent > ( {
235240 eventName : "JestTestEvents" ,
236241 } ) ;
237- expect ( mocked ( fakePosthog ) . capture . mock . calls [ 0 ] [ 1 ] ! [ "$set" ] ) . toStrictEqual ( {
242+ expect ( mocked ( fakePosthog ) . capture . mock . calls [ 0 ] [ 1 ] ! [ "$set" ] ) . toMatchObject ( {
238243 WebLayout : "Bubble" ,
239244 } ) ;
240245 } ) ;
@@ -251,7 +256,7 @@ describe("PosthogAnalytics", () => {
251256 analytics . trackEvent < ITestEvent > ( {
252257 eventName : "JestTestEvents" ,
253258 } ) ;
254- expect ( mocked ( fakePosthog ) . capture . mock . calls [ 0 ] [ 1 ] ! [ "$set" ] ) . toStrictEqual ( {
259+ expect ( mocked ( fakePosthog ) . capture . mock . calls [ 0 ] [ 1 ] ! [ "$set" ] ) . toMatchObject ( {
255260 WebLayout : "Group" ,
256261 } ) ;
257262 } ) ;
@@ -269,12 +274,51 @@ describe("PosthogAnalytics", () => {
269274 analytics . trackEvent < ITestEvent > ( {
270275 eventName : "JestTestEvents" ,
271276 } ) ;
272- expect ( mocked ( fakePosthog ) . capture . mock . calls [ 0 ] [ 1 ] ! [ "$set" ] ) . toStrictEqual ( {
277+ console . log ( mocked ( fakePosthog ) . capture . mock . calls [ 0 ] ) ;
278+ expect ( mocked ( fakePosthog ) . capture . mock . calls [ 0 ] [ 1 ] ! [ "$set" ] ) . toMatchObject ( {
273279 WebLayout : "Compact" ,
274280 } ) ;
275281 } ) ;
276282 } ) ;
277283
284+ describe ( "UrlPreviews" , ( ) => {
285+ let analytics : PosthogAnalytics ;
286+
287+ beforeEach ( ( ) => {
288+ SdkConfig . put ( {
289+ brand : "Testing" ,
290+ posthog : {
291+ project_api_key : "foo" ,
292+ api_host : "bar" ,
293+ } ,
294+ } ) ;
295+
296+ analytics = new PosthogAnalytics ( fakePosthog ) ;
297+ analytics . setAnonymity ( Anonymity . Pseudonymous ) ;
298+ } ) ;
299+
300+ afterEach ( ( ) => {
301+ SdkConfig . reset ( ) ;
302+ } ) ;
303+
304+ it ( "should set UrlPreviewsEnabled on change" , async ( ) => {
305+ defaultDispatcher . dispatch (
306+ {
307+ action : Action . SettingUpdated ,
308+ settingName : "urlPreviewsEnabled" ,
309+ newValue : true ,
310+ } ,
311+ true ,
312+ ) ;
313+ analytics . trackEvent < ITestEvent > ( {
314+ eventName : "JestTestEvents" ,
315+ } ) ;
316+ expect ( mocked ( fakePosthog ) . capture . mock . calls [ 0 ] [ 1 ] ! [ "$set" ] ) . toMatchObject ( {
317+ URLPreviewsEnabled : true ,
318+ } ) ;
319+ } ) ;
320+ } ) ;
321+
278322 describe ( "CryptoSdk" , ( ) => {
279323 let analytics : PosthogAnalytics ;
280324 const getFakeClient = ( ) : MatrixClient =>
0 commit comments