From c001085a154880245ef2266c00ea017abbf7b2d1 Mon Sep 17 00:00:00 2001 From: Brandon Thomas Date: Fri, 20 Mar 2026 09:07:51 -0400 Subject: [PATCH] wip --- Cargo.lock | 1 + .../common/generation/generation_provider.rs | 58 +++++++++---------- crates/schema/public/enums_convert/Cargo.toml | 1 + .../common/generation/generation_provider.rs | 3 +- 4 files changed, 30 insertions(+), 33 deletions(-) diff --git a/Cargo.lock b/Cargo.lock index f961efdc75..d5da5dad15 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -3821,6 +3821,7 @@ dependencies = [ "enums_api", "enums_db", "serde_json", + "strum", "workspace-build-acceleration", ] diff --git a/crates/schema/public/enums_api/src/common/generation/generation_provider.rs b/crates/schema/public/enums_api/src/common/generation/generation_provider.rs index 8242a9365a..589d4f80f3 100644 --- a/crates/schema/public/enums_api/src/common/generation/generation_provider.rs +++ b/crates/schema/public/enums_api/src/common/generation/generation_provider.rs @@ -5,8 +5,6 @@ //! //! Do not change the values here without cause or care. -use std::collections::BTreeSet; - #[cfg(test)] use strum::EnumCount; #[cfg(test)] @@ -26,43 +24,39 @@ pub enum GenerationProvider { WorldLabs, } -impl GenerationProvider { - - pub fn all_variants() -> BTreeSet { - BTreeSet::from([ - Self::Artcraft, - Self::Fal, - Self::Grok, - Self::Midjourney, - Self::Sora, - Self::WorldLabs, - ]) - } - -} - #[cfg(test)] mod tests { use super::GenerationProvider; use enums_shared::test_helpers::assert_serialization; + use strum::IntoEnumIterator; + mod manual_checks { + use super::*; - #[test] - fn test_serialization() { - assert_serialization(GenerationProvider::Artcraft, "artcraft"); - assert_serialization(GenerationProvider::Fal, "fal"); - assert_serialization(GenerationProvider::Grok, "grok"); - assert_serialization(GenerationProvider::Midjourney, "midjourney"); - assert_serialization(GenerationProvider::Sora, "sora"); - assert_serialization(GenerationProvider::WorldLabs, "world_labs"); + #[test] + fn test_serialization() { + assert_serialization(GenerationProvider::Artcraft, "artcraft"); + assert_serialization(GenerationProvider::Fal, "fal"); + assert_serialization(GenerationProvider::Grok, "grok"); + assert_serialization(GenerationProvider::Midjourney, "midjourney"); + assert_serialization(GenerationProvider::Sora, "sora"); + assert_serialization(GenerationProvider::WorldLabs, "world_labs"); + } + #[test] + fn variants_count_check() { + assert_eq!(GenerationProvider::iter().count(), 6); + } } - #[test] - fn round_trip_json() { - use strum::IntoEnumIterator; - for variant in GenerationProvider::iter() { - let json = serde_json::to_string(&variant).unwrap(); - let back: GenerationProvider = serde_json::from_str(&json).unwrap(); - assert_eq!(variant, back); + mod mechanical_checks { + use super::*; + + #[test] + fn round_trip_json() { + for variant in GenerationProvider::iter() { + let json = serde_json::to_string(&variant).unwrap(); + let back: GenerationProvider = serde_json::from_str(&json).unwrap(); + assert_eq!(variant, back); + } } } } diff --git a/crates/schema/public/enums_convert/Cargo.toml b/crates/schema/public/enums_convert/Cargo.toml index f2916cfcea..f63ef0bcbd 100644 --- a/crates/schema/public/enums_convert/Cargo.toml +++ b/crates/schema/public/enums_convert/Cargo.toml @@ -25,3 +25,4 @@ enums_db.workspace = true [dev-dependencies] serde_json.workspace = true +strum.workspace = true diff --git a/crates/schema/public/enums_convert/src/common/generation/generation_provider.rs b/crates/schema/public/enums_convert/src/common/generation/generation_provider.rs index 9e5b861bea..9962348a4b 100644 --- a/crates/schema/public/enums_convert/src/common/generation/generation_provider.rs +++ b/crates/schema/public/enums_convert/src/common/generation/generation_provider.rs @@ -26,10 +26,11 @@ pub fn generation_provider_to_api(db_value: &Db) -> Api { #[cfg(test)] mod tests { use super::*; + use strum::IntoEnumIterator; #[test] fn round_trip_api_to_db() { - for variant in Api::all_variants() { + for variant in Api::iter() { let db = generation_provider_to_db(&variant); let back = generation_provider_to_api(&db); assert_eq!(variant, back);