Skip to content

Commit 32a9e93

Browse files
authored
Update analytics token
1 parent ef200b0 commit 32a9e93

File tree

2 files changed

+53
-19
lines changed

2 files changed

+53
-19
lines changed

src/__tests__/analytics.test.tsx

Lines changed: 21 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -1,20 +1,31 @@
11
import { SDKAnalyticsConstants } from '../internal/SDKAnalyticsConstants';
2-
import { Image } from 'react-native';
2+
import { Image, Platform } from 'react-native';
33
import AdvancedImage from '../AdvancedImage';
44
import { CloudinaryImage } from '@cloudinary/url-gen/assets/CloudinaryImage';
55
import { render } from '@testing-library/react-native';
66
import React from 'react';
77

88
const cloudinaryImage = new CloudinaryImage('sample', { cloudName: 'demo' });
99

10+
1011
describe('analytics', () => {
11-
beforeEach(() => {
12-
SDKAnalyticsConstants.sdkSemver = '1.0.0';
13-
SDKAnalyticsConstants.techVersion = '10.2.5';
14-
});
15-
it('creates a url with analytics', () => {
16-
const element = render(<AdvancedImage cldImg={cloudinaryImage}></AdvancedImage>);
17-
const imageComponent = element.root.findByType(Image);
18-
expect(imageComponent.props.source.uri).toBe(cloudinaryImage.toURL({trackedAnalytics: SDKAnalyticsConstants}));
19-
});
12+
beforeEach(() => {
13+
SDKAnalyticsConstants.sdkSemver = '1.0.0';
14+
SDKAnalyticsConstants.techVersion = '10.2.5';
15+
SDKAnalyticsConstants.osType = 'A';
16+
SDKAnalyticsConstants.osVersion = '30';
17+
});
18+
it('creates a url with analytics', () => {
19+
const element = render(<AdvancedImage cldImg={cloudinaryImage}></AdvancedImage>);
20+
const imageComponent = element.root.findByType(Image);
21+
expect(imageComponent.props.source.uri).toBe(cloudinaryImage.toURL({trackedAnalytics: SDKAnalyticsConstants}));
22+
});
23+
24+
it('sets correct osType', () => {
25+
expect(SDKAnalyticsConstants.osType).toBe('A'); // For Android
26+
});
27+
28+
it('sets correct osVersion', () => {
29+
expect(SDKAnalyticsConstants.osVersion).toBe('30'); // Mocked Android version (API level)
2030
});
31+
});

src/internal/SDKAnalyticsConstants.ts

Lines changed: 32 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -5,25 +5,48 @@ const getReactNativeVersion = () => {
55
const version = Platform.Version;
66
return version.toString();
77
} catch {
8-
return "0.0.0"
8+
return '0.0.0';
99
}
10-
}
10+
};
1111

1212
const getSDKVersion = () => {
1313
try{
14-
const SDKVersionPackageJson = require('../../package.json')
14+
const SDKVersionPackageJson = require('../../package.json');
1515
if (SDKVersionPackageJson && SDKVersionPackageJson.version) {
16-
//return SDKVersionPackageJson.version
17-
return
16+
return SDKVersionPackageJson.version;
1817
}
1918
} catch {
20-
return "0.0.0";
19+
return '0.0.0';
20+
}
21+
return '0.0.0';
22+
};
23+
24+
const getOSType = () => {
25+
switch (Platform.OS) {
26+
case 'android':
27+
return 'A';
28+
case 'ios':
29+
return 'B';
30+
default:
31+
return 'Z';
2132
}
22-
return "0.0.0";
23-
}
33+
};
34+
35+
const getOSVersion = () => {
36+
switch (Platform.OS) {
37+
case 'android':
38+
return Platform.Version ? Platform.Version.toString() : 'AA';
39+
case 'ios':
40+
return Platform.Version ? Platform.Version.toString() : 'AA';
41+
default:
42+
return 'AA';
43+
}
44+
};
2445

2546
export const SDKAnalyticsConstants = {
2647
sdkSemver: getSDKVersion(),
2748
techVersion: getReactNativeVersion(),
28-
sdkCode: 'P'
49+
sdkCode: 'P',
50+
osType: getOSType(),
51+
osVersion: getOSVersion(),
2952
};

0 commit comments

Comments
 (0)