| 12345678910111213141516171819202122232425262728293031323334353637 |
- """样本缴费列表:进度过滤与分页顺序"""
- import unittest
- from app.crud.protocol_sample_payment import _filter_and_page_progress
- class TestFilterAndPageProgress(unittest.TestCase):
- def test_filter_bfyj_before_paging(self):
- rows = [
- {"id": "1", "progressStatus": "dfj"},
- {"id": "2", "progressStatus": "bfyj"},
- {"id": "3", "progressStatus": "bfyj"},
- {"id": "4", "progressStatus": "yjq"},
- {"id": "5", "progressStatus": "bfyj"},
- ]
- page1, total = _filter_and_page_progress(rows, "bfyj", 1, 2)
- self.assertEqual(total, 3)
- self.assertEqual(len(page1), 2)
- self.assertEqual(page1[0]["id"], "2")
- self.assertEqual(page1[1]["id"], "3")
- page2, total2 = _filter_and_page_progress(rows, "bfyj", 2, 2)
- self.assertEqual(total2, 3)
- self.assertEqual(len(page2), 1)
- self.assertEqual(page2[0]["id"], "5")
- def test_no_progress_filter_returns_all_paged(self):
- rows = [{"id": str(i), "progressStatus": "dfj"} for i in range(5)]
- page, total = _filter_and_page_progress(rows, None, 1, 3)
- self.assertEqual(total, 5)
- self.assertEqual(len(page), 3)
- self.assertEqual([r["id"] for r in page], ["0", "1", "2"])
- if __name__ == "__main__":
- unittest.main()
|