test_sample_payment_list_helpers.py 1.3 KB

12345678910111213141516171819202122232425262728293031323334353637
  1. """样本缴费列表:进度过滤与分页顺序"""
  2. import unittest
  3. from app.crud.protocol_sample_payment import _filter_and_page_progress
  4. class TestFilterAndPageProgress(unittest.TestCase):
  5. def test_filter_bfyj_before_paging(self):
  6. rows = [
  7. {"id": "1", "progressStatus": "dfj"},
  8. {"id": "2", "progressStatus": "bfyj"},
  9. {"id": "3", "progressStatus": "bfyj"},
  10. {"id": "4", "progressStatus": "yjq"},
  11. {"id": "5", "progressStatus": "bfyj"},
  12. ]
  13. page1, total = _filter_and_page_progress(rows, "bfyj", 1, 2)
  14. self.assertEqual(total, 3)
  15. self.assertEqual(len(page1), 2)
  16. self.assertEqual(page1[0]["id"], "2")
  17. self.assertEqual(page1[1]["id"], "3")
  18. page2, total2 = _filter_and_page_progress(rows, "bfyj", 2, 2)
  19. self.assertEqual(total2, 3)
  20. self.assertEqual(len(page2), 1)
  21. self.assertEqual(page2[0]["id"], "5")
  22. def test_no_progress_filter_returns_all_paged(self):
  23. rows = [{"id": str(i), "progressStatus": "dfj"} for i in range(5)]
  24. page, total = _filter_and_page_progress(rows, None, 1, 3)
  25. self.assertEqual(total, 5)
  26. self.assertEqual(len(page), 3)
  27. self.assertEqual([r["id"] for r in page], ["0", "1", "2"])
  28. if __name__ == "__main__":
  29. unittest.main()