Readded missing fields test.
Some checks failed
Gitea Actions Demo / Explore-Gitea-Actions (push) Failing after 1s

This commit is contained in:
Jeff Baskin 2025-10-16 09:47:15 -04:00
parent f69d5d2248
commit 1bb799cdce

View File

@ -20,6 +20,7 @@ mod support_test {
#[derive(Clone, Debug)]
enum MTTError {
AdditionMissingField(Name),
DocumentAlreadyExists(String),
DocumentFieldAlreadyExists(String, Field),
DocumentFieldMissing(String),
@ -28,6 +29,7 @@ enum MTTError {
DocumentNotFound(String),
FieldDuplicate(String, Field),
FieldMissingData,
InvalidNone,
RecordMismatch,
NameDuplicate(Name),
NameInvalidID(Uuid),
@ -2241,7 +2243,7 @@ impl FieldSetting {
}
None => match &self.default_value {
Some(calc) => Ok(calc.calculate()),
None => Err(MTTError::DocumentFieldMissing("".to_string())),
None => Err(MTTError::InvalidNone),
},
}
}
@ -2283,8 +2285,8 @@ mod fieldsettings {
match fset.validate(None) {
Ok(data) => unreachable!("got {:?}: should have gotten an error", data),
Err(err) => match err {
MTTError::DocumentFieldMissing(data) => assert_eq!(data, ""),
_ => unreachable!("got {:?}: should have gotten a value", err),
MTTError::InvalidNone => {},
_ => unreachable!("got {:?}: should have gotten a invalid none", err),
},
}
}
@ -4727,16 +4729,15 @@ mod document_files {
}
}
/*
#[test]
fn errors_on_wrong_field_type() {
let (docdef, doc_name) = create_docdef([FieldType::Uuid].to_vec());
let (queue, rx) = test_doc(doc_name.as_str(), docdef, standard_routes());
let mut test_doc = TestDocument::new([FieldType::Uuid].to_vec());
test_doc.start();
let queue = test_doc.get_queue();
let mut addition = Addition::new();
addition.add_field("field0".to_string(), "astring");
let msg = Message::new(doc_name, addition);
queue.send(msg).unwrap();
let result = rx.recv_timeout(TIMEOUT).unwrap();
addition.add_field(Name::english("field0".to_string()), "string");
queue.send(Message::new(test_doc.get_docdef().get_document_name(), addition));
let result = test_doc.get_receiver().recv_timeout(TIMEOUT).unwrap();
match result.get_action() {
MsgAction::Error(err) => match err {
MTTError::DocumentFieldWrongDataType(expected, got) => {
@ -4754,22 +4755,23 @@ mod document_files {
#[test]
fn errors_on_missing_fields() {
let (docdef, doc_name) = create_docdef([FieldType::Uuid, FieldType::Uuid].to_vec());
let (queue, rx) = test_doc(doc_name.as_str(), docdef, standard_routes());
let mut test_doc = TestDocument::new([FieldType::Integer, FieldType::Integer].to_vec());
test_doc.start();
let queue = test_doc.get_queue();
let mut addition = Addition::new();
addition.add_field("field0".to_string(), Uuid::nil());
let msg = Message::new(doc_name, addition);
queue.send(msg).unwrap();
let result = rx.recv_timeout(TIMEOUT).unwrap();
addition.add_field(Name::english("field0".to_string()), 1);
queue.send(Message::new(test_doc.get_docdef().get_document_name(), addition));
let result = test_doc.get_receiver().recv_timeout(TIMEOUT).unwrap();
match result.get_action() {
MsgAction::Error(err) => match err {
MTTError::DocumentFieldMissing(field) => assert_eq!(field, "field1"),
MTTError::InvalidNone => {},
_ => unreachable!("got {:?}: should have been document field missing", err),
},
_ => unreachable!("got {:?}: should have been an error", result.get_action()),
}
}
/*
#[test]
fn does_query_return_related_entries() {
let mut doc = TestDocument::new([FieldType::Uuid].to_vec());