From 42cab231e60c6a3b43f8a9721c8face2393a007d Mon Sep 17 00:00:00 2001 From: Le Song Date: Thu, 19 Feb 2026 15:36:28 +0800 Subject: [PATCH] test(crom): add tests for `JobType::try_from` to handle case-insensitive and invalid values --- src/cron/types.rs | 19 +++++++++++++++++++ 1 file changed, 19 insertions(+) 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()); + } +}