Skip to content

Commit

Permalink
tests improved to satisfy #14 #11
Browse files Browse the repository at this point in the history
  • Loading branch information
serayuzgur committed Apr 20, 2017
1 parent 1423459 commit f3e791c
Showing 1 changed file with 24 additions and 4 deletions.
28 changes: 24 additions & 4 deletions src/service/query.rs
Original file line number Diff line number Diff line change
Expand Up @@ -14,10 +14,15 @@ pub fn split_query(query: Option<&str>) -> Vec<Query> {
if parts.get(0).is_none() || parts.get(1).is_none() {
continue;
}
let key = parts.get(0).unwrap().to_string();
let mut key = parts.get(0).unwrap().to_string();
let value = parts.get(1).unwrap().to_string();
let op = match key.split("_").collect::<Vec<&str>>().get(1) {
Some(v) => v.to_string(),
let mut key_op = key.to_string();
let key_op_vec = key_op.split("_").filter(|x| !x.is_empty()).collect::<Vec<&str>>();
let op = match key_op_vec.get(1) {
Some(v) => {
key = key_op_vec.get(0).unwrap().to_string();
v.to_string()
}
None => "=".to_string(),
};

Expand Down Expand Up @@ -68,5 +73,20 @@ mod tests {
vec![Query::new("a".to_string(), "=".to_string(), "1".to_string()),
Query::new("b".to_string(), "=".to_string(), "2".to_string()),
Query::new("c".to_string(), "=".to_string(), "3".to_string())]);

assert_eq!(split_query(Some("_start=20&_end=30")),
vec![Query::new("_start".to_string(), "=".to_string(), "20".to_string()),
Query::new("_end".to_string(), "=".to_string(), "30".to_string())]);
assert_eq!(split_query(Some("views_gte=10&views_lte=20")),
vec![Query::new("views".to_string(), "gte".to_string(), "10".to_string()),
Query::new("views".to_string(), "lte".to_string(), "20".to_string())]);
assert_eq!(split_query(Some("id_ne=1")),
vec![Query::new("id".to_string(), "ne".to_string(), "1".to_string())]);
assert_eq!(split_query(Some("title_like=server")),
vec![Query::new("title".to_string(), "like".to_string(), "server".to_string())]);
assert_eq!(split_query(Some("q=internet")),
vec![Query::new("q".to_string(), "=".to_string(), "internet".to_string())]);


}
}
}

0 comments on commit f3e791c

Please sign in to comment.