diff --git a/backend/src/middleware/slugify/uniqueSlug.js b/backend/src/middleware/slugify/uniqueSlug.js index ca37cd562..abab3851a 100644 --- a/backend/src/middleware/slugify/uniqueSlug.js +++ b/backend/src/middleware/slugify/uniqueSlug.js @@ -2,6 +2,7 @@ import slugify from 'slug' export default async function uniqueSlug(string, isUnique) { const slug = slugify(string || 'anonymous', { lower: true, + locale: 'de', }) if (await isUnique(slug)) return slug diff --git a/backend/src/middleware/slugify/uniqueSlug.spec.js b/backend/src/middleware/slugify/uniqueSlug.spec.js index ff14a56ef..684f70015 100644 --- a/backend/src/middleware/slugify/uniqueSlug.spec.js +++ b/backend/src/middleware/slugify/uniqueSlug.spec.js @@ -19,3 +19,17 @@ describe('uniqueSlug', () => { expect(uniqueSlug(string, isUnique)).resolves.toEqual('anonymous') }) }) + +describe('Slug is transliterated correctly', () => { + it('Converts umlaut to two letter equivalent', () => { + const umlaut = 'ä'; + const isUnique = jest.fn().mockResolvedValue(true) + expect(uniqueSlug(string, isUnique)).resolves.toEqual('ae'); + }) + + it('Removes Spanish enya ', () => { + const enya = 'ñ'; + const isUnique = jest.fn().mockResolvedValue(true) + expect(uniqueSlug(string, isUnique)).resolves.toEqual('n'); + }) +})