use rocie_client::{ apis::{ api_get_unit_api::unit_by_id, api_set_unit_api::register_unit, api_set_unit_property_api::register_unit_property, }, models::{UnitPropertyStub, UnitStub}, }; use crate::{ _testenv::init::function_name, testenv::{TestEnv, log::request}, }; #[tokio::test] async fn test_unit_register_roundtrip() { let env = TestEnv::new(function_name!()); let unit_property = request!( env, register_unit_property(UnitPropertyStub { description: Some(Some("The total mass of a product".to_owned())), name: "Mass".to_owned() }) ); let id = request!( env, register_unit(UnitStub { description: Some(Some("Fancy new unit".to_owned())), full_name_plural: "Grams".to_owned(), full_name_singular: "Gram".to_owned(), short_name: "g".to_owned(), unit_property, }) ); let unit = request!(env, unit_by_id(id)); assert_eq!(&unit.short_name, "g"); assert_eq!(&unit.full_name_plural, "Grams"); assert_eq!(&unit.full_name_singular, "Gram"); assert_eq!(unit.description, Some(Some("Fancy new unit".to_owned()))); assert_eq!(unit.id, id); } #[tokio::test] async fn test_unit_conversions_register_error() { // TODO test if a conversion between two units from different universes actually returns an // error. }