Tofu/scripts/import-recipes/tests/slugifyRecipeName.test.js
2026-09-18 01:41:02 +02:00

24 lines
1,002 B
JavaScript

import { test } from 'node:test'
import assert from 'node:assert/strict'
import { slugifyRecipeName } from '#import-recipes/recipes/slugifyRecipeName.js'
test('drops accents, lowercases and joins with dashes', () => {
assert.equal(slugifyRecipeName('Gnocchis à la sauge'), 'gnocchis-a-la-sauge')
assert.equal(slugifyRecipeName('Gratin de courgettes'), 'gratin-de-courgettes')
assert.equal(slugifyRecipeName('Crème brûlée'), 'creme-brulee')
})
test('spells out ligatures', () => {
assert.equal(slugifyRecipeName('Bœuf bourguignon'), 'boeuf-bourguignon')
})
test('collapses punctuation and trims the dashes', () => {
assert.equal(slugifyRecipeName(" Tarte aux pommes, maison ! "), 'tarte-aux-pommes-maison')
assert.equal(slugifyRecipeName('Riz 100 % complet'), 'riz-100-complet')
})
test('returns an empty string when nothing is left', () => {
assert.equal(slugifyRecipeName('!!!'), '')
assert.equal(slugifyRecipeName(''), '')
assert.equal(slugifyRecipeName(null), '')
})