tests/cli/cups_cli.rs
Rama main · réplica de lectura del repositorio original.
use crate::helpers::{
create_cafe, create_cup, create_roast, create_roaster, create_token, run_brewlog,
};
use crate::test_macros::define_cli_auth_test;
define_cli_auth_test!(
test_update_cup_requires_authentication,
&["cup", "update", "--id", "123", "--roast-id", "1"]
);
#[test]
fn test_update_cup_with_authentication() {
let token = create_token("test-update-cup");
let roaster_id = create_roaster("Update Cup Roaster", &token);
let roast_id = create_roast(&roaster_id, "Update Cup Roast", &token);
let cafe_id = create_cafe("Update Cup Cafe", "London", "UK", "51.5", "-0.1", &token);
let cup_id = create_cup(&roast_id, &cafe_id, &token);
// Create a second roast to update the cup to
let roast_id_2 = create_roast(&roaster_id, "Update Cup Roast 2", &token);
let output = run_brewlog(
&["cup", "update", "--id", &cup_id, "--roast-id", &roast_id_2],
&[("BREWLOG_TOKEN", &token)],
);
assert!(
output.status.success(),
"cup update should succeed: {}",
String::from_utf8_lossy(&output.stderr)
);
let stdout = String::from_utf8_lossy(&output.stdout);
let cup: serde_json::Value = serde_json::from_str(&stdout).expect("Should output valid JSON");
assert!(cup["id"].is_i64(), "cup should have an id");
}