Skip to content

Commit b66ea47

Browse files
Merge pull request #1264 from contentful/fix/import-more-than-100-locales-zend-5557
fix: import more than 100 locales [ZEND-5557]
2 parents 27d13ad + 6dc1053 commit b66ea47

File tree

4 files changed

+11
-14
lines changed

4 files changed

+11
-14
lines changed

lib/tasks/get-destination-data.ts

Lines changed: 3 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -63,7 +63,7 @@ async function batchedPageQuery ({ environment, type, requestQueue }: BatchedPag
6363
})
6464
totalFetched += response.items.length
6565
logEmitter.emit('info', `Fetched ${totalFetched} of ${response.total} ${entityTypeName}`)
66-
66+
6767
return { items: response.items, total: response.total }
6868
})
6969

@@ -188,11 +188,10 @@ export default async function getDestinationData ({
188188

189189
if (!skipLocales) {
190190
const localeIds = sourceData.locales?.map((e) => e.sys.id)
191-
if (localeIds) {
192-
result.locales = batchedIdQuery({
191+
if (localeIds && localeIds.length) {
192+
result.locales = batchedPageQuery({
193193
environment,
194194
type: 'locales',
195-
ids: localeIds,
196195
requestQueue
197196
})
198197
}

package-lock.json

Lines changed: 1 addition & 1 deletion
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
@@ -130,4 +130,4 @@
130130
"@semantic-release/github"
131131
]
132132
}
133-
}
133+
}

test/unit/tasks/get-destination-data.test.ts

Lines changed: 6 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@ import getDestinationData from '../../../lib/tasks/get-destination-data'
55

66
const sourceData = {
77
contentTypes: times(150, (n) => ({ sys: { id: `ct-${n}` } })),
8-
locales: times(5, (n) => ({ sys: { id: `ct-${n}` } })),
8+
locales: times(105, (n) => ({ sys: { id: `ct-${n}` } })),
99
entries: times(2000, (n) => ({ sys: { id: `e-${n}` } })),
1010
assets: times(1500, (n) => ({ sys: { id: `a-${n}` } })),
1111
tags: times(250, (n) => ({ sys: { id: `t-${n}` }, name: `t-${n}` }))
@@ -38,7 +38,7 @@ const mockEnvironment = {
3838
getContentTypes: jest.fn(batchQueryResolver),
3939
getEntries: jest.fn(batchQueryResolver),
4040
getAssets: jest.fn(batchQueryResolver),
41-
getLocales: jest.fn(batchQueryResolver),
41+
getLocales: jest.fn(batchPageResolver(sourceData.locales)),
4242
getTags: jest.fn(batchPageResolver(sourceData.tags)) // resolve 250 tags
4343
}
4444

@@ -90,15 +90,14 @@ test('Gets destination content', () => {
9090
.then((response) => {
9191
expect(mockEnvironment.getContentTypes.mock.calls).toHaveLength(2)
9292
testQueryLength('getContentTypes')
93-
expect(mockEnvironment.getLocales.mock.calls).toHaveLength(1)
94-
testQueryLength('getLocales')
93+
expect(mockEnvironment.getLocales.mock.calls).toHaveLength(2)
9594
expect(mockEnvironment.getEntries.mock.calls).toHaveLength(20)
9695
testQueryLength('getEntries')
9796
expect(mockEnvironment.getAssets.mock.calls).toHaveLength(15)
9897
testQueryLength('getAssets')
9998
expect(mockEnvironment.getTags.mock.calls).toHaveLength(3)
10099
expect(response.contentTypes).toHaveLength(150)
101-
expect(response.locales).toHaveLength(5)
100+
expect(response.locales).toHaveLength(105)
102101
expect(response.entries).toHaveLength(2000)
103102
expect(response.assets).toHaveLength(1500)
104103
expect(response.tags).toHaveLength(250)
@@ -171,13 +170,12 @@ test('Gets destination content with contentModelOnly', () => {
171170
.then((response) => {
172171
expect(mockEnvironment.getContentTypes.mock.calls).toHaveLength(2)
173172
testQueryLength('getContentTypes')
174-
expect(mockEnvironment.getLocales.mock.calls).toHaveLength(1)
175-
testQueryLength('getLocales')
173+
expect(mockEnvironment.getLocales.mock.calls).toHaveLength(2)
176174
expect(mockEnvironment.getEntries.mock.calls).toHaveLength(0)
177175
expect(mockEnvironment.getAssets.mock.calls).toHaveLength(0)
178176
expect(mockEnvironment.getTags.mock.calls).toHaveLength(3)
179177
expect(response.contentTypes).toHaveLength(150)
180-
expect(response.locales).toHaveLength(5)
178+
expect(response.locales).toHaveLength(105)
181179
expect(response.entries).toHaveLength(0)
182180
expect(response.assets).toHaveLength(0)
183181
expect(response.tags).toHaveLength(250)

0 commit comments

Comments
 (0)