use anyhow::Result; use common::read_cps; use fsv::ssv::{Error, SSVErrorCodes, SSV}; use insta::assert_debug_snapshot; mod common { use super::*; use std::env; use fsv::fsv_parsing::Data; use fsv_sys::SupportedFsvVersion; use utils::config::load_config; pub fn init() -> Result { load_config(None)?; let sesam_ini_path = env::var("SESAM_INI_PATH").expect("SESAM_INI_PATH must be set"); let lib = SSV::new(SupportedFsvVersion::V1_40_13)?; lib.init_library(&sesam_ini_path)?; Ok(lib) } pub fn read_cps() -> Result { let lib = init()?; Ok(lib.read_professional_card("1234")?) } } // ---------------- PHARMA KIT ---------------- #[test] #[ignore] fn test_read_cps_pharma_kit_titulaire() -> Result<()> { let cps_blocks = read_cps()?; assert_debug_snapshot!(cps_blocks); Ok(()) } #[test] #[ignore] fn test_read_cps_pharma_kit_adjointe() -> Result<()> { let cps_blocks = read_cps()?; assert_debug_snapshot!(cps_blocks); Ok(()) } #[test] #[ignore] fn test_read_cps_pharma_kit_employe_aa() -> Result<()> { let cps_blocks = read_cps()?; assert_debug_snapshot!(cps_blocks); Ok(()) } #[test] #[ignore] fn test_read_cps_pharma_kit_infirmiere() -> Result<()> { let cps_blocks = read_cps()?; assert_debug_snapshot!(cps_blocks); Ok(()) } // ---------------- DEFAULT KIT ---------------- #[test] #[ignore] fn test_read_cps_default_kit_doc() -> Result<()> { let cps_blocks = read_cps()?; assert_debug_snapshot!(cps_blocks); Ok(()) } #[test] #[ignore] fn test_read_cps_default_kit_directeur() -> Result<()> { let error = read_cps().expect_err("This card should be opposed and not be readable"); match error.downcast_ref::() { Some(Error::SSVError(e)) => { match e { SSVErrorCodes::CPSInvalid => { Ok(()) }, _ => panic!("Expected SSVErrorCodes::CPSInvalid, got {:?}", e), } }, _ => panic!("Expected Error::SSVError got {:?}", error), } } #[test] #[ignore] fn test_read_cps_default_kit_employee_opposee() -> Result<()> { let error = read_cps().expect_err("This card should be opposed and not be readable"); match error.downcast_ref::() { Some(Error::SSVError(e)) => { match e { SSVErrorCodes::SSVInternalError => { Ok(()) }, _ => panic!("Expected SSVErrorCodes::SSVInternalError, got {:?}", e), } }, _ => panic!("Expected Error::SSVError got {:?}", error), } } #[test] #[ignore] fn test_read_cps_default_kit_doc_maximaxima() -> Result<()> { // TODO : debug this card (ConventionCode value is 9) let cps_blocks = read_cps()?; assert_debug_snapshot!(cps_blocks); Ok(()) } #[test] #[ignore] fn test_read_cps_default_kit_orthophoniste() -> Result<()> { let error = read_cps().expect_err("This card should be opposed and not be readable"); match error.downcast_ref::() { Some(Error::SSVError(e)) => { match e { SSVErrorCodes::SSVInternalError => { Ok(()) }, _ => panic!("Expected SSVErrorCodes::SSVInternalError, got {:?}", e), } }, _ => panic!("Expected Error::SSVError got {:?}", error), } } // ---------------- CENTRE SANTÉ ---------------- #[test] #[ignore] fn test_read_cps_centre_sante_kit_directeur() -> Result<()> { // TODO : debug this card (ConventionCode value is 9) let cps_blocks = read_cps()?; assert_debug_snapshot!(cps_blocks); Ok(()) } #[test] #[ignore] fn test_read_cps_centre_sante_kit_doc() -> Result<()> { // TODO : debug this card (ConventionCode value is 9) let cps_blocks = read_cps()?; assert_debug_snapshot!(cps_blocks); Ok(()) } #[test] #[ignore] fn test_read_cps_centre_sante_kit_dentiste() -> Result<()> { // TODO : debug this card (ConventionCode value is 9) let cps_blocks = read_cps()?; assert_debug_snapshot!(cps_blocks); Ok(()) } #[test] #[ignore] fn test_read_cps_centre_sante_kit_assist_vladimir() -> Result<()> { // TODO : debug this card (ConventionCode value is 9) let cps_blocks = read_cps()?; assert_debug_snapshot!(cps_blocks); Ok(()) } #[test] #[ignore] fn test_read_cps_centre_sante_kit_assist_marie() -> Result<()> { // TODO : debug this card (ConventionCode value is 9) let cps_blocks = read_cps()?; assert_debug_snapshot!(cps_blocks); Ok(()) }