MCPcopy
hub / github.com/redis/redis-py / test_sort_by

Method test_sort_by

tests/test_search.py:499–527  ·  tests/test_search.py::TestBaseSearchFunctionality.test_sort_by
(self, client)

Source from the content-addressed store, hash-verified

497
498 @pytest.mark.redismod
499 def test_sort_by(self, client):
500 client.ft().create_index((TextField(class="st">"txt"), NumericField(class="st">"num", sortable=True)))
501 client.hset(class="st">"doc1", mapping={class="st">"txt": class="st">"foo bar", class="st">"num": 1})
502 client.hset(class="st">"doc2", mapping={class="st">"txt": class="st">"foo baz", class="st">"num": 2})
503 client.hset(class="st">"doc3", mapping={class="st">"txt": class="st">"foo qux", class="st">"num": 3})
504
505 class="cm"># Test sort
506 q1 = Query(class="st">"foo").sort_by(class="st">"num", asc=True).no_content()
507 q2 = Query(class="st">"foo").sort_by(class="st">"num", asc=False).no_content()
508 res1, res2 = client.ft().search(q1), client.ft().search(q2)
509
510 if expects_resp2_shape(client) or expects_unified_shape(client):
511 assert 3 == res1.total
512 assert class="st">"doc1" == res1.docs[0].id
513 assert class="st">"doc2" == res1.docs[1].id
514 assert class="st">"doc3" == res1.docs[2].id
515 assert 3 == res2.total
516 assert class="st">"doc1" == res2.docs[2].id
517 assert class="st">"doc2" == res2.docs[1].id
518 assert class="st">"doc3" == res2.docs[0].id
519 elif expects_resp3_shape(client):
520 assert 3 == res1[class="st">"total_results"]
521 assert class="st">"doc1" == res1[class="st">"results"][0][class="st">"id"]
522 assert class="st">"doc2" == res1[class="st">"results"][1][class="st">"id"]
523 assert class="st">"doc3" == res1[class="st">"results"][2][class="st">"id"]
524 assert 3 == res2[class="st">"total_results"]
525 assert class="st">"doc1" == res2[class="st">"results"][2][class="st">"id"]
526 assert class="st">"doc2" == res2[class="st">"results"][1][class="st">"id"]
527 assert class="st">"doc3" == res2[class="st">"results"][0][class="st">"id"]
528
529 @pytest.mark.redismod
530 @skip_ifmodversion_lt(class="st">"2.0.0", class="st">"search")

Callers

nothing calls this directly

Calls 12

TextFieldClass · 0.90
NumericFieldClass · 0.90
QueryClass · 0.90
expects_resp2_shapeFunction · 0.85
expects_unified_shapeFunction · 0.85
expects_resp3_shapeFunction · 0.85
create_indexMethod · 0.80
hsetMethod · 0.80
no_contentMethod · 0.80
ftMethod · 0.45
sort_byMethod · 0.45
searchMethod · 0.45

Tested by

no test coverage detected