@wordpress/core-data 4.0.1 → 4.0.5
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +13 -7
- package/build/actions.js +178 -122
- package/build/actions.js.map +1 -1
- package/build/batch/default-processor.js +58 -27
- package/build/batch/default-processor.js.map +1 -1
- package/build/entities.js +70 -23
- package/build/entities.js.map +1 -1
- package/build/fetch/__experimental-fetch-url-data.js +1 -1
- package/build/fetch/__experimental-fetch-url-data.js.map +1 -1
- package/build/index.js +9 -17
- package/build/index.js.map +1 -1
- package/build/locks/actions.js +17 -77
- package/build/locks/actions.js.map +1 -1
- package/build/locks/engine.js +77 -0
- package/build/locks/engine.js.map +1 -0
- package/build/locks/reducer.js +1 -5
- package/build/locks/reducer.js.map +1 -1
- package/build/locks/selectors.js +6 -6
- package/build/locks/selectors.js.map +1 -1
- package/build/queried-data/get-query-parts.js +9 -4
- package/build/queried-data/get-query-parts.js.map +1 -1
- package/build/queried-data/selectors.js +3 -9
- package/build/queried-data/selectors.js.map +1 -1
- package/build/reducer.js +17 -22
- package/build/reducer.js.map +1 -1
- package/build/resolvers.js +151 -97
- package/build/resolvers.js.map +1 -1
- package/build/selectors.js +79 -14
- package/build/selectors.js.map +1 -1
- package/build/utils/forward-resolver.js +23 -0
- package/build/utils/forward-resolver.js.map +1 -0
- package/build/utils/index.js +11 -3
- package/build/utils/index.js.map +1 -1
- package/build/utils/is-raw-attribute.js +19 -0
- package/build/utils/is-raw-attribute.js.map +1 -0
- package/build-module/actions.js +155 -112
- package/build-module/actions.js.map +1 -1
- package/build-module/batch/default-processor.js +57 -27
- package/build-module/batch/default-processor.js.map +1 -1
- package/build-module/entities.js +65 -19
- package/build-module/entities.js.map +1 -1
- package/build-module/fetch/__experimental-fetch-url-data.js +1 -1
- package/build-module/fetch/__experimental-fetch-url-data.js.map +1 -1
- package/build-module/index.js +10 -14
- package/build-module/index.js.map +1 -1
- package/build-module/locks/actions.js +14 -68
- package/build-module/locks/actions.js.map +1 -1
- package/build-module/locks/engine.js +66 -0
- package/build-module/locks/engine.js.map +1 -0
- package/build-module/locks/reducer.js +1 -2
- package/build-module/locks/reducer.js.map +1 -1
- package/build-module/locks/selectors.js +4 -4
- package/build-module/locks/selectors.js.map +1 -1
- package/build-module/queried-data/get-query-parts.js +9 -4
- package/build-module/queried-data/get-query-parts.js.map +1 -1
- package/build-module/queried-data/selectors.js +3 -9
- package/build-module/queried-data/selectors.js.map +1 -1
- package/build-module/reducer.js +15 -19
- package/build-module/reducer.js.map +1 -1
- package/build-module/resolvers.js +123 -81
- package/build-module/resolvers.js.map +1 -1
- package/build-module/selectors.js +74 -13
- package/build-module/selectors.js.map +1 -1
- package/build-module/utils/forward-resolver.js +15 -0
- package/build-module/utils/forward-resolver.js.map +1 -0
- package/build-module/utils/index.js +2 -1
- package/build-module/utils/index.js.map +1 -1
- package/build-module/utils/is-raw-attribute.js +12 -0
- package/build-module/utils/is-raw-attribute.js.map +1 -0
- package/package.json +10 -11
- package/src/actions.js +163 -194
- package/src/batch/default-processor.js +57 -26
- package/src/batch/test/default-processor.js +53 -26
- package/src/entities.js +47 -19
- package/src/fetch/__experimental-fetch-url-data.js +1 -1
- package/src/index.js +7 -10
- package/src/locks/actions.js +10 -61
- package/src/locks/engine.js +43 -0
- package/src/locks/reducer.js +1 -3
- package/src/locks/selectors.js +4 -4
- package/src/locks/test/engine.js +135 -0
- package/src/locks/test/reducer.js +1 -1
- package/src/locks/test/selectors.js +105 -124
- package/src/queried-data/get-query-parts.js +11 -6
- package/src/queried-data/selectors.js +2 -9
- package/src/queried-data/test/get-query-parts.js +1 -1
- package/src/queried-data/test/selectors.js +1 -0
- package/src/reducer.js +14 -19
- package/src/resolvers.js +132 -120
- package/src/selectors.js +156 -44
- package/src/test/actions.js +330 -170
- package/src/test/entities.js +40 -26
- package/src/test/resolvers.js +270 -223
- package/src/test/selectors.js +127 -1
- package/src/utils/forward-resolver.js +14 -0
- package/src/utils/index.js +2 -1
- package/src/utils/is-raw-attribute.js +11 -0
- package/src/utils/test/is-raw-attribute.js +22 -0
- package/build/controls.js +0 -44
- package/build/controls.js.map +0 -1
- package/build/locks/index.js +0 -47
- package/build/locks/index.js.map +0 -1
- package/build/utils/if-not-resolved.js +0 -46
- package/build/utils/if-not-resolved.js.map +0 -1
- package/build-module/controls.js +0 -31
- package/build-module/controls.js.map +0 -1
- package/build-module/locks/index.js +0 -4
- package/build-module/locks/index.js.map +0 -1
- package/build-module/utils/if-not-resolved.js +0 -36
- package/build-module/utils/if-not-resolved.js.map +0 -1
- package/src/controls.js +0 -31
- package/src/locks/index.js +0 -3
- package/src/locks/test/actions.js +0 -307
- package/src/test/integration.js +0 -264
- package/src/utils/if-not-resolved.js +0 -40
- package/src/utils/test/if-not-resolved.js +0 -75
package/src/test/entities.js
CHANGED
|
@@ -1,3 +1,9 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* WordPress dependencies
|
|
3
|
+
*/
|
|
4
|
+
import triggerFetch from '@wordpress/api-fetch';
|
|
5
|
+
jest.mock( '@wordpress/api-fetch' );
|
|
6
|
+
|
|
1
7
|
/**
|
|
2
8
|
* Internal dependencies
|
|
3
9
|
*/
|
|
@@ -7,7 +13,6 @@ import {
|
|
|
7
13
|
getKindEntities,
|
|
8
14
|
prePersistPostType,
|
|
9
15
|
} from '../entities';
|
|
10
|
-
import { addEntities } from '../actions';
|
|
11
16
|
|
|
12
17
|
describe( 'getMethodName', () => {
|
|
13
18
|
it( 'should return the right method name for an entity with the root kind', () => {
|
|
@@ -45,43 +50,52 @@ describe( 'getMethodName', () => {
|
|
|
45
50
|
} );
|
|
46
51
|
|
|
47
52
|
describe( 'getKindEntities', () => {
|
|
53
|
+
beforeEach( async () => {
|
|
54
|
+
triggerFetch.mockReset();
|
|
55
|
+
jest.useFakeTimers();
|
|
56
|
+
} );
|
|
57
|
+
|
|
48
58
|
it( 'shouldn’t do anything if the entities have already been resolved', async () => {
|
|
59
|
+
const dispatch = jest.fn();
|
|
60
|
+
const select = {
|
|
61
|
+
getEntitiesByKind: jest.fn( () => entities ),
|
|
62
|
+
};
|
|
49
63
|
const entities = [ { kind: 'postType' } ];
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
fulfillment.next();
|
|
53
|
-
// Provide the entities
|
|
54
|
-
const end = fulfillment.next( entities );
|
|
55
|
-
expect( end.done ).toBe( true );
|
|
64
|
+
await getKindEntities( 'postType' )( { dispatch, select } );
|
|
65
|
+
expect( dispatch ).not.toHaveBeenCalled();
|
|
56
66
|
} );
|
|
57
67
|
|
|
58
68
|
it( 'shouldn’t do anything if there no defined kind config', async () => {
|
|
59
|
-
const
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
expect(
|
|
69
|
+
const dispatch = jest.fn();
|
|
70
|
+
const select = {
|
|
71
|
+
getEntitiesByKind: jest.fn( () => [] ),
|
|
72
|
+
};
|
|
73
|
+
await getKindEntities( 'unknownKind' )( { dispatch, select } );
|
|
74
|
+
expect( dispatch ).not.toHaveBeenCalled();
|
|
65
75
|
} );
|
|
66
76
|
|
|
67
77
|
it( 'should fetch and add the entities', async () => {
|
|
68
78
|
const fetchedEntities = [
|
|
69
79
|
{
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
80
|
+
rest_base: 'posts',
|
|
81
|
+
labels: {
|
|
82
|
+
singular_name: 'post',
|
|
83
|
+
},
|
|
73
84
|
},
|
|
74
85
|
];
|
|
75
|
-
const
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
expect(
|
|
83
|
-
|
|
84
|
-
expect(
|
|
86
|
+
const dispatch = jest.fn();
|
|
87
|
+
const select = {
|
|
88
|
+
getEntitiesByKind: jest.fn( () => [] ),
|
|
89
|
+
};
|
|
90
|
+
triggerFetch.mockImplementation( () => fetchedEntities );
|
|
91
|
+
|
|
92
|
+
await getKindEntities( 'postType' )( { dispatch, select } );
|
|
93
|
+
expect( dispatch ).toHaveBeenCalledTimes( 1 );
|
|
94
|
+
expect( dispatch.mock.calls[ 0 ][ 0 ].type ).toBe( 'ADD_ENTITIES' );
|
|
95
|
+
expect( dispatch.mock.calls[ 0 ][ 0 ].entities.length ).toBe( 1 );
|
|
96
|
+
expect( dispatch.mock.calls[ 0 ][ 0 ].entities[ 0 ].baseURL ).toBe(
|
|
97
|
+
'/wp/v2/posts'
|
|
98
|
+
);
|
|
85
99
|
} );
|
|
86
100
|
} );
|
|
87
101
|
|