wip, test: add tests for only-entity queries
ci/woodpecker/push/woodpecker Pipeline was successful
Details
ci/woodpecker/push/woodpecker Pipeline was successful
Details
parent
d7f48f1880
commit
9e0b198e63
|
@ -57,9 +57,10 @@ pub fn execute(
|
|||
&& matches!(pattern.attribute, PatternQueryComponent::Discard)
|
||||
&& matches!(pattern.value, PatternQueryComponent::Discard) =>
|
||||
{
|
||||
Ok(InnerQueryResult::Entities(
|
||||
entries.into_iter().map(|e| e.entity).collect(),
|
||||
))
|
||||
let mut result: Vec<Vec<u8>> = entries.into_iter().map(|e| e.entity).collect();
|
||||
result.sort_unstable();
|
||||
result.dedup();
|
||||
Ok(InnerQueryResult::Entities(result))
|
||||
}
|
||||
QueryPart::Matches(pattern)
|
||||
if matches!(pattern.entity, PatternQueryComponent::Discard)
|
||||
|
|
|
@ -547,6 +547,16 @@ mod test {
|
|||
let result = connection.query::<Vec<Entry>>(query).unwrap();
|
||||
assert_eq!(result.len(), 0);
|
||||
|
||||
// Test only-queries
|
||||
let query = format!(r#"(matches ? ? ?)"#).parse().unwrap();
|
||||
let result = connection.query::<Vec<Address>>(query).unwrap();
|
||||
assert_eq!(result.len(), 2);
|
||||
|
||||
let query = format!(r#"(matches ? _ _)"#).parse().unwrap();
|
||||
let result = connection.query::<Vec<Address>>(query).unwrap();
|
||||
println!("{:?}", result);
|
||||
assert_eq!(result.len(), 1);
|
||||
|
||||
// Test IN queries for entities
|
||||
let other_entity = Address::Uuid(uuid::Uuid::new_v4());
|
||||
upend_insert_val!(connection, random_entity, ATTR_LABEL, "BAZQUX").unwrap();
|
||||
|
|
Loading…
Reference in New Issue