Skip to content

Commit de2224a

Browse files
Merge pull request #47 from Flagsmith/release/2.0.4
Release 2.0.4
2 parents 40ad7c6 + 90c08be commit de2224a

File tree

6 files changed

+106
-71
lines changed

6 files changed

+106
-71
lines changed

example/package-lock.json

Lines changed: 24 additions & 43 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

package-lock.json

Lines changed: 68 additions & 14 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

package.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
{
22
"name": "flagsmith-nodejs",
3-
"version": "2.0.3",
3+
"version": "2.0.4",
44
"description": "Flagsmith lets you manage features flags and remote config across web, mobile and server side applications. Deliver true Continuous Integration. Get builds out faster. Control who has access to new features.",
55
"main": "build/index.js",
66
"repository": {

sdk/analytics.ts

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -49,8 +49,8 @@ export class AnalyticsProcessor {
4949
this.lastFlushed = Date.now();
5050
}
5151

52-
trackFeature(featureId: number) {
53-
this.analyticsData[featureId] = (this.analyticsData[featureId] || 0) + 1;
52+
trackFeature(featureName: string) {
53+
this.analyticsData[featureName] = (this.analyticsData[featureName] || 0) + 1;
5454
if (Date.now() - this.lastFlushed > ANALYTICS_TIMER * 1000) {
5555
this.flush();
5656
}

sdk/models.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -129,7 +129,7 @@ export class Flags {
129129
}
130130

131131
if (this.analyticsProcessor && flag.featureId) {
132-
this.analyticsProcessor.trackFeature(flag.featureId);
132+
this.analyticsProcessor.trackFeature(flag.featureName);
133133
}
134134

135135
return flag;

tests/sdk/analytics.test.ts

Lines changed: 10 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -8,28 +8,28 @@ afterEach(() => {
88

99
test('test_analytics_processor_track_feature_updates_analytics_data', () => {
1010
const aP = analyticsProcessor();
11-
aP.trackFeature(1);
12-
expect(aP.analyticsData[1]).toBe(1);
11+
aP.trackFeature("myFeature");
12+
expect(aP.analyticsData["myFeature"]).toBe(1);
1313

14-
aP.trackFeature(1);
15-
expect(aP.analyticsData[1]).toBe(2);
14+
aP.trackFeature("myFeature");
15+
expect(aP.analyticsData["myFeature"]).toBe(2);
1616
});
1717

1818
test('test_analytics_processor_flush_clears_analytics_data', async () => {
1919
const aP = analyticsProcessor();
20-
aP.trackFeature(1);
20+
aP.trackFeature("myFeature");
2121
await aP.flush();
2222
expect(aP.analyticsData).toStrictEqual({});
2323
});
2424

2525
test('test_analytics_processor_flush_post_request_data_match_ananlytics_data', async () => {
2626
const aP = analyticsProcessor();
27-
aP.trackFeature(1);
28-
aP.trackFeature(2);
27+
aP.trackFeature("myFeature1");
28+
aP.trackFeature("myFeature2");
2929
await aP.flush();
3030
expect(fetch).toHaveBeenCalledTimes(1);
3131
expect(fetch).toHaveBeenCalledWith('http://testUrlanalytics/flags/', {
32-
body: '{"1":1,"2":1}',
32+
body: '{"myFeature1":1,"myFeature2":1}',
3333
headers: { 'Content-Type': 'application/json', 'X-Environment-Key': 'test-key' },
3434
method: 'POST',
3535
timeout: 3
@@ -39,9 +39,9 @@ test('test_analytics_processor_flush_post_request_data_match_ananlytics_data', a
3939
jest.useFakeTimers()
4040
test('test_analytics_processor_flush_post_request_data_match_ananlytics_data_test', async () => {
4141
const aP = analyticsProcessor();
42-
aP.trackFeature(1);
42+
aP.trackFeature("myFeature1");
4343
setTimeout(() => {
44-
aP.trackFeature(2);
44+
aP.trackFeature("myFeature2");
4545
expect(fetch).toHaveBeenCalledTimes(1);
4646
}, 15000);
4747
jest.runOnlyPendingTimers();

0 commit comments

Comments
 (0)