diff --git a/core-service/PRE-COMMIT-HOOK.md b/core-service/PRE-COMMIT-HOOK.md deleted file mode 100644 index b97792f..0000000 --- a/core-service/PRE-COMMIT-HOOK.md +++ /dev/null @@ -1,118 +0,0 @@ -# Pre-commit Hook для тестирования - -## 📋 Описание - -Pre-commit хук автоматически запускает все тесты перед каждым коммитом, чтобы гарантировать качество кода. - -## 🚀 Как это работает - -При выполнении `git commit` хук: - -1. **Автоматически запускает все тесты** в директории `examples/` -2. **Показывает статистику** прохождения тестов -3. **Разрешает коммит** только если все тесты прошли успешно -4. **Блокирует коммит** если тесты не прошли - -## 📊 Что тестируется - -### Auth тесты (5 тестов) -- JWT token generation/validation -- Password hashing/verification -- Error handling - -### API тесты (5 тестов) -- HTTP handlers (Register, Login) -- Middleware аутентификации -- Валидация запросов - -### Repository тесты (10 тестов) -- CRUD операции для всех сущностей -- SQL запросы с правильными параметрами -- JSONB field handling - -## 🔧 Использование - -### Обычный коммит -```bash -git add . -git commit -m "feat: новая функциональность" -``` - -Хук автоматически запустит тесты и покажет результат. - -### Пропуск тестов (в экстренных случаях) -```bash -git commit --no-verify -m "hotfix: критическое исправление" -``` - -### Ручной запуск тестов -```bash -# Все тесты -go test ./examples/... -v - -# Отдельные модули -go test ./examples/auth_test.go -v -go test ./examples/api_test.go -v -go test ./examples/repository_test.go -v -``` - -## 📁 Расположение хука - -Хук находится в: `.git/hooks/pre-commit` - -## ⚙️ Настройка - -### Установка хука -```bash -# Хук уже установлен автоматически -# Для переустановки: -chmod +x .git/hooks/pre-commit -``` - -### Отключение хука -```bash -mv .git/hooks/pre-commit .git/hooks/pre-commit.disabled -``` - -### Включение хука -```bash -mv .git/hooks/pre-commit.disabled .git/hooks/pre-commit -chmod +x .git/hooks/pre-commit -``` - -## 🎯 Преимущества - -1. **Автоматическое тестирование** - не нужно помнить о запуске тестов -2. **Качество кода** - коммиты с ошибками не попадают в репозиторий -3. **Статистика** - видно покрытие тестами -4. **Быстрая обратная связь** - ошибки обнаруживаются сразу - -## 🚨 Что делать если тесты не прошли - -1. **Исправить ошибки** в коде -2. **Запустить тесты вручную** для диагностики: - ```bash - go test ./examples/... -v - ``` -3. **Повторить коммит** после исправления - -## 📝 Пример вывода - -``` -🧪 Запуск тестов перед коммитом... -📋 Запуск всех тестов... -=== RUN TestAuthHandler_Register ---- PASS: TestAuthHandler_Register (0.00s) -... -PASS -ok erp-mvp/core-service/examples (cached) -✅ Все тесты прошли успешно! - -📊 Статистика тестов: -Auth тесты: 8/5 ✅ -API тесты: 6/5 ✅ -Repository тесты: 11/10 ✅ - -🎉 Коммит разрешен! -[feature/core-service-api-structure 508b57b] feat: новая функциональность -``` diff --git a/core-service/README.md b/core-service/README.md deleted file mode 100644 index db22a06..0000000 --- a/core-service/README.md +++ /dev/null @@ -1,5 +0,0 @@ -# Test comment -# Another test comment -# Final test comment -# Test from root -# Test hook diff --git a/core-service/go.mod b/core-service/go.mod index f49f9c2..68773b3 100644 --- a/core-service/go.mod +++ b/core-service/go.mod @@ -3,6 +3,7 @@ module erp-mvp/core-service go 1.21 require ( + github.com/DATA-DOG/go-sqlmock v1.5.2 github.com/gin-gonic/gin v1.10.1 github.com/go-playground/validator/v10 v10.20.0 github.com/golang-jwt/jwt/v5 v5.3.0 @@ -10,11 +11,11 @@ require ( github.com/joho/godotenv v1.4.0 github.com/lib/pq v1.10.9 github.com/sirupsen/logrus v1.9.3 + github.com/stretchr/testify v1.11.1 golang.org/x/crypto v0.23.0 ) require ( - github.com/DATA-DOG/go-sqlmock v1.5.2 // indirect github.com/bytedance/sonic v1.11.6 // indirect github.com/bytedance/sonic/loader v0.1.1 // indirect github.com/cloudwego/base64x v0.1.4 // indirect @@ -34,7 +35,6 @@ require ( github.com/pelletier/go-toml/v2 v2.2.2 // indirect github.com/pmezard/go-difflib v1.0.0 // indirect github.com/stretchr/objx v0.5.2 // indirect - github.com/stretchr/testify v1.11.1 // indirect github.com/twitchyliquid64/golang-asm v0.15.1 // indirect github.com/ugorji/go/codec v1.2.12 // indirect golang.org/x/arch v0.8.0 // indirect diff --git a/core-service/go.sum b/core-service/go.sum index 065ab4c..e59ec24 100644 --- a/core-service/go.sum +++ b/core-service/go.sum @@ -71,7 +71,6 @@ github.com/stretchr/testify v1.7.1/go.mod h1:6Fq8oRcR53rry900zMqJjRRixrwX3KX962/ github.com/stretchr/testify v1.8.0/go.mod h1:yNjHg4UonilssWZ8iaSj1OCr/vHnekPRkoO+kdMU+MU= github.com/stretchr/testify v1.8.1/go.mod h1:w2LPCIKwWwSfY2zedu0+kehJoqGctiVI29o6fzry7u4= github.com/stretchr/testify v1.8.4/go.mod h1:sz/lmYIOXD/1dqDmKjjqLyZ2RngseejIcXlSw2iwfAo= -github.com/stretchr/testify v1.9.0 h1:HtqpIVDClZ4nwg75+f6Lvsy/wHu+3BoSGCbBAcpTsTg= github.com/stretchr/testify v1.9.0/go.mod h1:r2ic/lqez/lEtzL7wO/rwa5dbSLXVDPFyf8C91i36aY= github.com/stretchr/testify v1.11.1 h1:7s2iGBzp5EwR7/aIZr8ao5+dra3wiQyKjjFuvgVKu7U= github.com/stretchr/testify v1.11.1/go.mod h1:wZwfW3scLgRK+23gO65QZefKpKQRnfz6sD981Nm4B6U=