This commit is contained in:
Pierre Noël 2021-04-02 10:45:44 +02:00
parent 3c85f38fb4
commit 30f45b9b40
2 changed files with 18 additions and 6 deletions

View File

@ -17,11 +17,11 @@ const create = locale => strapi.query('locale', 'i18n').create(locale);
const update = (params, updates) => strapi.query('locale', 'i18n').update(params, updates);
const deleteFn = async ({ id }) => {
let localeToDelete = await strapi.query('locale', 'i18n').findOne({ id });
const localeToDelete = await strapi.query('locale', 'i18n').findOne({ id });
if (localeToDelete) {
await deleteAllLocalizedEntriesFor({ locale: localeToDelete.code });
localeToDelete = await strapi.query('locale', 'i18n').delete({ id });
return strapi.query('locale', 'i18n').delete({ id });
}
return localeToDelete;
};

View File

@ -328,11 +328,23 @@ describe('CRUD locales', () => {
expect(res.body.message).toBe('Cannot delete the default locale');
});
test('Can delete a locale', async () => {
test('Can delete a locale - simple', async () => {
const res = await rq({
url: `/i18n/locales/${data.locales[1].id}`,
method: 'DELETE',
});
expect(res.statusCode).toBe(200);
expect(res.body).toMatchObject(omitTimestamps(data.locales[1]));
data.deletedLocales.push(res.body);
data.locales.splice(1, 1);
});
test('Can delete a locale - with related entities', async () => {
const { body: frenchProduct } = await rq({
url: '/content-manager/collection-types/application::product.product',
method: 'POST',
qs: { plugins: { i18n: { locale: 'fr' } } },
qs: { plugins: { i18n: { locale: 'fr-FR' } } },
body: { name: 'product name' },
});
@ -348,7 +360,7 @@ describe('CRUD locales', () => {
} = await rq({
url: '/content-manager/collection-types/application::product.product',
method: 'GET',
qs: { _locale: 'fr' },
qs: { _locale: 'fr-FR' },
});
expect(createdProducts).toHaveLength(1);
@ -364,7 +376,7 @@ describe('CRUD locales', () => {
} = await rq({
url: '/content-manager/collection-types/application::product.product',
method: 'GET',
qs: { _locale: 'fr' },
qs: { _locale: 'fr-FR' },
});
expect(frenchProducts).toHaveLength(0);