#![cfg(feature = "apps")]
use timeweb_rs::models::DeployStatus;
#[test]
fn building_status_deserializes() {
let status: DeployStatus =
serde_json::from_str(r#""building""#).expect("live-API status `building` must parse");
assert_eq!(status, DeployStatus::Building);
}
#[test]
fn building_status_round_trips() {
assert_eq!(DeployStatus::Building.to_string(), "building");
assert_eq!(
serde_json::to_string(&DeployStatus::Building).expect("serialize"),
r#""building""#
);
}
#[test]
fn documented_statuses_still_parse() {
for (raw, expected) in [
("created", DeployStatus::Created),
("building_code", DeployStatus::BuildingCode),
("success", DeployStatus::Success),
("failure", DeployStatus::Failure)
] {
let status: DeployStatus =
serde_json::from_str(&format!(r#""{raw}""#)).expect("documented status must parse");
assert_eq!(status, expected);
}
}