Skip to content

Commit ea0bc09

Browse files
committed
fix: export-to-csv fallback locale issue
1 parent 875b2b8 commit ea0bc09

File tree

2 files changed

+22
-47
lines changed

2 files changed

+22
-47
lines changed

packages/contentstack-export-to-csv/src/commands/cm/export-to-csv.js

Lines changed: 10 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -261,8 +261,8 @@ class ExportToCsvCommand extends Command {
261261
let stack;
262262
let language;
263263
let stackAPIClient;
264-
// let finalIncludeFallback = includeFallback;
265-
// let finalFallbackLocale = fallbackLocale;
264+
let finalIncludeFallback = includeFallback;
265+
let finalFallbackLocale = fallbackLocale;
266266

267267
if (managementTokenAlias) {
268268
const { stackDetails, apiClient } = await this.getAliasDetails(managementTokenAlias, stackName);
@@ -281,20 +281,18 @@ class ExportToCsvCommand extends Command {
281281

282282
// if (includeFallback === undefined || fallbackLocale === undefined) {
283283
// const fallbackOptions = await util.chooseFallbackOptions(stackAPIClient);
284-
285-
// if (includeFallback === undefined) {
286-
// finalIncludeFallback = fallbackOptions.includeFallback;
287-
// }
288-
// if (fallbackLocale === undefined && fallbackOptions.fallbackLocale) {
289-
// finalFallbackLocale = fallbackOptions.fallbackLocale;
290-
// }
291284
// }
292285

286+
287+
if (fallbackLocale !== undefined) {
288+
finalFallbackLocale = fallbackLocale;
289+
}
290+
293291
await this.createTaxonomyAndTermCsvFile(stackAPIClient, stackName, stack, taxonomyUID, delimiter, {
294292
locale: language.code,
295293
branch: branchUid,
296-
include_fallback: includeFallback,
297-
fallback_locale: fallbackLocale,
294+
include_fallback: finalIncludeFallback,
295+
fallback_locale: finalFallbackLocale,
298296
});
299297
break;
300298
}
@@ -457,7 +455,7 @@ class ExportToCsvCommand extends Command {
457455
} else {
458456
taxonomies = await util.getAllTaxonomies(payload);
459457
}
460-
458+
461459
if (!taxonomies?.length) {
462460
cliux.print('info: No taxonomies found!', { color: 'blue' });
463461
} else {

packages/contentstack-export-to-csv/test/unit/commands/export-to-csv.test.js

Lines changed: 12 additions & 35 deletions
Original file line numberDiff line numberDiff line change
@@ -39,7 +39,9 @@ describe('Export to CSV functionality', () => {
3939
nock(cma)
4040
.get(`/v3/taxonomies/${mockData.taxonomiesResp.taxonomies[0].uid}`)
4141
.reply(200, { taxonomy: mockData.taxonomiesResp.taxonomies[0] })
42-
.get(`/v3/taxonomies/${mockData.taxonomiesResp.taxonomies[0].uid}/export?format=csv&locale=en-us&include_fallback=true&fallback_locale=en-us`)
42+
.get(
43+
`/v3/taxonomies/${mockData.taxonomiesResp.taxonomies[0].uid}/export?format=csv&locale=en-us&include_fallback=true&fallback_locale=en-us`,
44+
)
4345
.reply(200, mockData.taxonomyCSVData);
4446

4547
const { stdout } = await runCommand([
@@ -63,11 +65,17 @@ describe('Export to CSV functionality', () => {
6365

6466
it('CSV file should be created without taxonomy uid and with locale parameters', async () => {
6567
nock(cma)
66-
.get('/v3/taxonomies?include_count=true&limit=100&skip=0&locale=en-us&include_fallback=true&fallback_locale=en-us')
68+
.get(
69+
'/v3/taxonomies?include_count=true&limit=100&skip=0&locale=en-us&include_fallback=true&fallback_locale=en-us',
70+
)
6771
.reply(200, mockData.taxonomiesResp)
68-
.get(`/v3/taxonomies/${mockData.taxonomiesResp.taxonomies[0].uid}/export?format=csv&locale=en-us&include_fallback=true&fallback_locale=en-us`)
72+
.get(
73+
`/v3/taxonomies/${mockData.taxonomiesResp.taxonomies[0].uid}/export?format=csv&locale=en-us&include_fallback=true&fallback_locale=en-us`,
74+
)
6975
.reply(200, mockData.taxonomyCSVData)
70-
.get(`/v3/taxonomies/${mockData.taxonomiesResp.taxonomies[1].uid}/export?format=csv&locale=en-us&include_fallback=true&fallback_locale=en-us`)
76+
.get(
77+
`/v3/taxonomies/${mockData.taxonomiesResp.taxonomies[1].uid}/export?format=csv&locale=en-us&include_fallback=true&fallback_locale=en-us`,
78+
)
7179
.reply(200, mockData.taxonomyCSVData);
7280

7381
const { stdout } = await runCommand([
@@ -86,37 +94,6 @@ describe('Export to CSV functionality', () => {
8694
]);
8795
expect(stdout).to.include('Writing taxonomies to file:');
8896
});
89-
90-
it('CSV file should be created using prompt with fallback options', async () => {
91-
nock(cma)
92-
.get(`/v3/organizations?limit=100`)
93-
.reply(200, { organizations: mockData.organizations })
94-
.get(`/v3/stacks?&query={"org_uid":"${mockData.organizations[0].uid}"}`)
95-
.reply(200, { stacks: mockData.stacks })
96-
.get('/v3/locales')
97-
.reply(200, { locales: mockData.locales })
98-
.get(`/v3/taxonomies/${mockData.taxonomiesResp.taxonomies[0].uid}`)
99-
.reply(200, { taxonomy: mockData.taxonomiesResp.taxonomies[0] })
100-
.get(`/v3/taxonomies/${mockData.taxonomiesResp.taxonomies[0].uid}/export?format=csv&locale=en-us&include_fallback=true&fallback_locale=en-us`)
101-
.reply(200, mockData.taxonomyCSVData);
102-
103-
sandbox.stub(process, 'chdir').returns(undefined);
104-
sandbox.stub(inquirer, 'registerPrompt').returns(undefined);
105-
sandbox.stub(inquirer, 'prompt').returns(
106-
Promise.resolve({
107-
action: 'taxonomies',
108-
chosenOrg: mockData.organizations[0].name,
109-
chosenStack: mockData.stacks[0].name,
110-
chosenLanguage: 'en-us',
111-
includeFallback: true,
112-
selectedFallbackLocale: 'en-us',
113-
}),
114-
);
115-
116-
const { stdout } = await runCommand(['cm:export-to-csv', '--taxonomy-uid', 'taxonomy_uid_1']);
117-
//expect(stdout).to.include('Writing taxonomies to file');
118-
sandbox.restore();
119-
});
12097
});
12198

12299
describe('Export entries', () => {

0 commit comments

Comments
 (0)