/
valzem
/
MatControl
Обзор
Документация
Войти
/
valzem
/
MatControl
Код
Запросы
0
Задачи
Вики
Пакеты
0
Релизы
0
CI/CD
Аналитика
Безопасность
master
tests/MatControl.Tests/DatabaseSeedTests.cs
53 строки
1 KB
MatControl Dev
Импорт в разделы, статус-бар, до двух МОЛ, правка списания, скиллы
07 авг 2026, 13:33
07 авг 2026, 13:33
b22f6a8
Код
Авторство
О чём код?
using MatControl.Data; using Microsoft.Data.Sqlite; using Microsoft.EntityFrameworkCore; namespace MatControl.Tests; public class DatabaseSeedTests : IDisposable { private readonly string _dbPath; public DatabaseSeedTests() { _dbPath = Path.Combine(Path.GetTempPath(), $"matcontrol_test_{Guid.NewGuid():N}.db"); } [Fact] public async Task InitializeAsync_DoesNotCreateEmployees_WhenDatabaseIsEmpty() { var options = new DbContextOptionsBuilder<MatControlDbContext>() .UseSqlite($"Data Source={_dbPath}") .Options; using var context = new MatControlDbContext(options); await DbInitializer.InitializeAsync(context); Assert.Equal(0, await context.Employees.CountAsync()); } [Fact] public async Task InitializeAsync_CalledTwice_LeavesDatabaseEmpty() { var options = new DbContextOptionsBuilder<MatControlDbContext>() .UseSqlite($"Data Source={_dbPath}") .Options; using var context1 = new MatControlDbContext(options); await DbInitializer.InitializeAsync(context1); using var context2 = new MatControlDbContext(options); await DbInitializer.InitializeAsync(context2); Assert.Equal(0, await context2.Employees.CountAsync()); } public void Dispose() { SqliteConnection.ClearAllPools(); if (File.Exists(_dbPath)) { File.Delete(_dbPath); } } }