git-next/crates/repo-actor/src/tests/when.rs

48 lines
1.3 KiB
Rust

//
use git::repository::OpenRepositoryLike;
use super::*;
pub fn start_actor(
repository_factory: git::repository::factory::MockRepositoryFactory,
repo_details: git::RepoDetails,
forge: Box<dyn git::ForgeLike>,
) -> (actix::Addr<RepoActor>, RepoActorLog) {
let (actor, log) = given::a_repo_actor(
repo_details,
Box::new(repository_factory),
forge,
given::a_network().into(),
);
(actor.start(), log)
}
pub fn start_actor_with_open_repository(
open_repository: Box<dyn OpenRepositoryLike>,
repo_details: git::RepoDetails,
forge: Box<dyn git::ForgeLike>,
) -> (actix::Addr<RepoActor>, RepoActorLog) {
let (actor, log) = given::a_repo_actor(
repo_details,
git::repository::factory::mock(),
forge,
given::a_network().into(),
);
let actor = actor.with_open_repository(Some(open_repository));
(actor.start(), log)
}
pub fn commit_status(
forge: &mut git::MockForgeLike,
commit: git::Commit,
status: git::forge::commit::Status,
) {
let mut commit_status_forge = git::MockForgeLike::new();
commit_status_forge
.expect_commit_status()
.with(mockall::predicate::eq(commit))
.return_once(|_| status);
forge
.expect_duplicate()
.return_once(move || Box::new(commit_status_forge));
}