@@ -264,6 +264,30 @@ add_task(async function test_close_telemetry_recorded() {
264
264
await SpecialPowers . popPrefEnv ( ) ;
265
265
} ) ;
266
266
267
+ add_task ( async function test_powered_by_fakespot_link ( ) {
268
+ await Services . fog . testFlushAllChildren ( ) ;
269
+ Services . fog . testResetFOG ( ) ;
270
+
271
+ await BrowserTestUtils . withNewTab (
272
+ {
273
+ url : "about:shoppingsidebar" ,
274
+ gBrowser,
275
+ } ,
276
+ async browser => {
277
+ await clickPoweredByFakespotLink ( browser , MOCK_ANALYZED_PRODUCT_RESPONSE ) ;
278
+ }
279
+ ) ;
280
+
281
+ await Services . fog . testFlushAllChildren ( ) ;
282
+
283
+ let fakespotLinkEvents =
284
+ Glean . shopping . surfacePoweredByFakespotLinkClicked . testGetValue ( ) ;
285
+ assertEventMatches ( fakespotLinkEvents [ 0 ] , {
286
+ category : "shopping" ,
287
+ name : "surface_powered_by_fakespot_link_clicked" ,
288
+ } ) ;
289
+ } ) ;
290
+
267
291
function clickReAnalyzeLink ( browser , data ) {
268
292
return SpecialPowers . spawn ( browser , [ data ] , async mockData => {
269
293
let shoppingContainer =
@@ -372,3 +396,22 @@ function clickCheckReviewQualityButton(browser, data) {
372
396
button . click ( ) ;
373
397
} ) ;
374
398
}
399
+
400
+ function clickPoweredByFakespotLink ( browser , data ) {
401
+ return SpecialPowers . spawn ( browser , [ data ] , async mockData => {
402
+ let shoppingContainer =
403
+ content . document . querySelector ( "shopping-container" ) . wrappedJSObject ;
404
+ shoppingContainer . data = Cu . cloneInto ( mockData , content ) ;
405
+ await shoppingContainer . updateComplete ;
406
+
407
+ let settingsEl = shoppingContainer . settingsEl ;
408
+ await settingsEl . updateComplete ;
409
+ let fakespotLink = settingsEl . fakespotLearnMoreLinkEl ;
410
+
411
+ // Prevent link navigation for test.
412
+ fakespotLink . href = undefined ;
413
+ await fakespotLink . updateComplete ;
414
+
415
+ fakespotLink . click ( ) ;
416
+ } ) ;
417
+ }
0 commit comments