Updated reply to include document name.
Some checks failed
Gitea Actions Demo / Explore-Gitea-Actions (push) Failing after 0s
Some checks failed
Gitea Actions Demo / Explore-Gitea-Actions (push) Failing after 0s
This commit is contained in:
@@ -40,6 +40,7 @@ impl MessageAction for MsgAction {
|
||||
Self::Query(data) => data.doc_name(),
|
||||
Self::Records(data) => data.doc_name(),
|
||||
Self::Register(data) => data.doc_name(),
|
||||
Self::Reply(data) => data.doc_name(),
|
||||
_ => &NameType::None,
|
||||
}
|
||||
}
|
||||
@@ -159,7 +160,7 @@ mod msgactions {
|
||||
|
||||
#[test]
|
||||
fn turn_reply_into_action() {
|
||||
let value = Reply::new();
|
||||
let value = Reply::new(Name::english("something"));
|
||||
let result: MsgAction = value.into();
|
||||
match result {
|
||||
MsgAction::Reply(_) => {}
|
||||
|
||||
@@ -1,13 +1,21 @@
|
||||
use super::{CalcValue, RequestData};
|
||||
use crate::{message::MessageAction, name::NameType};
|
||||
|
||||
#[derive(Clone, Debug)]
|
||||
pub struct Reply {
|
||||
doc_name: NameType,
|
||||
data: Vec<RequestData>,
|
||||
}
|
||||
|
||||
impl Reply {
|
||||
pub fn new() -> Self {
|
||||
Self { data: Vec::new() }
|
||||
pub fn new<NT>(name: NT) -> Self
|
||||
where
|
||||
NT: Into<NameType>,
|
||||
{
|
||||
Self {
|
||||
doc_name: name.into(),
|
||||
data: Vec::new(),
|
||||
}
|
||||
}
|
||||
|
||||
fn add(&mut self, doc: RequestData) {
|
||||
@@ -23,20 +31,35 @@ impl Reply {
|
||||
}
|
||||
}
|
||||
|
||||
impl MessageAction for Reply {
|
||||
fn doc_name(&self) -> &NameType {
|
||||
&self.doc_name
|
||||
}
|
||||
}
|
||||
|
||||
#[cfg(test)]
|
||||
mod replies {
|
||||
use super::*;
|
||||
use crate::{action::Field, name::Name};
|
||||
use uuid::Uuid;
|
||||
|
||||
#[test]
|
||||
fn does_default_reply_return_document() {
|
||||
let name = Name::english(Uuid::new_v4().to_string().as_str());
|
||||
let expected: NameType = name.clone().into();
|
||||
let reply = Reply::new(name.clone());
|
||||
assert_eq!(reply.doc_name(), &expected);
|
||||
}
|
||||
|
||||
#[test]
|
||||
fn is_new_empty() {
|
||||
let reply = Reply::new();
|
||||
let reply = Reply::new(Name::english("something"));
|
||||
assert_eq!(reply.len(), 0, "should have no records");
|
||||
}
|
||||
|
||||
#[test]
|
||||
fn can_add_documents() {
|
||||
let mut reply = Reply::new();
|
||||
let mut reply = Reply::new(Name::english("something"));
|
||||
let doc = RequestData::new();
|
||||
reply.add(doc.clone());
|
||||
assert_eq!(reply.len(), 1);
|
||||
@@ -51,7 +74,7 @@ mod replies {
|
||||
doc1.add_field(fieldname.clone(), "one");
|
||||
let mut doc2 = RequestData::new();
|
||||
doc2.add_field(fieldname.clone(), "two");
|
||||
let mut reply = Reply::new();
|
||||
let mut reply = Reply::new(Name::english("something"));
|
||||
reply.add(doc1);
|
||||
reply.add(doc2);
|
||||
let mut reply_iter = reply.iter();
|
||||
|
||||
Reference in New Issue
Block a user