package mocks import ( "context" "github.com/food-ai/backend/internal/domain/product" ) // MockProductRepository is a test double implementing product.ProductRepository. type MockProductRepository struct { ListFn func(ctx context.Context, userID string) ([]*product.Product, error) CreateFn func(ctx context.Context, userID string, req product.CreateRequest) (*product.Product, error) BatchCreateFn func(ctx context.Context, userID string, items []product.CreateRequest) ([]*product.Product, error) UpdateFn func(ctx context.Context, id, userID string, req product.UpdateRequest) (*product.Product, error) DeleteFn func(ctx context.Context, id, userID string) error } func (m *MockProductRepository) List(ctx context.Context, userID string) ([]*product.Product, error) { return m.ListFn(ctx, userID) } func (m *MockProductRepository) Create(ctx context.Context, userID string, req product.CreateRequest) (*product.Product, error) { return m.CreateFn(ctx, userID, req) } func (m *MockProductRepository) BatchCreate(ctx context.Context, userID string, items []product.CreateRequest) ([]*product.Product, error) { return m.BatchCreateFn(ctx, userID, items) } func (m *MockProductRepository) Update(ctx context.Context, id, userID string, req product.UpdateRequest) (*product.Product, error) { return m.UpdateFn(ctx, id, userID, req) } func (m *MockProductRepository) Delete(ctx context.Context, id, userID string) error { return m.DeleteFn(ctx, id, userID) }