fix(tests): update mock repo to match interface

This commit is contained in:
Tiago Yamamoto 2025-12-26 17:09:09 -03:00
parent 51a8293a11
commit e64b3a4855
2 changed files with 68 additions and 24 deletions

View file

@ -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{}

View file

@ -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{}