-
Notifications
You must be signed in to change notification settings - Fork 3
Description
For example, I have two delegates,
#[cfg_attr(feature = "lets_mock", entrait(pub TsTraitImpl, delegate_by = DelegateByTsTrait, unimock=true, mock_api=TsTraitUnimock
))]
#[async_trait]
pub trait TsTrait {
async fn get_projects(&self) -> GetIssueResult<Vec>;
}
and
#[cfg_attr(feature = "lets_mock", entrait(pub TsEventImpl, delegate_by = DelegateByTsEvent, unimock=true, mock_api=TsEventUnimock
#[async_trait]
pub trait TsEventTrait {
async fn start_ticket_event(&self, ticket_id: Uuid, event: EventStart) -> PutIssueResult;
}
I have some starter code I want to call
pub async fn create_test_ts_server<A: Send + Sync + 'static>(app: Impl) -> anyhow::Result
where
Impl: TsTrait + TsEventTrait,
{
// start webserver via poem and inject Impl as extensions, etc
}
How can I mock this ?
let clauses = (
TsTraitUnimock::get_projects.next_call(matching!()).returns(Ok(vec![TsProject::example()])),
);
let app = Unimock::new(clauses);
let server = create_test_ts_server(Impl::new(app)).await?;
Fails due missing DelegateByTsTrait and DelegateByTsEvent