mirror of
				https://github.com/meilisearch/meilisearch.git
				synced 2025-11-04 01:46:28 +00:00 
			
		
		
		
	Test the search with sort time queries with POST and GET methods
This commit is contained in:
		@@ -146,6 +146,80 @@ async fn search_with_filter_array_notation() {
 | 
			
		||||
    assert_eq!(response["hits"].as_array().unwrap().len(), 3);
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
#[actix_rt::test]
 | 
			
		||||
async fn search_with_sort_on_numbers() {
 | 
			
		||||
    let server = Server::new().await;
 | 
			
		||||
    let index = server.index("test");
 | 
			
		||||
 | 
			
		||||
    index
 | 
			
		||||
        .update_settings(json!({"sortableAttributes": ["id"]}))
 | 
			
		||||
        .await;
 | 
			
		||||
 | 
			
		||||
    let documents = DOCUMENTS.clone();
 | 
			
		||||
    index.add_documents(documents, None).await;
 | 
			
		||||
    index.wait_update_id(1).await;
 | 
			
		||||
 | 
			
		||||
    index
 | 
			
		||||
        .search(
 | 
			
		||||
            json!({
 | 
			
		||||
                "sort": ["id:asc"]
 | 
			
		||||
            }),
 | 
			
		||||
            |response, code| {
 | 
			
		||||
                assert_eq!(code, 200, "{}", response);
 | 
			
		||||
                assert_eq!(response["hits"].as_array().unwrap().len(), 5);
 | 
			
		||||
            },
 | 
			
		||||
        )
 | 
			
		||||
        .await;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
#[actix_rt::test]
 | 
			
		||||
async fn search_with_sort_on_strings() {
 | 
			
		||||
    let server = Server::new().await;
 | 
			
		||||
    let index = server.index("test");
 | 
			
		||||
 | 
			
		||||
    index
 | 
			
		||||
        .update_settings(json!({"sortableAttributes": ["title"]}))
 | 
			
		||||
        .await;
 | 
			
		||||
 | 
			
		||||
    let documents = DOCUMENTS.clone();
 | 
			
		||||
    index.add_documents(documents, None).await;
 | 
			
		||||
    index.wait_update_id(1).await;
 | 
			
		||||
 | 
			
		||||
    index
 | 
			
		||||
        .search(
 | 
			
		||||
            json!({
 | 
			
		||||
                "sort": ["title:desc"]
 | 
			
		||||
            }),
 | 
			
		||||
            |response, code| {
 | 
			
		||||
                assert_eq!(code, 200, "{}", response);
 | 
			
		||||
                assert_eq!(response["hits"].as_array().unwrap().len(), 5);
 | 
			
		||||
            },
 | 
			
		||||
        )
 | 
			
		||||
        .await;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
#[actix_rt::test]
 | 
			
		||||
async fn search_with_multiple_sort() {
 | 
			
		||||
    let server = Server::new().await;
 | 
			
		||||
    let index = server.index("test");
 | 
			
		||||
 | 
			
		||||
    index
 | 
			
		||||
        .update_settings(json!({"sortableAttributes": ["id", "title"]}))
 | 
			
		||||
        .await;
 | 
			
		||||
 | 
			
		||||
    let documents = DOCUMENTS.clone();
 | 
			
		||||
    index.add_documents(documents, None).await;
 | 
			
		||||
    index.wait_update_id(1).await;
 | 
			
		||||
 | 
			
		||||
    let (response, code) = index
 | 
			
		||||
        .search_post(json!({
 | 
			
		||||
            "sort": ["id:asc", "title:desc"]
 | 
			
		||||
        }))
 | 
			
		||||
        .await;
 | 
			
		||||
    assert_eq!(code, 200, "{}", response);
 | 
			
		||||
    assert_eq!(response["hits"].as_array().unwrap().len(), 5);
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
#[actix_rt::test]
 | 
			
		||||
async fn search_facet_distribution() {
 | 
			
		||||
    let server = Server::new().await;
 | 
			
		||||
 
 | 
			
		||||
		Reference in New Issue
	
	Block a user