Код IT
← Каталог

Работа с данными и структурами — Unit-тесты

Фрагмент из «Работа с данными и структурами»: Unit-тесты.

Rust main.rs
#[async_trait]
pub trait UserRepository {
    async fn find_by_email(&self, email: &str) -> Result<Option<User>, DbErr>;
    async fn save(&self, user: User) -> Result<(), DbErr>;
}

// Реализация для SeaORM
pub struct SeaOrmUserRepository {
    db: DatabaseConnection,
}

// Mock-реализация для тестов
pub struct MockUserRepository {
    users: HashMap<String, User>,
}
#[async_trait]
pub trait UserRepository {
    async fn find_by_email(&self, email: &str) -> Result<Option<User>, DbErr>;
    async fn save(&self, user: User) -> Result<(), DbErr>;
}

// Реализация для SeaORM
pub struct SeaOrmUserRepository {
    db: DatabaseConnection,
}

// Mock-реализация для тестов
pub struct MockUserRepository {
    users: HashMap<String, User>,
}