diff --git a/polygerrit-ui/app/elements/shared/gr-js-api-interface/gr-reporting-js-api.ts b/polygerrit-ui/app/elements/shared/gr-js-api-interface/gr-reporting-js-api.ts index ddf4c214f8..0bf6676c84 100644 --- a/polygerrit-ui/app/elements/shared/gr-js-api-interface/gr-reporting-js-api.ts +++ b/polygerrit-ui/app/elements/shared/gr-js-api-interface/gr-reporting-js-api.ts @@ -37,4 +37,11 @@ export class GrReporintJsApi { details ); } + + reportLifeCycle(eventName: string, details?: EventDetails) { + return this.reporting.reportLifeCycle( + `${this.plugin.getPluginName()}-${eventName}`, + details + ); + } } diff --git a/polygerrit-ui/app/elements/shared/gr-js-api-interface/gr-reporting-js-api_test.js b/polygerrit-ui/app/elements/shared/gr-js-api-interface/gr-reporting-js-api_test.js index e05dff30d5..1229641f93 100644 --- a/polygerrit-ui/app/elements/shared/gr-js-api-interface/gr-reporting-js-api_test.js +++ b/polygerrit-ui/app/elements/shared/gr-js-api-interface/gr-reporting-js-api_test.js @@ -57,5 +57,19 @@ suite('gr-reporting-js-api tests', () => { {} ); }); + + test('redirect reportLifeCycle call to reportingService', () => { + sinon.spy(appContext.reportingService, 'reportLifeCycle'); + reporting.reportLifeCycle('test', {}); + assert.isTrue(appContext.reportingService.reportLifeCycle.called); + assert.equal( + appContext.reportingService.reportLifeCycle.lastCall.args[0], + 'testplugin-test' + ); + assert.deepEqual( + appContext.reportingService.reportLifeCycle.lastCall.args[1], + {} + ); + }); }); }); \ No newline at end of file