commands: create result struct for readmessages
This commit is contained in:
@@ -7,9 +7,12 @@ use crate::commands::{
|
||||
|
||||
pub struct ReadMessages;
|
||||
|
||||
pub type ReadMessagesResponse = Vec<ReadMessagesResponseEntry>;
|
||||
|
||||
#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
|
||||
pub struct ReadMessagesResponse {
|
||||
pub messages: Vec<(String, String)>,
|
||||
pub struct ReadMessagesResponseEntry {
|
||||
channel: String,
|
||||
message: String,
|
||||
}
|
||||
|
||||
impl Command for ReadMessages {
|
||||
@@ -40,10 +43,10 @@ impl Command for ReadMessages {
|
||||
let channel = expect_property_type!(Some(cvalue), "channel", Text).to_string();
|
||||
let message = expect_property_type!(Some(mvalue), "message", Text).to_string();
|
||||
|
||||
messages.push((channel, message));
|
||||
messages.push(ReadMessagesResponseEntry { channel, message });
|
||||
}
|
||||
|
||||
Ok(ReadMessagesResponse { messages })
|
||||
Ok(messages)
|
||||
}
|
||||
}
|
||||
|
||||
@@ -65,12 +68,16 @@ mod tests {
|
||||
let result = ReadMessages::parse_raw_response(input);
|
||||
assert_eq!(
|
||||
result,
|
||||
Ok(ReadMessagesResponse {
|
||||
messages: vec![
|
||||
("channel1".to_string(), "message1".to_string()),
|
||||
("channel2".to_string(), "message2".to_string()),
|
||||
]
|
||||
})
|
||||
Ok(vec![
|
||||
ReadMessagesResponseEntry {
|
||||
channel: "channel1".to_string(),
|
||||
message: "message1".to_string(),
|
||||
},
|
||||
ReadMessagesResponseEntry {
|
||||
channel: "channel2".to_string(),
|
||||
message: "message2".to_string(),
|
||||
},
|
||||
])
|
||||
);
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user