Skip to content

Commit d731a72

Browse files
committed
Add StorageMock checks for each test and make Jest always use OnyxMerge web version
1 parent ab9be04 commit d731a72

2 files changed

Lines changed: 18 additions & 5 deletions

File tree

jest.config.js

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -14,4 +14,8 @@ module.exports = {
1414
setupFilesAfterEnv: ['./jestSetup.js'],
1515
testTimeout: 60000,
1616
transformIgnorePatterns: ['node_modules/(?!((@)?react-native|@ngneat/falso|uuid)/)'],
17+
moduleNameMapper: {
18+
// Redirect all imports of OnyxMerge to its web version during unit tests.
19+
'^(.*)/OnyxMerge$': '<rootDir>/lib/OnyxMerge/index.ts',
20+
},
1721
};

tests/unit/onyxTest.ts

Lines changed: 14 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,7 @@ import Onyx from '../../lib';
44
import waitForPromisesToResolve from '../utils/waitForPromisesToResolve';
55
import OnyxUtils from '../../lib/OnyxUtils';
66
import type OnyxCache from '../../lib/OnyxCache';
7+
import StorageMock from '../../lib/storage';
78
import type {DeepRecord, OnyxCollection, OnyxUpdate} from '../../lib/types';
89
import type GenericCollection from '../utils/GenericCollection';
910
import type {Connection} from '../../lib/OnyxConnectionManager';
@@ -1738,11 +1739,8 @@ describe('Onyx', () => {
17381739

17391740
await Onyx.update(queuedUpdates);
17401741

1741-
expect(result).toEqual({
1742-
[`${ONYX_KEYS.COLLECTION.TEST_UPDATE}entry1`]: {
1743-
someKey: 'someValueChanged',
1744-
},
1745-
});
1742+
expect(result).toEqual({[`${ONYX_KEYS.COLLECTION.TEST_UPDATE}entry1`]: {someKey: 'someValueChanged'}});
1743+
expect(await StorageMock.getItem(`${ONYX_KEYS.COLLECTION.TEST_UPDATE}entry1`)).toEqual({someKey: 'someValueChanged'});
17461744
});
17471745

17481746
describe('should replace the old value after a null merge in a nested property when batching updates', () => {
@@ -1797,6 +1795,7 @@ describe('Onyx', () => {
17971795
await Onyx.update(queuedUpdates);
17981796

17991797
expect(result).toEqual({[`${ONYX_KEYS.COLLECTION.TEST_UPDATE}entry1`]: entry1ExpectedResult});
1798+
expect(await StorageMock.getItem(`${ONYX_KEYS.COLLECTION.TEST_UPDATE}entry1`)).toEqual(entry1ExpectedResult);
18001799
});
18011800

18021801
it('setting new object after null merge', async () => {
@@ -1869,6 +1868,7 @@ describe('Onyx', () => {
18691868
await Onyx.update(queuedUpdates);
18701869

18711870
expect(result).toEqual({[`${ONYX_KEYS.COLLECTION.TEST_UPDATE}entry1`]: entry1ExpectedResult});
1871+
expect(await StorageMock.getItem(`${ONYX_KEYS.COLLECTION.TEST_UPDATE}entry1`)).toEqual(entry1ExpectedResult);
18721872
});
18731873

18741874
it('setting new object after null merge of a primitive property', async () => {
@@ -1929,6 +1929,7 @@ describe('Onyx', () => {
19291929
await Onyx.update(queuedUpdates);
19301930

19311931
expect(result).toEqual({[`${ONYX_KEYS.COLLECTION.TEST_UPDATE}entry1`]: entry1ExpectedResult});
1932+
expect(await StorageMock.getItem(`${ONYX_KEYS.COLLECTION.TEST_UPDATE}entry1`)).toEqual(entry1ExpectedResult);
19321933
});
19331934

19341935
describe('mergeCollection', () => {
@@ -2008,6 +2009,10 @@ describe('Onyx', () => {
20082009
[`${ONYX_KEYS.COLLECTION.TEST_UPDATE}entry1`]: entry1ExpectedResult,
20092010
[`${ONYX_KEYS.COLLECTION.TEST_UPDATE}entry2`]: entry2ExpectedResult,
20102011
});
2012+
expect(await StorageMock.multiGet([`${ONYX_KEYS.COLLECTION.TEST_UPDATE}entry1`, `${ONYX_KEYS.COLLECTION.TEST_UPDATE}entry2`])).toEqual([
2013+
[`${ONYX_KEYS.COLLECTION.TEST_UPDATE}entry1`, entry1ExpectedResult],
2014+
[`${ONYX_KEYS.COLLECTION.TEST_UPDATE}entry2`, entry2ExpectedResult],
2015+
]);
20112016
});
20122017
});
20132018
});
@@ -2042,6 +2047,7 @@ describe('Onyx', () => {
20422047
await waitForPromisesToResolve();
20432048

20442049
expect(result).toEqual({[`${ONYX_KEYS.COLLECTION.TEST_UPDATE}entry1`]: {someKey: 'someValueChanged'}});
2050+
expect(await StorageMock.getItem(`${ONYX_KEYS.COLLECTION.TEST_UPDATE}entry1`)).toEqual({someKey: 'someValueChanged'});
20452051
});
20462052

20472053
describe('should replace the old value after a null merge in a nested property when batching merges', () => {
@@ -2087,6 +2093,7 @@ describe('Onyx', () => {
20872093
await waitForPromisesToResolve();
20882094

20892095
expect(result).toEqual({[`${ONYX_KEYS.COLLECTION.TEST_UPDATE}entry1`]: entry1ExpectedResult});
2096+
expect(await StorageMock.getItem(`${ONYX_KEYS.COLLECTION.TEST_UPDATE}entry1`)).toEqual(entry1ExpectedResult);
20902097
});
20912098

20922099
it('setting new object after null merge', async () => {
@@ -2146,6 +2153,7 @@ describe('Onyx', () => {
21462153
await waitForPromisesToResolve();
21472154

21482155
expect(result).toEqual({[`${ONYX_KEYS.COLLECTION.TEST_UPDATE}entry1`]: entry1ExpectedResult});
2156+
expect(await StorageMock.getItem(`${ONYX_KEYS.COLLECTION.TEST_UPDATE}entry1`)).toEqual(entry1ExpectedResult);
21492157
});
21502158

21512159
it('setting new object after null merge of a primitive property', async () => {
@@ -2197,6 +2205,7 @@ describe('Onyx', () => {
21972205
await waitForPromisesToResolve();
21982206

21992207
expect(result).toEqual({[`${ONYX_KEYS.COLLECTION.TEST_UPDATE}entry1`]: entry1ExpectedResult});
2208+
expect(await StorageMock.getItem(`${ONYX_KEYS.COLLECTION.TEST_UPDATE}entry1`)).toEqual(entry1ExpectedResult);
22002209
});
22012210
});
22022211

0 commit comments

Comments
 (0)