提交 6fa73fce 编写于 作者: J Johannes Rieken

add tests for additional properties

上级 b894e0ae
......@@ -60,7 +60,7 @@ export class AIAdapter implements IAIAdapter {
constructor(
private _eventPrefix: string,
private _additionalDataToLog: () => TPromise<{ [key: string]: string | number }>,
private _additionalDataToLog: () => TPromise<{ [key: string]: any }>,
clientFactoryOrAiKey: (() => typeof appInsights.client) | string // allow factory function for testing
) {
if (!this._additionalDataToLog) {
......@@ -140,11 +140,13 @@ export class AIAdapter implements IAIAdapter {
return;
}
this._additionalDataToLog().then(additionalData => {
data = mixin(data, additionalData);
return mixin(data, additionalData);
}, err => {
console.error(err); // ignore?
return data;
}).done(data => {
let {properties, measurements} = AIAdapter._getData(data);
this._aiClient.trackEvent(this._eventPrefix + '/' + eventName, properties, measurements);
}, err => {
console.error(err);
});
}
......
......@@ -5,7 +5,8 @@
'use strict';
import * as assert from 'assert';
import { AIAdapter } from 'vs/base/node/aiAdapter';
import {TPromise} from 'vs/base/common/winjs.base';
import {AIAdapter} from 'vs/base/node/aiAdapter';
interface IAppInsightsEvent {
eventName: string;
......@@ -60,6 +61,18 @@ suite('AIAdapter', () => {
assert.equal(appInsightsMock.events[0].eventName, `${prefix}/testEvent`);
});
test('addional data', () => {
adapter = new AIAdapter(prefix, () => TPromise.as({ first: '1st', second: 2, third: true }), () => appInsightsMock);
adapter.log('testEvent');
assert.equal(appInsightsMock.events.length, 1);
let [first] = appInsightsMock.events;
assert.equal(first.eventName, `${prefix}/testEvent`);
assert.equal(first.properties['first'], '1st');
assert.equal(first.measurements['second'], '2');
assert.equal(first.measurements['third'], 1);
});
test('Track UnhandledError as exception and events', () => {
var sampleError = new Error('test');
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册