use crate::domain::{
config::{ProcessSpec, WorkspaceConfig},
value::ProcessName,
};
const STARTER_TERMINAL: &str = "Terminal";
pub fn starter_workspace() -> WorkspaceConfig {
let terminals = ProcessName::try_new(STARTER_TERMINAL)
.map(|name| vec![ProcessSpec::builder().name(name).build()])
.unwrap_or_default();
WorkspaceConfig::builder()
.agents(vec![])
.terminals(terminals)
.commands(vec![])
.build()
}
#[cfg(test)]
mod tests {
use super::*;
#[test]
fn starter_is_a_single_login_shell_terminal() {
let config = starter_workspace();
assert_eq!(config.terminals().len(), 1);
assert_eq!(config.terminals()[0].name().as_ref(), STARTER_TERMINAL);
assert!(config.agents().is_empty() && config.commands().is_empty());
}
}