Skip to content

Commit fef750d

Browse files
committed
replace bowser castle logic for simpler user agent helpers
1 parent fe3613b commit fef750d

34 files changed

Lines changed: 318 additions & 242 deletions

__test__/support/environment/TestEnvironment.ts

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,6 @@ import { generateNewSubscription } from '../helpers/core';
1010
import BrowserUserAgent from '../models/BrowserUserAgent';
1111
import {
1212
initOSGlobals,
13-
mockUserAgent,
1413
resetDatabase,
1514
stubDomEnvironment,
1615
stubNotification,
@@ -33,7 +32,6 @@ export interface TestEnvironmentConfig {
3332

3433
export class TestEnvironment {
3534
static async initialize(config: TestEnvironmentConfig = {}) {
36-
mockUserAgent(config);
3735
// reset db & localStorage
3836
resetDatabase();
3937

__test__/support/environment/TestEnvironmentHelpers.ts

Lines changed: 0 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,3 @@
1-
import bowser from 'bowser';
21
import { type DOMWindow, JSDOM, ResourceLoader } from 'jsdom';
32
import CoreModule from 'src/core/CoreModule';
43
import { SubscriptionModel } from 'src/core/models/SubscriptionModel';
@@ -17,7 +16,6 @@ import { getSlidedownElement } from '../../../src/page/slidedown/SlidedownElemen
1716
import Emitter from '../../../src/shared/libraries/Emitter';
1817
import Database from '../../../src/shared/services/Database';
1918
import { CUSTOM_LINK_CSS_CLASSES } from '../../../src/shared/slidedown/constants';
20-
import * as bowerCastleHelpers from '../../../src/shared/utils/bowserCastle';
2119
import { DUMMY_ONESIGNAL_ID, DUMMY_SUBSCRIPTION_ID_3 } from '../constants';
2220
import MockNotification from '../mocks/MockNotification';
2321
import BrowserUserAgent from '../models/BrowserUserAgent';
@@ -27,26 +25,12 @@ import { type TestEnvironmentConfig } from './TestEnvironment';
2725

2826
declare const global: any;
2927

30-
const bowserCastleSpy = vi.spyOn(bowerCastleHelpers, 'bowserCastle');
31-
3228
export function resetDatabase() {
3329
// Erase and reset IndexedDb database name to something random
3430
Database.resetInstance();
3531
Database.databaseInstanceName = Random.getRandomString(10);
3632
}
3733

38-
export function mockUserAgent(config: TestEnvironmentConfig = {}): void {
39-
// @ts-expect-error - bowser is not typed correctly
40-
const info = bowser._detect(config.userAgent ?? BrowserUserAgent.Default);
41-
// Modify the mock implementation
42-
bowserCastleSpy.mockReturnValue({
43-
mobile: info.mobile,
44-
tablet: info.tablet,
45-
name: info.name.toLowerCase(),
46-
version: info.version,
47-
});
48-
}
49-
5034
export async function initOSGlobals(config: TestEnvironmentConfig = {}) {
5135
global.OneSignal = OneSignal;
5236
global.OneSignal.EVENTS = ONESIGNAL_EVENTS;

__test__/unit/core/coreModuleDirector.test.ts

Lines changed: 0 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,3 @@
1-
import { mockUserAgent } from '__test__/support/environment/TestEnvironmentHelpers';
21
import { CoreModuleDirector } from '../../../src/core/CoreModuleDirector';
32
import { TestEnvironment } from '../../support/environment/TestEnvironment';
43
import {
@@ -12,11 +11,6 @@ describe('CoreModuleDirector tests', () => {
1211
});
1312

1413
describe('getPushSubscriptionModel', () => {
15-
beforeEach(() => {
16-
vi.resetAllMocks();
17-
mockUserAgent();
18-
});
19-
2014
async function getPushSubscriptionModel() {
2115
return (await getCoreModuleDirector()).getPushSubscriptionModel();
2216
}

__test__/unit/core/osModel.test.ts

Lines changed: 0 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,13 +1,8 @@
1-
import { mockUserAgent } from '__test__/support/environment/TestEnvironmentHelpers';
21
import { SubscriptionModel } from 'src/core/models/SubscriptionModel';
32
import { SubscriptionType } from 'src/core/types/subscription';
43
import { generateNewSubscription } from '../../support/helpers/core';
54

65
describe('Model tests', () => {
7-
beforeAll(() => {
8-
mockUserAgent();
9-
});
10-
116
test('Set function updates data', async () => {
127
const newSub = generateNewSubscription();
138
expect(newSub.enabled).toBe(undefined);

__test__/unit/http/sdkVersion.test.ts

Lines changed: 1 addition & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,3 @@
1-
import { mockUserAgent } from '__test__/support/environment/TestEnvironmentHelpers';
21
import { generateNewSubscription } from '__test__/support/helpers/core';
32
import { nock } from '__test__/support/helpers/general';
43
import AliasPair from '../../../src/core/requestService/AliasPair';
@@ -11,10 +10,7 @@ import {
1110
import { expectHeaderToBeSent } from '../../support/helpers/sdkVersion';
1211

1312
describe('Sdk Version Header Tests', () => {
14-
beforeAll(() => {
15-
nock({});
16-
mockUserAgent();
17-
});
13+
beforeAll(() => nock({}));
1814

1915
test('POST /users: SDK-Version header is sent', () => {
2016
// @ts-expect-error - partial identity object

__test__/unit/pushSubscription/nativePermissionChange.test.ts

Lines changed: 1 addition & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -6,10 +6,7 @@ import {
66
DUMMY_SUBSCRIPTION_ID_3,
77
} from '__test__/support/constants';
88
import { TestEnvironment } from '__test__/support/environment/TestEnvironment';
9-
import {
10-
createPushSub,
11-
mockUserAgent,
12-
} from '__test__/support/environment/TestEnvironmentHelpers';
9+
import { createPushSub } from '__test__/support/environment/TestEnvironmentHelpers';
1310
import { MockServiceWorker } from '__test__/support/mocks/MockServiceWorker';
1411
import Emitter from 'src/shared/libraries/Emitter';
1512
import { AppState } from 'src/shared/models/AppState';
@@ -29,7 +26,6 @@ vi.useFakeTimers();
2926

3027
describe('Notification Types are set correctly on subscription change', () => {
3128
beforeEach(async () => {
32-
mockUserAgent();
3329
await TestEnvironment.initialize();
3430
OneSignal.emitter = new Emitter();
3531
});

package-lock.json

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

package.json

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,6 @@
44
"description": "Web push notifications from OneSignal.",
55
"type": "module",
66
"dependencies": {
7-
"bowser": "github:OneSignal/bowser#fix-android8-opr6-build-detection",
87
"jsonp": "github:OneSignal/jsonp#onesignal",
98
"uuid": "^11.1.0"
109
},

src/core/executors/LoginUserOperationExecutor.test.ts

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,6 @@ import {
99
DUMMY_SUBSCRIPTION_ID_2,
1010
} from '__test__/support/constants';
1111
import { TestEnvironment } from '__test__/support/environment/TestEnvironment';
12-
import { mockUserAgent } from '__test__/support/environment/TestEnvironmentHelpers';
1312
import { SomeOperation } from '__test__/support/helpers/executors';
1413
import {
1514
createUserFn,
@@ -53,7 +52,6 @@ describe('LoginUserOperationExecutor', () => {
5352

5453
beforeEach(async () => {
5554
await Database.clear();
56-
mockUserAgent();
5755
identityModelStore = new IdentityModelStore();
5856
propertiesModelStore = new PropertiesModelStore();
5957
subscriptionModelStore = new SubscriptionModelStore();

src/core/executors/RefreshUserOperationExecutor.test.ts

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,6 @@ import {
66
DUMMY_SUBSCRIPTION_ID,
77
DUMMY_SUBSCRIPTION_ID_2,
88
} from '__test__/support/constants';
9-
import { mockUserAgent } from '__test__/support/environment/TestEnvironmentHelpers';
109
import { SomeOperation } from '__test__/support/helpers/executors';
1110
import {
1211
setGetUserError,
@@ -38,7 +37,6 @@ vi.mock('src/shared/libraries/Log');
3837
describe('RefreshUserOperationExecutor', () => {
3938
beforeEach(async () => {
4039
await Database.clear(); // in case subscription model (from previous tests) are loaded from db
41-
mockUserAgent();
4240
identityModelStore = new IdentityModelStore();
4341
propertiesModelStore = new PropertiesModelStore();
4442
subscriptionModelStore = new SubscriptionModelStore();

0 commit comments

Comments
 (0)