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")
|
||
}
|