(self, client)
| 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") |
nothing calls this directly
no test coverage detected