From 1bb799cdce084875d1f13f7b652955806340ef59 Mon Sep 17 00:00:00 2001 From: Jeff Baskin Date: Thu, 16 Oct 2025 09:47:15 -0400 Subject: [PATCH] Readded missing fields test. --- src/message.rs | 36 +++++++++++++++++++----------------- 1 file changed, 19 insertions(+), 17 deletions(-) diff --git a/src/message.rs b/src/message.rs index 8a4cf93..2673365 100644 --- a/src/message.rs +++ b/src/message.rs @@ -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());