Files
2026-01-19 19:50:21 +01:00

98 lines
2.7 KiB
Go

package api
import (
"context"
"training-tracker/internal/models"
)
// mockExerciseRepo is a mock implementation of ExerciseRepository for testing
type mockExerciseRepo struct {
exercises []models.Exercise
exercise *models.Exercise
err error
deleteErr error
}
func (m *mockExerciseRepo) List(ctx context.Context) ([]models.Exercise, error) {
return m.exercises, m.err
}
func (m *mockExerciseRepo) GetByID(ctx context.Context, id int64) (*models.Exercise, error) {
return m.exercise, m.err
}
func (m *mockExerciseRepo) Create(ctx context.Context, req *models.CreateExerciseRequest) (*models.Exercise, error) {
return m.exercise, m.err
}
func (m *mockExerciseRepo) Update(ctx context.Context, id int64, req *models.CreateExerciseRequest) (*models.Exercise, error) {
return m.exercise, m.err
}
func (m *mockExerciseRepo) Delete(ctx context.Context, id int64) error {
return m.deleteErr
}
// mockPlanRepo is a mock implementation of PlanRepository for testing
type mockPlanRepo struct {
plans []models.TrainingPlan
plan *models.TrainingPlan
err error
deleteErr error
}
func (m *mockPlanRepo) List(ctx context.Context) ([]models.TrainingPlan, error) {
return m.plans, m.err
}
func (m *mockPlanRepo) GetByID(ctx context.Context, id int64) (*models.TrainingPlan, error) {
return m.plan, m.err
}
func (m *mockPlanRepo) Create(ctx context.Context, req *models.CreatePlanRequest) (*models.TrainingPlan, error) {
return m.plan, m.err
}
func (m *mockPlanRepo) Update(ctx context.Context, id int64, req *models.CreatePlanRequest) (*models.TrainingPlan, error) {
return m.plan, m.err
}
func (m *mockPlanRepo) Delete(ctx context.Context, id int64) error {
return m.deleteErr
}
// mockSessionRepo is a mock implementation of SessionRepository for testing
type mockSessionRepo struct {
sessions []models.Session
session *models.Session
entry *models.SessionEntry
err error
deleteErr error
entryErr error
}
func (m *mockSessionRepo) List(ctx context.Context) ([]models.Session, error) {
return m.sessions, m.err
}
func (m *mockSessionRepo) GetByID(ctx context.Context, id int64) (*models.Session, error) {
return m.session, m.err
}
func (m *mockSessionRepo) Create(ctx context.Context, req *models.CreateSessionRequest) (*models.Session, error) {
return m.session, m.err
}
func (m *mockSessionRepo) Update(ctx context.Context, id int64, req *models.CreateSessionRequest) (*models.Session, error) {
return m.session, m.err
}
func (m *mockSessionRepo) Delete(ctx context.Context, id int64) error {
return m.deleteErr
}
func (m *mockSessionRepo) AddEntry(ctx context.Context, sessionID int64, req *models.CreateSessionEntryRequest) (*models.SessionEntry, error) {
return m.entry, m.entryErr
}