// rocie - An enterprise grocery management system // // Copyright (C) 2026 Benedikt Peetz // SPDX-License-Identifier: GPL-3.0-or-later // // This file is part of Rocie. // // You should have received a copy of the License along with this program. // If not, see . use rocie_client::{ apis::{ api_get_auth_unit_api::unit_by_id, api_set_auth_unit_api::register_unit, api_set_auth_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!()).await; let unit_property = request!( env, register_unit_property(UnitPropertyStub { description: Some("The total mass of a product".to_owned()), name: "Mass".to_owned() }) ); let id = request!( env, register_unit(UnitStub { description: 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("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. }