From 004ba924b2d3d203546f7534d43b090731e84cb9 Mon Sep 17 00:00:00 2001 From: belviskhoremk Date: Thu, 13 Aug 2026 09:08:31 +0200 Subject: [PATCH] feat: extend Product with featured/featuredOrder --- src/data/products.test.ts | 8 ++++++-- src/data/products.ts | 6 ++++++ 2 files changed, 12 insertions(+), 2 deletions(-) diff --git a/src/data/products.test.ts b/src/data/products.test.ts index 428a92c..414d6e6 100644 --- a/src/data/products.test.ts +++ b/src/data/products.test.ts @@ -20,6 +20,8 @@ const ROW = { image: 'products/edge-control.jpg', description: 'Tenue longue durée.', in_stock: true, + featured: true, + featured_order: 0, } import { fetchProducts, getProductsByCategory, type Product } from './products' @@ -49,6 +51,8 @@ describe('fetchProducts', () => { image: 'https://cdn.example/products/edge-control.jpg', description: 'Tenue longue durée.', inStock: true, + featured: true, + featuredOrder: 0, }, ]) }) @@ -61,8 +65,8 @@ describe('fetchProducts', () => { describe('getProductsByCategory', () => { const products: Product[] = [ - { id: 'a', name: 'A', category: 'hair-care', price: 1, image: '', description: '', inStock: true }, - { id: 'b', name: 'B', category: 'tools', price: 1, image: '', description: '', inStock: true }, + { id: 'a', name: 'A', category: 'hair-care', price: 1, image: '', description: '', inStock: true, featured: false, featuredOrder: null }, + { id: 'b', name: 'B', category: 'tools', price: 1, image: '', description: '', inStock: true, featured: false, featuredOrder: null }, ] it('returns all products for "all"', () => { diff --git a/src/data/products.ts b/src/data/products.ts index 881eb89..0d08621 100644 --- a/src/data/products.ts +++ b/src/data/products.ts @@ -9,6 +9,8 @@ export interface Product { image: string description: string inStock: boolean + featured: boolean + featuredOrder: number | null } interface ProductRow { @@ -19,6 +21,8 @@ interface ProductRow { image: string description: string in_stock: boolean + featured: boolean + featured_order: number | null } export async function fetchProducts(): Promise { @@ -32,6 +36,8 @@ export async function fetchProducts(): Promise { image: resolveImageUrl(row.image), description: row.description, inStock: row.in_stock, + featured: row.featured, + featuredOrder: row.featured_order, })) }