awesome-back/internal/datastore/mock_coffee_repository.go

35 lines
1.0 KiB
Go
Raw Normal View History

2025-10-16 12:55:36 +03:00
package datastore
import (
"code.linberg.su/linberg/awesome-cli/awesome-back/internal/domain/entities"
"code.linberg.su/linberg/awesome-cli/awesome-back/internal/domain/repositories"
"code.linberg.su/linberg/awesome-cli/awesome-back/pkg/errors"
)
type MockCoffeeRepository struct {
coffees []entities.Coffee
}
func NewMockCoffeeRepository() repositories.CoffeeRepository {
return &MockCoffeeRepository{
coffees: []entities.Coffee{
{ID: 1, Name: "Эспрессо", Description: "Крепкий черный кофе", Price: 120.0, Size: "S"},
{ID: 2, Name: "Капучино", Description: "Кофе с молочной пенкой", Price: 180.0, Size: "M"},
// ... остальные данные
},
}
}
func (r *MockCoffeeRepository) FindAll() ([]entities.Coffee, error) {
return r.coffees, nil
}
func (r *MockCoffeeRepository) FindByID(id int) (*entities.Coffee, error) {
for _, coffee := range r.coffees {
if coffee.ID == id {
return &coffee, nil
}
}
return nil, errors.NewNotFoundError("coffee not found")
}