# Тесты `MigrationRepository` (слой Src) > Репозиторий `Server.WatchBody.Core.Dal.Src.Repository`: > IMigrationRepository / MigrationRepository (правила — c-dal; unit-тесты > без БД — c-tst, d-tst). Служебный репозиторий режима `--mode migrate`. ## Методы → функции БД | Метод | Транспорт | Функция БД | |---|---|---| | `Insert(string filename)` → int | scalar int | `src.migration_insert(p_filename)` | | `Select(string filename)` → Migration? | reader | `src.migration_select(p_filename)` | ## Механика теста (общая) `ConnectionStringTest` (d-tst-11); 1 тест = 1 вызов (d-tst-13). ## Заготовки (DataTable) Таблица ответа `migration_select`: id:int, filename:string, applied_at:DateTime. Строки: `m1` — TEST-0001.sql. ## Тесты: `Insert` | № | Тип | Условие | Ожидаемый результат | |---|---|---|---| | 1 | основной | 'TEST-0001.sql'; scalar = 1 | Insert→1; параметр p_filename | ## Тесты: `Select` | № | Тип | Условие | Ожидаемый результат | |---|---|---|---| | 1 | основной | таблица [m1] | сущность с Filename = 'TEST-0001.sql' | | 2 | граничный | пустая таблица (миграции нет) | null |