feat(backend): add sample-payments list and detail read APIs
Support per-sample payment overview for the standalone payment-info menu. Co-authored-by: Cursor <cursoragent@cursor.com>
This commit is contained in:
1 parent
47f873a3e6
commit
c35e4ca3d2
3 files changed
+380
-4
No files matched your search
@@ -0,0 +1,37 @@
|
||||
"""样本缴费列表:进度过滤与分页顺序"""
|
||||
|
||||
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()
|
||||
Reference in new issue
Block a user