35 lines
1.0 KiB
Go
35 lines
1.0 KiB
Go
|
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")
|
|||
|
}
|