зеркало из https://github.com/mozilla/gecko-dev.git
Bug 1764070 - Differentiate between auto advance and user click when sending Spotlight/AboutWelcome event telemetry r=Mardak
Differential Revision: https://phabricator.services.mozilla.com/D143767
This commit is contained in:
Родитель
84f5976ec1
Коммит
245a7b42c1
|
@ -292,7 +292,7 @@ class WelcomeScreen extends (react__WEBPACK_IMPORTED_MODULE_0___default().PureCo
|
|||
} // Send telemetry before waiting on actions
|
||||
|
||||
|
||||
_lib_aboutwelcome_utils__WEBPACK_IMPORTED_MODULE_2__.AboutWelcomeUtils.sendActionTelemetry(props.messageId, event.currentTarget.value);
|
||||
_lib_aboutwelcome_utils__WEBPACK_IMPORTED_MODULE_2__.AboutWelcomeUtils.sendActionTelemetry(props.messageId, event.currentTarget.value, event.name);
|
||||
let {
|
||||
action
|
||||
} = targetContent;
|
||||
|
@ -460,9 +460,9 @@ const AboutWelcomeUtils = {
|
|||
});
|
||||
},
|
||||
|
||||
sendActionTelemetry(messageId, elementId) {
|
||||
sendActionTelemetry(messageId, elementId, eventName = "CLICK_BUTTON") {
|
||||
const ping = {
|
||||
event: "CLICK_BUTTON",
|
||||
event: eventName,
|
||||
event_context: {
|
||||
source: elementId,
|
||||
page: "about:welcome"
|
||||
|
@ -605,7 +605,8 @@ const MultiStageProtonScreen = props => {
|
|||
handleAction({
|
||||
currentTarget: {
|
||||
value: autoAdvance
|
||||
}
|
||||
},
|
||||
name: "AUTO_ADVANCE"
|
||||
});
|
||||
}, 20000);
|
||||
return () => clearTimeout(timer);
|
||||
|
|
|
@ -283,7 +283,8 @@ export class WelcomeScreen extends React.PureComponent {
|
|||
// Send telemetry before waiting on actions
|
||||
AboutWelcomeUtils.sendActionTelemetry(
|
||||
props.messageId,
|
||||
event.currentTarget.value
|
||||
event.currentTarget.value,
|
||||
event.name
|
||||
);
|
||||
|
||||
let { action } = targetContent;
|
||||
|
|
|
@ -19,6 +19,7 @@ export const MultiStageProtonScreen = props => {
|
|||
currentTarget: {
|
||||
value: autoAdvance,
|
||||
},
|
||||
name: "AUTO_ADVANCE",
|
||||
});
|
||||
}, 20000);
|
||||
return () => clearTimeout(timer);
|
||||
|
|
|
@ -13,9 +13,9 @@ export const AboutWelcomeUtils = {
|
|||
message_id: messageId,
|
||||
});
|
||||
},
|
||||
sendActionTelemetry(messageId, elementId) {
|
||||
sendActionTelemetry(messageId, elementId, eventName = "CLICK_BUTTON") {
|
||||
const ping = {
|
||||
event: "CLICK_BUTTON",
|
||||
event: eventName,
|
||||
event_context: {
|
||||
source: elementId,
|
||||
page: "about:welcome",
|
||||
|
|
|
@ -108,9 +108,10 @@ describe("MultiStageAboutWelcome module", () => {
|
|||
welcomeScreenWrapper.props().messageId
|
||||
);
|
||||
assert.equal(stub.firstCall.args[1], "primary_button");
|
||||
stub.restore();
|
||||
});
|
||||
|
||||
it("should autoAdvance on last screen", () => {
|
||||
it("should autoAdvance on last screen and send appropriate telemetry", () => {
|
||||
let clock = sinon.useFakeTimers();
|
||||
const screens = [
|
||||
{
|
||||
|
@ -135,11 +136,20 @@ describe("MultiStageAboutWelcome module", () => {
|
|||
};
|
||||
const wrapper = mount(<MultiStageAboutWelcome {...AUTO_ADVANCE_PROPS} />);
|
||||
wrapper.update();
|
||||
const stub = sandbox.stub(global, "AWFinish");
|
||||
assert.notCalled(stub);
|
||||
const finishStub = sandbox.stub(global, "AWFinish");
|
||||
const telemetryStub = sinon.stub(
|
||||
AboutWelcomeUtils,
|
||||
"sendActionTelemetry"
|
||||
);
|
||||
|
||||
assert.notCalled(finishStub);
|
||||
clock.tick(20001);
|
||||
assert.calledOnce(stub);
|
||||
assert.calledOnce(finishStub);
|
||||
assert.calledOnce(telemetryStub);
|
||||
assert.equal(telemetryStub.lastCall.args[2], "AUTO_ADVANCE");
|
||||
clock.restore();
|
||||
finishStub.restore();
|
||||
telemetryStub.restore();
|
||||
});
|
||||
});
|
||||
|
||||
|
|
Загрузка…
Ссылка в новой задаче