feat: recommend case list
This commit is contained in:
@@ -120,18 +120,22 @@ class MobileCaseListTest(TransactionTestCase):
|
||||
for url in (REC_URL, SPEC_URL, WEAK_URL, TEACH_URL, TASK_URL):
|
||||
self.assertEqual(APIClient().get(url).status_code, 401, url)
|
||||
|
||||
# ── 5.1 推荐 ───────────────────────────────────────────────────────────
|
||||
def test_recommended_only_published(self):
|
||||
# ── 5.1 推荐(返回病例库全部已发布病例)───────────────────────────────────
|
||||
def test_recommended_returns_all_published(self):
|
||||
# 返回全部已发布病例;草稿/禁用/已下架(软删) 均不返回
|
||||
resp = self.client.get(REC_URL)
|
||||
self.assertEqual(resp.status_code, 200, resp.content)
|
||||
ids = set(self._ids(resp))
|
||||
self.assertEqual(resp.json()['count'], 3)
|
||||
ids = set(self._ids(resp))
|
||||
self.assertEqual(ids, {self.pub_trad1.id, self.pub_teach.id, self.pub_trad2.id})
|
||||
titles = {r['title'] for r in resp.json()['results']}
|
||||
self.assertNotIn('草稿病例', titles)
|
||||
self.assertNotIn('禁用病例', titles)
|
||||
self.assertNotIn('已下架病例', titles)
|
||||
|
||||
def test_recommended_untrained_first(self):
|
||||
# pub_teach 未训练且命中薄弱标签+同科室 → 应排在已训练病例之前
|
||||
resp = self.client.get(REC_URL)
|
||||
self.assertEqual(self._ids(resp)[0], self.pub_teach.id, resp.content)
|
||||
def test_recommended_supports_search(self):
|
||||
resp = self.client.get(REC_URL, {'search': '心梗'})
|
||||
self.assertEqual(self._ids(resp), [self.pub_trad1.id], resp.content)
|
||||
|
||||
# ── 5.2 科室专项 ──────────────────────────────────────────────────────────
|
||||
def test_specialty_default_user_dept(self):
|
||||
|
||||
Reference in New Issue
Block a user