174 lines
4.4 KiB
Rust
174 lines
4.4 KiB
Rust
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<SSV> {
|
|
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<Data> {
|
|
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::<Error>() {
|
|
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::<Error>() {
|
|
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::<Error>() {
|
|
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(())
|
|
} |