feat: cms softdelet bug fix
This commit is contained in:
@@ -68,6 +68,19 @@ class CmsDepartmentTest(CacheTestCase):
|
||||
self.assertFalse(Department.objects.filter(id=d.id).exists())
|
||||
self.assertTrue(Department.all_objects.get(id=d.id).is_deleted)
|
||||
|
||||
def test_recreate_soft_deleted_name_returns_400(self):
|
||||
"""软删后用相同名称重建:返回 400 CMS_DEPARTMENT_NAME_EXISTS(不产生重复行)。
|
||||
|
||||
按 all_objects 校验,避免与已停用科室同名而静默新建重复记录。
|
||||
"""
|
||||
d = Department.objects.create(name='康复科', category='临床')
|
||||
self.client.delete(d_detail(d.id))
|
||||
self.assertFalse(Department.objects.filter(name='康复科').exists())
|
||||
resp = self.client.post(CMS_DEPT_URL, {'name': '康复科', 'category': '临床'})
|
||||
self.assertEqual(resp.status_code, 400, resp.content)
|
||||
self.assertEqual(resp.json()['code'], 'CMS_DEPARTMENT_NAME_EXISTS')
|
||||
self.assertEqual(Department.all_objects.filter(name='康复科').count(), 1)
|
||||
|
||||
def test_import_and_export(self):
|
||||
f = make_xlsx(['科室名称', '分类'], [['心内科', '临床'], ['', 'x'], ['心内科', '临床']])
|
||||
resp = self.client.post('/api/cms/departments/import/', {'file': f}, format='multipart')
|
||||
|
||||
Reference in New Issue
Block a user