1
0
mirror of https://github.com/pcvolkmer/osc-variant.git synced 2025-07-03 01:02:55 +00:00

feat: add profile option alias 'never_hide' for 'remove_filter'

The option 'never_hide' will also be the counterpart to 'hide'.
This commit is contained in:
2024-05-23 15:11:59 +02:00
parent 218e6aff15
commit ee6c38b459
2 changed files with 50 additions and 4 deletions

View File

@ -79,7 +79,7 @@ pub struct FormReference {
pub referenced_data_form: Option<String>,
pub anzeige: Option<String>,
pub anzeige_auswahl: Option<String>,
#[serde(default)]
#[serde(alias = "never_hide", default)]
pub remove_filter: bool,
scripts_code: Option<String>,
}
@ -96,7 +96,7 @@ pub struct FormField {
#[serde(default)]
pub hide: bool,
pub default_value: Option<String>,
#[serde(default)]
#[serde(alias = "never_hide", default)]
pub remove_filter: bool,
scripts_code: Option<String>,
}
@ -317,4 +317,49 @@ mod tests {
Err(e) => panic!("Cannot deserialize profile: {}", e),
}
}
#[test]
fn should_use_never_hide_as_alias_for_remove_filter_in_form_references() {
let content = "forms:
- name: 'DNPM Therapieplan'
form_references:
- name: formularref_to_mod
never_hide: true
";
match Profile::from_str(content) {
Ok(profile) => {
assert_eq!(profile.forms.len(), 1);
assert_eq!(profile.forms[0].name, "DNPM Therapieplan");
assert_eq!(profile.forms[0].form_references.len(), 1);
assert_eq!(
profile.forms[0].form_references[0].name,
"formularref_to_mod"
);
assert!(profile.forms[0].form_references[0].remove_filter);
}
Err(e) => panic!("Cannot deserialize profile: {}", e),
}
}
#[test]
fn should_use_never_hide_as_alias_for_remove_filter_in_form_fields() {
let content = "forms:
- name: 'DNPM Therapieplan'
form_fields:
- name: formularfeld_to_mod
never_hide: true
";
match Profile::from_str(content) {
Ok(profile) => {
assert_eq!(profile.forms.len(), 1);
assert_eq!(profile.forms[0].name, "DNPM Therapieplan");
assert_eq!(profile.forms[0].form_fields.len(), 1);
assert_eq!(profile.forms[0].form_fields[0].name, "formularfeld_to_mod");
assert!(profile.forms[0].form_fields[0].remove_filter);
}
Err(e) => panic!("Cannot deserialize profile: {}", e),
}
}
}