From 632332298d8b2e80eaedda4cde606bb33ae2e7d9 Mon Sep 17 00:00:00 2001 From: Jeff Baskin Date: Fri, 27 Feb 2026 09:33:27 -0500 Subject: [PATCH] Moved add failure on bad field type to lib testing. --- src/document/create.rs | 34 ++++++++++++++++++++-------------- tests/add_test.rs | 5 ++--- 2 files changed, 22 insertions(+), 17 deletions(-) diff --git a/src/document/create.rs b/src/document/create.rs index 1b7299c..b278c06 100644 --- a/src/document/create.rs +++ b/src/document/create.rs @@ -500,29 +500,35 @@ impl DocumentFile { }; let mut holder = InternalRecord::new(); - let mut field_ids = self.docdef.get_field_ids(); - println!("{:?}", field_ids); - for (name_id, value) in addition.iter() {} - for (name_id, value) in addition.iter() { - let field_id = match self.docdef.get_field_id(name_id) { + + let mut field_ids = self.docdef.get_field_ids(); + for (name, value) in addition.iter() { + let field_id = match self.docdef.get_field_id(name) { Ok(id) => id, Err(mut err) => { - err.add_parent(ErrorID::Field(name_id.clone())); + err.add_parent(ErrorID::Field(name.clone())); err.add_parent(ErrorID::Document(msg.doc_name().clone())); let reply = msg.response(err); self.queue.send(reply); return; } }; - holder.insert(field_id.clone(), value.get(&Field::None)); - } - for field_id in self.docdef.get_field_ids().iter() { - let value = match holder.get(field_id) { - Some(data) => data, - None => &Field::None, + let corrected = match self.validate(field_id.clone(), &value.get(&Field::None)) { + Ok(data) => data, + Err(mut err) => { + err.add_parent(ErrorID::Field(name.clone().into())); + err.add_parent(ErrorID::Document(msg.doc_name().clone())); + let reply = msg.response(err); + self.queue.send(reply); + return; + } }; - let corrected = match self.validate(field_id, value) { + holder.insert(field_id.clone(), corrected.clone()); + field_ids.remove(&field_id); + } + for field_id in field_ids.iter() { + let corrected = match self.validate(field_id, &Field::None) { Ok(data) => data, Err(mut err) => { err.add_parent(ErrorID::Field(field_id.clone().into())); @@ -1159,7 +1165,6 @@ mod document_files { _ => unreachable!("got {:?}: should have been an error", result.get_action()), } } - */ #[test] #[ignore = "move to lib"] @@ -1182,6 +1187,7 @@ mod document_files { _ => unreachable!("got {:?}: should have been an error", result.get_action()), } } + */ #[test] fn errors_on_missing_fields() { diff --git a/tests/add_test.rs b/tests/add_test.rs index bf768a3..aad94cd 100644 --- a/tests/add_test.rs +++ b/tests/add_test.rs @@ -70,16 +70,15 @@ fn does_it_error_on_bad_field_name() { } #[test] -#[ignore = "Returning name id not name"] fn does_it_error_on_bad_field_type() { let mut mtt = MoreThanText::new(); let doc_name = Name::english("holder"); - let field_name = Name::english("missing"); + let field_name = Name::english("wrong"); let mut docdef = DocDef::new(doc_name.clone()); docdef.add_field(field_name.clone(), FieldType::Uuid); mtt.create_document(docdef); let mut add = Addition::new(doc_name.clone()); - add.add_field(Name::english("missing"), "something"); + add.add_field(field_name.clone(), "something"); let mut expected = MTTError::new(ErrorID::FieldTypeExpected(FieldType::Uuid)); expected.add_parent(ErrorID::Field(field_name.clone().into())); expected.add_parent(ErrorID::Document(doc_name.clone().into()));