use super::{test_env, test_meta, TestEnv};
use crate::prelude::*;
use rstest::*;
use std::time::Duration;
#[rstest]
#[tokio::test]
async fn test_search(
test_env: TestEnv,
test_meta: Metadata,
) -> Result<(), RdfStoreError> {
let event = EventBuilder::metadata(&test_meta)
.sign(&test_env.keys)
.await
.unwrap();
test_env.events_store.insert_event(&event)?;
let note_ev = EventBuilder::text_note("Search for this")
.sign(&test_env.keys)
.await
.unwrap();
test_env.events_store.insert_event(¬e_ev)?;
let (subs, _) = SearchQuerySubsBuilder::default()
.since_duration(Duration::from_secs(3600))
.author_name("Test")
.content_search_regex("for this")
.build()
.map_err(|_| RdfStoreError::LDBuilderError)?
.subs_with_ckey()?;
let rset =
test_env
.events_store
.run_query(&nrq_get("search")?, subs, None)?;
assert_eq!(rset.count(), 1);
Ok(())
}