Add server-side work item search
This commit is contained in:
@@ -84,6 +84,8 @@ pub struct IssueFilter {
|
||||
pub milestone: String,
|
||||
#[serde(default)]
|
||||
pub labels: BTreeSet<String>,
|
||||
#[serde(skip)]
|
||||
pub search_text: String,
|
||||
}
|
||||
|
||||
impl IssueFilter {
|
||||
@@ -96,6 +98,8 @@ impl IssueFilter {
|
||||
pub struct PullFilter {
|
||||
#[serde(default)]
|
||||
pub milestone: String,
|
||||
#[serde(skip)]
|
||||
pub search_text: String,
|
||||
}
|
||||
|
||||
impl PullFilter {
|
||||
@@ -185,8 +189,44 @@ mod tests {
|
||||
assert!(
|
||||
PullFilter {
|
||||
milestone: "v1".into(),
|
||||
..Default::default()
|
||||
}
|
||||
.is_active("open")
|
||||
);
|
||||
assert!(
|
||||
IssueFilter {
|
||||
search_text: "needle".into(),
|
||||
..Default::default()
|
||||
}
|
||||
.is_active("open")
|
||||
);
|
||||
assert!(
|
||||
PullFilter {
|
||||
search_text: "needle".into(),
|
||||
..Default::default()
|
||||
}
|
||||
.is_active("open")
|
||||
);
|
||||
}
|
||||
|
||||
#[test]
|
||||
fn search_text_is_session_only() {
|
||||
let issue = IssueFilter {
|
||||
search_text: "needle".into(),
|
||||
..Default::default()
|
||||
};
|
||||
let pull = PullFilter {
|
||||
search_text: "needle".into(),
|
||||
..Default::default()
|
||||
};
|
||||
|
||||
assert!(!serde_json::to_string(&issue).unwrap().contains("needle"));
|
||||
assert!(!serde_json::to_string(&pull).unwrap().contains("needle"));
|
||||
assert_eq!(
|
||||
serde_json::from_str::<IssueFilter>(r#"{"milestone":"v1"}"#)
|
||||
.unwrap()
|
||||
.search_text,
|
||||
""
|
||||
);
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user