From e64b3a48551bc846a63460f774a643895e27703d Mon Sep 17 00:00:00 2001 From: Tiago Yamamoto Date: Fri, 26 Dec 2025 17:09:09 -0300 Subject: [PATCH] fix(tests): update mock repo to match interface --- backend/internal/http/handler/handler_test.go | 42 ++++++++++++---- backend/internal/usecase/usecase_test.go | 50 +++++++++++++------ 2 files changed, 68 insertions(+), 24 deletions(-) diff --git a/backend/internal/http/handler/handler_test.go b/backend/internal/http/handler/handler_test.go index 97ddf15..a6c9f01 100644 --- a/backend/internal/http/handler/handler_test.go +++ b/backend/internal/http/handler/handler_test.go @@ -17,20 +17,22 @@ import ( // MockRepository implements the Repository interface for testing without database type MockRepository struct { - companies []domain.Company - products []domain.Product - users []domain.User - orders []domain.Order - shipping []domain.ShippingMethod + companies []domain.Company + products []domain.Product + users []domain.User + orders []domain.Order + shipping []domain.ShippingMethod + shippingSettings map[uuid.UUID]domain.ShippingSettings } func NewMockRepository() *MockRepository { return &MockRepository{ - companies: make([]domain.Company, 0), - products: make([]domain.Product, 0), - users: make([]domain.User, 0), - orders: make([]domain.Order, 0), - shipping: make([]domain.ShippingMethod, 0), + companies: make([]domain.Company, 0), + products: make([]domain.Product, 0), + users: make([]domain.User, 0), + orders: make([]domain.Order, 0), + shipping: make([]domain.ShippingMethod, 0), + shippingSettings: make(map[uuid.UUID]domain.ShippingSettings), } } @@ -274,6 +276,26 @@ func (m *MockRepository) UpsertShippingMethods(ctx context.Context, methods []do return nil } +func (m *MockRepository) GetShippingSettings(ctx context.Context, vendorID uuid.UUID) (*domain.ShippingSettings, error) { + if s, ok := m.shippingSettings[vendorID]; ok { + return &s, nil + } + return nil, nil +} + +func (m *MockRepository) UpsertShippingSettings(ctx context.Context, settings *domain.ShippingSettings) error { + m.shippingSettings[settings.VendorID] = *settings + return nil +} + +func (m *MockRepository) ListReviews(ctx context.Context, filter domain.ReviewFilter) ([]domain.Review, int64, error) { + return []domain.Review{}, 0, nil +} + +func (m *MockRepository) ListShipments(ctx context.Context, filter domain.ShipmentFilter) ([]domain.Shipment, int64, error) { + return []domain.Shipment{}, 0, nil +} + // MockPaymentGateway implements the PaymentGateway interface for testing type MockPaymentGateway struct{} diff --git a/backend/internal/usecase/usecase_test.go b/backend/internal/usecase/usecase_test.go index c04bd48..baed1c9 100644 --- a/backend/internal/usecase/usecase_test.go +++ b/backend/internal/usecase/usecase_test.go @@ -11,24 +11,26 @@ import ( // MockRepository implements Repository interface for testing type MockRepository struct { - companies []domain.Company - products []domain.Product - users []domain.User - orders []domain.Order - cartItems []domain.CartItem - reviews []domain.Review - shipping []domain.ShippingMethod + companies []domain.Company + products []domain.Product + users []domain.User + orders []domain.Order + cartItems []domain.CartItem + reviews []domain.Review + shipping []domain.ShippingMethod + shippingSettings map[uuid.UUID]domain.ShippingSettings } func NewMockRepository() *MockRepository { return &MockRepository{ - companies: make([]domain.Company, 0), - products: make([]domain.Product, 0), - users: make([]domain.User, 0), - orders: make([]domain.Order, 0), - cartItems: make([]domain.CartItem, 0), - reviews: make([]domain.Review, 0), - shipping: make([]domain.ShippingMethod, 0), + companies: make([]domain.Company, 0), + products: make([]domain.Product, 0), + users: make([]domain.User, 0), + orders: make([]domain.Order, 0), + cartItems: make([]domain.CartItem, 0), + reviews: make([]domain.Review, 0), + shipping: make([]domain.ShippingMethod, 0), + shippingSettings: make(map[uuid.UUID]domain.ShippingSettings), } } @@ -293,6 +295,26 @@ func (m *MockRepository) UpsertShippingMethods(ctx context.Context, methods []do return nil } +func (m *MockRepository) GetShippingSettings(ctx context.Context, vendorID uuid.UUID) (*domain.ShippingSettings, error) { + if s, ok := m.shippingSettings[vendorID]; ok { + return &s, nil + } + return nil, nil +} + +func (m *MockRepository) UpsertShippingSettings(ctx context.Context, settings *domain.ShippingSettings) error { + m.shippingSettings[settings.VendorID] = *settings + return nil +} + +func (m *MockRepository) ListReviews(ctx context.Context, filter domain.ReviewFilter) ([]domain.Review, int64, error) { + return m.reviews, int64(len(m.reviews)), nil +} + +func (m *MockRepository) ListShipments(ctx context.Context, filter domain.ShipmentFilter) ([]domain.Shipment, int64, error) { + return []domain.Shipment{}, 0, nil +} + // MockPaymentGateway for testing type MockPaymentGateway struct{}