FloorMaterialAnalyzer/internal/repository/product_loader_test.go

30 lines
747 B
Go
Raw Permalink Normal View History

2026-07-27 03:03:51 +00:00
package repository
import (
"os"
"path/filepath"
"testing"
)
func TestLoadProducts(t *testing.T) {
dir := t.TempDir()
data := `[{"brand":"A","sku":"2","main_image_url":"b.jpg"},{"brand":"A","sku":"1","main_image_url":"a.jpg"},{"brand":"A","sku":""}]`
if err := os.WriteFile(filepath.Join(dir, "brand.json"), []byte(data), 0o644); err != nil {
t.Fatal(err)
}
if err := os.WriteFile(filepath.Join(dir, "data.zip"), []byte("ignored"), 0o644); err != nil {
t.Fatal(err)
}
products, err := LoadProducts(dir)
if err != nil {
t.Fatal(err)
}
if len(products) != 2 {
t.Fatalf("len(products) = %d", len(products))
}
if products[0].SKU != "1" || products[1].SKU != "2" {
t.Fatalf("products not sorted by sku: %+v", products)
}
}