diff --git a/src/cron/types.rs b/src/cron/types.rs index b8baf25d5..dc50fbb53 100644 --- a/src/cron/types.rs +++ b/src/cron/types.rs @@ -145,3 +145,22 @@ pub struct CronJobPatch { pub session_target: Option, pub delete_after_run: Option, } + +#[cfg(test)] +mod tests { + use super::JobType; + + #[test] + fn job_type_try_from_accepts_known_values_case_insensitive() { + assert_eq!(JobType::try_from("shell").unwrap(), JobType::Shell); + assert_eq!(JobType::try_from("SHELL").unwrap(), JobType::Shell); + assert_eq!(JobType::try_from("agent").unwrap(), JobType::Agent); + assert_eq!(JobType::try_from("AgEnT").unwrap(), JobType::Agent); + } + + #[test] + fn job_type_try_from_rejects_invalid_values() { + assert!(JobType::try_from("").is_err()); + assert!(JobType::try_from("unknown").is_err()); + } +}