use nest_rs_core::{ContainerBuilder, Module, TransportContribution};
use super::QueueWorker;
pub struct QueueWorkerModule;
impl Module for QueueWorkerModule {
fn register(builder: ContainerBuilder) -> ContainerBuilder {
builder.provide_meta(TransportContribution {
name: "QueueWorker",
build: |_| Ok(Box::new(QueueWorker::new())),
})
}
}
#[cfg(test)]
mod tests {
use super::*;
use nest_rs_core::{Container, DiscoveryService};
#[test]
fn registering_the_module_attaches_one_transport_contribution() {
let container = QueueWorkerModule::register(Container::builder()).build();
let contributions = DiscoveryService::new(&container).meta::<TransportContribution>();
assert_eq!(contributions.len(), 1);
assert_eq!(contributions[0].meta.name, "QueueWorker");
}
}