diff --git a/.changeset/tidy-apples-give.md b/.changeset/tidy-apples-give.md new file mode 100644 index 0000000000..125f4af0a8 --- /dev/null +++ b/.changeset/tidy-apples-give.md @@ -0,0 +1,7 @@ +--- +"@commercetools/composable-commerce-test-data": patch +--- + +fix(product-data): update slug generation to match pattern + +Source: https://docs.commercetools.com/api/projects/products#productdata diff --git a/standalone/src/models/product/product-data/builders.spec.ts b/standalone/src/models/product/product-data/builders.spec.ts index 106c407dd8..ea8ffe5baa 100644 --- a/standalone/src/models/product/product-data/builders.spec.ts +++ b/standalone/src/models/product/product-data/builders.spec.ts @@ -27,7 +27,7 @@ function validateRestModel(restModel: TProductDataRest) { en: expect.any(String), }), slug: expect.objectContaining({ - en: expect.any(String), + en: expect.stringMatching(/^[A-Za-z0-9_-]{2,256}$/), }), metaTitle: expect.objectContaining({ en: expect.any(String), @@ -66,12 +66,12 @@ function validateGraphqlModel(graphqlModel: TProductDataGraphql) { value: expect.any(String), }), ]), - slug: expect.any(String), + slug: expect.stringMatching(/^[A-Za-z0-9_-]{2,256}$/), slugAllLocales: expect.arrayContaining([ expect.objectContaining({ __typename: 'LocalizedString', locale: 'en', - value: expect.any(String), + value: expect.stringMatching(/^[A-Za-z0-9_-]{2,256}$/), }), ]), categoryOrderHint: expect.any(String), diff --git a/standalone/src/models/product/product-data/fields-config.ts b/standalone/src/models/product/product-data/fields-config.ts index bda540ee62..bf02eb1256 100644 --- a/standalone/src/models/product/product-data/fields-config.ts +++ b/standalone/src/models/product/product-data/fields-config.ts @@ -22,7 +22,7 @@ export const restFieldsConfig: TModelFieldsConfig = { ]), categoryOrderHints: fake(() => CategoryOrderHintRest.random()), description: fake(() => LocalizedString.random()), - slug: fake(() => LocalizedString.random()), + slug: fake(() => LocalizedString.presets.ofSlugs()), metaTitle: fake(() => LocalizedString.random()), metaDescription: fake(() => LocalizedString.random()), metaKeywords: fake(() => LocalizedString.random()), @@ -55,7 +55,7 @@ export const graphqlFieldsConfig: TModelFieldsConfig = { searchKeywords: fake(() => [SearchKeywordsGraphql.random()]), skus: fake((f) => [`${f.lorem.word()}-${f.string.alphanumeric(3)}`]), slug: null, // computed - slugAllLocales: fake(() => LocalizedString.random()), + slugAllLocales: fake(() => LocalizedString.presets.ofSlugs()), variant: fake(() => ProductVariantGraphql.random()), variants: fake(() => [ProductVariantGraphql.random()]), },