Skip to content

Commit 2dd7f80

Browse files
Kristiyan Ivanovpd-redis
andauthored
Bugfix/be/release 2.68.0 (#4441) (#4447)
* fix imports * fix tests * fix tests Co-authored-by: pd-redis <[email protected]>
1 parent 72a9a9c commit 2dd7f80

File tree

4 files changed

+250
-140
lines changed

4 files changed

+250
-140
lines changed

redisinsight/api/src/modules/settings/settings.analytics.spec.ts

Lines changed: 8 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -12,19 +12,13 @@ describe('SettingsAnalytics', () => {
1212

1313
beforeEach(async () => {
1414
const module: TestingModule = await Test.createTestingModule({
15-
providers: [
16-
EventEmitter2,
17-
SettingsAnalytics,
18-
],
15+
providers: [EventEmitter2, SettingsAnalytics],
1916
}).compile();
2017

2118
service = module.get<SettingsAnalytics>(SettingsAnalytics);
2219
eventEmitter = module.get<EventEmitter2>(EventEmitter2);
2320
eventEmitter.emit = jest.fn();
24-
sendEventMethod = jest.spyOn<SettingsAnalytics, any>(
25-
service,
26-
'sendEvent',
27-
);
21+
sendEventMethod = jest.spyOn<SettingsAnalytics, any>(service, 'sendEvent');
2822
});
2923

3024
describe('sendAnalyticsAgreementChange', () => {
@@ -63,22 +57,21 @@ describe('SettingsAnalytics', () => {
6357
},
6458
);
6559
});
66-
it('should emit ANALYTICS_PERMISSION with state enabled and reason "test-reason"', async () => {
60+
it('should emit ANALYTICS_PERMISSION with state enabled and reason "sso"', async () => {
6761
service.sendAnalyticsAgreementChange(
6862
mockSessionMetadata,
6963
new Map([['analytics', true]]),
7064
undefined,
71-
'test-reason',
65+
'sso',
7266
);
7367

7468
expect(eventEmitter.emit).toHaveBeenCalledWith(
7569
AppAnalyticsEvents.Track,
7670
mockSessionMetadata,
7771
{
7872
event: TelemetryEvents.AnalyticsPermission,
79-
eventData: { reason: 'test-reason', state: 'enabled' },
73+
eventData: { reason: 'sso', state: 'enabled' },
8074
nonTracking: true,
81-
8275
},
8376
);
8477
});
@@ -104,7 +97,7 @@ describe('SettingsAnalytics', () => {
10497
mockSessionMetadata,
10598
new Map([['analytics', false]]),
10699
new Map([['analytics', false]]),
107-
'test-reason',
100+
'none',
108101
);
109102

110103
expect(eventEmitter.emit).not.toHaveBeenCalledWith(
@@ -121,15 +114,15 @@ describe('SettingsAnalytics', () => {
121114
mockSessionMetadata,
122115
new Map([['analytics', false]]),
123116
new Map([['analytics', true]]),
124-
'test-reason',
117+
'none',
125118
);
126119

127120
expect(eventEmitter.emit).toHaveBeenCalledWith(
128121
AppAnalyticsEvents.Track,
129122
mockSessionMetadata,
130123
{
131124
event: TelemetryEvents.AnalyticsPermission,
132-
eventData: { state: 'disabled', reason: 'test-reason' },
125+
eventData: { state: 'disabled', reason: 'none' },
133126
nonTracking: true,
134127
},
135128
);

redisinsight/api/src/modules/settings/settings.analytics.ts

Lines changed: 42 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -1,11 +1,16 @@
11
import { Injectable } from '@nestjs/common';
22
import { EventEmitter2 } from '@nestjs/event-emitter';
33
import { differenceWith, has, isEqual } from 'lodash';
4-
import { AppAnalyticsEvents, TelemetryEvents, ToggleAnalyticsReasonType } from 'src/constants';
5-
import { getIsPipelineEnable, getRangeForNumber, SCAN_THRESHOLD_BREAKPOINTS } from 'src/utils';
4+
import { AppAnalyticsEvents, TelemetryEvents } from 'src/constants';
5+
import {
6+
getIsPipelineEnable,
7+
getRangeForNumber,
8+
SCAN_THRESHOLD_BREAKPOINTS,
9+
} from 'src/utils';
610
import { TelemetryBaseService } from 'src/modules/analytics/telemetry.base.service';
711
import { GetAppSettingsResponse } from 'src/modules/settings/dto/settings.dto';
812
import { SessionMetadata } from 'src/common/models';
13+
import { ToggleAnalyticsReasonType } from 'src/modules/settings/constants/settings';
914

1015
@Injectable()
1116
export class SettingsAnalytics extends TelemetryBaseService {
@@ -20,13 +25,25 @@ export class SettingsAnalytics extends TelemetryBaseService {
2025
): void {
2126
try {
2227
const dif = Object.fromEntries(
23-
differenceWith(Object.entries(newSettings), Object.entries(oldSettings), isEqual),
28+
differenceWith(
29+
Object.entries(newSettings),
30+
Object.entries(oldSettings),
31+
isEqual,
32+
),
2433
);
2534
if (has(dif, 'scanThreshold')) {
26-
this.sendScanThresholdChanged(sessionMetadata, dif.scanThreshold, oldSettings.scanThreshold);
35+
this.sendScanThresholdChanged(
36+
sessionMetadata,
37+
dif.scanThreshold,
38+
oldSettings.scanThreshold,
39+
);
2740
}
2841
if (has(dif, 'batchSize')) {
29-
this.sendWorkbenchPipelineChanged(sessionMetadata, dif.batchSize, oldSettings.batchSize);
42+
this.sendWorkbenchPipelineChanged(
43+
sessionMetadata,
44+
dif.batchSize,
45+
oldSettings.batchSize,
46+
);
3047
}
3148
} catch (e) {
3249
// continue regardless of error
@@ -44,18 +61,14 @@ export class SettingsAnalytics extends TelemetryBaseService {
4461
const newPermission = newAgreements.get('analytics');
4562
const oldPermission = oldAgreements.get('analytics');
4663
if (oldPermission !== newPermission) {
47-
this.eventEmitter.emit(
48-
AppAnalyticsEvents.Track,
49-
sessionMetadata,
50-
{
51-
event: TelemetryEvents.AnalyticsPermission,
52-
eventData: {
53-
state: newPermission ? 'enabled' : 'disabled',
54-
reason,
55-
},
56-
nonTracking: true,
64+
this.eventEmitter.emit(AppAnalyticsEvents.Track, sessionMetadata, {
65+
event: TelemetryEvents.AnalyticsPermission,
66+
eventData: {
67+
state: newPermission ? 'enabled' : 'disabled',
68+
reason,
5769
},
58-
);
70+
nonTracking: true,
71+
});
5972
}
6073
} catch (e) {
6174
// continue regardless of error
@@ -72,14 +85,24 @@ export class SettingsAnalytics extends TelemetryBaseService {
7285
TelemetryEvents.SettingsScanThresholdChanged,
7386
{
7487
currentValue,
75-
currentValueRange: getRangeForNumber(currentValue, SCAN_THRESHOLD_BREAKPOINTS),
88+
currentValueRange: getRangeForNumber(
89+
currentValue,
90+
SCAN_THRESHOLD_BREAKPOINTS,
91+
),
7692
previousValue,
77-
previousValueRange: getRangeForNumber(previousValue, SCAN_THRESHOLD_BREAKPOINTS),
93+
previousValueRange: getRangeForNumber(
94+
previousValue,
95+
SCAN_THRESHOLD_BREAKPOINTS,
96+
),
7897
},
7998
);
8099
}
81100

82-
private sendWorkbenchPipelineChanged(sessionMetadata: SessionMetadata, newValue: number, currentValue: number): void {
101+
private sendWorkbenchPipelineChanged(
102+
sessionMetadata: SessionMetadata,
103+
newValue: number,
104+
currentValue: number,
105+
): void {
83106
this.sendEvent(
84107
sessionMetadata,
85108
TelemetryEvents.SettingsWorkbenchPipelineChanged,

0 commit comments

Comments
 (0)