|
|
@@ -656,6 +656,233 @@ describe('残疾人管理API集成测试', () => {
|
|
|
expect(data.total).toBe(15);
|
|
|
}
|
|
|
});
|
|
|
+
|
|
|
+ it('应该支持残疾类型筛选', async () => {
|
|
|
+ // 创建测试数据
|
|
|
+ const dataSource = await IntegrationTestDatabase.getDataSource();
|
|
|
+ const disabledPersonRepository = dataSource.getRepository(DisabledPerson);
|
|
|
+
|
|
|
+ // 创建不同残疾类型的人员
|
|
|
+ const person1 = disabledPersonRepository.create({
|
|
|
+ name: '视力残疾人',
|
|
|
+ gender: '男',
|
|
|
+ idCard: '110101199001011351',
|
|
|
+ disabilityId: 'D123456851',
|
|
|
+ disabilityType: '视力残疾',
|
|
|
+ disabilityLevel: '一级',
|
|
|
+ idAddress: '北京市测试区',
|
|
|
+ phone: '1380013851',
|
|
|
+ province: '北京市',
|
|
|
+ city: '北京市'
|
|
|
+ });
|
|
|
+ await disabledPersonRepository.save(person1);
|
|
|
+
|
|
|
+ const person2 = disabledPersonRepository.create({
|
|
|
+ name: '肢体残疾人',
|
|
|
+ gender: '女',
|
|
|
+ idCard: '110101199001011352',
|
|
|
+ disabilityId: 'D123456852',
|
|
|
+ disabilityType: '肢体残疾',
|
|
|
+ disabilityLevel: '二级',
|
|
|
+ idAddress: '北京市测试区',
|
|
|
+ phone: '1380013852',
|
|
|
+ province: '北京市',
|
|
|
+ city: '北京市'
|
|
|
+ });
|
|
|
+ await disabledPersonRepository.save(person2);
|
|
|
+
|
|
|
+ // 测试视力残疾筛选
|
|
|
+ const response = await client.getAllDisabledPersons.$get({
|
|
|
+ query: {
|
|
|
+ disabilityType: '视力残疾',
|
|
|
+ skip: 0,
|
|
|
+ take: 10
|
|
|
+ }
|
|
|
+ }, {
|
|
|
+ headers: {
|
|
|
+ 'Authorization': `Bearer ${testToken}`
|
|
|
+ }
|
|
|
+ });
|
|
|
+
|
|
|
+ expect(response.status).toBe(200);
|
|
|
+
|
|
|
+ if (response.status === 200) {
|
|
|
+ const data = await response.json();
|
|
|
+ expect(data.data).toHaveLength(1);
|
|
|
+ expect(data.data[0].disabilityType).toBe('视力残疾');
|
|
|
+ }
|
|
|
+ });
|
|
|
+
|
|
|
+ it('应该支持残疾级别筛选', async () => {
|
|
|
+ // 创建测试数据
|
|
|
+ const dataSource = await IntegrationTestDatabase.getDataSource();
|
|
|
+ const disabledPersonRepository = dataSource.getRepository(DisabledPerson);
|
|
|
+
|
|
|
+ // 创建不同残疾级别的人员
|
|
|
+ const person1 = disabledPersonRepository.create({
|
|
|
+ name: '一级残疾人',
|
|
|
+ gender: '男',
|
|
|
+ idCard: '110101199001011361',
|
|
|
+ disabilityId: 'D123456861',
|
|
|
+ disabilityType: '肢体残疾',
|
|
|
+ disabilityLevel: '一级',
|
|
|
+ idAddress: '北京市测试区',
|
|
|
+ phone: '1380013861',
|
|
|
+ province: '北京市',
|
|
|
+ city: '北京市'
|
|
|
+ });
|
|
|
+ await disabledPersonRepository.save(person1);
|
|
|
+
|
|
|
+ const person2 = disabledPersonRepository.create({
|
|
|
+ name: '二级残疾人',
|
|
|
+ gender: '女',
|
|
|
+ idCard: '110101199001011362',
|
|
|
+ disabilityId: 'D123456862',
|
|
|
+ disabilityType: '肢体残疾',
|
|
|
+ disabilityLevel: '二级',
|
|
|
+ idAddress: '北京市测试区',
|
|
|
+ phone: '1380013862',
|
|
|
+ province: '北京市',
|
|
|
+ city: '北京市'
|
|
|
+ });
|
|
|
+ await disabledPersonRepository.save(person2);
|
|
|
+
|
|
|
+ // 测试一级残疾筛选
|
|
|
+ const response = await client.getAllDisabledPersons.$get({
|
|
|
+ query: {
|
|
|
+ disabilityLevel: '一级',
|
|
|
+ skip: 0,
|
|
|
+ take: 10
|
|
|
+ }
|
|
|
+ }, {
|
|
|
+ headers: {
|
|
|
+ 'Authorization': `Bearer ${testToken}`
|
|
|
+ }
|
|
|
+ });
|
|
|
+
|
|
|
+ expect(response.status).toBe(200);
|
|
|
+
|
|
|
+ if (response.status === 200) {
|
|
|
+ const data = await response.json();
|
|
|
+ expect(data.data).toHaveLength(1);
|
|
|
+ expect(data.data[0].disabilityLevel).toBe('一级');
|
|
|
+ }
|
|
|
+ });
|
|
|
+
|
|
|
+ it('应该支持省份筛选', async () => {
|
|
|
+ // 创建测试数据
|
|
|
+ const dataSource = await IntegrationTestDatabase.getDataSource();
|
|
|
+ const disabledPersonRepository = dataSource.getRepository(DisabledPerson);
|
|
|
+
|
|
|
+ // 创建不同省份的人员
|
|
|
+ const person1 = disabledPersonRepository.create({
|
|
|
+ name: '北京人员',
|
|
|
+ gender: '男',
|
|
|
+ idCard: '110101199001011371',
|
|
|
+ disabilityId: 'D123456871',
|
|
|
+ disabilityType: '肢体残疾',
|
|
|
+ disabilityLevel: '一级',
|
|
|
+ idAddress: '北京市测试区',
|
|
|
+ phone: '1380013871',
|
|
|
+ province: '北京市',
|
|
|
+ city: '北京市'
|
|
|
+ });
|
|
|
+ await disabledPersonRepository.save(person1);
|
|
|
+
|
|
|
+ const person2 = disabledPersonRepository.create({
|
|
|
+ name: '上海人员',
|
|
|
+ gender: '女',
|
|
|
+ idCard: '310101199001011372',
|
|
|
+ disabilityId: 'D123456872',
|
|
|
+ disabilityType: '肢体残疾',
|
|
|
+ disabilityLevel: '二级',
|
|
|
+ idAddress: '上海市测试区',
|
|
|
+ phone: '1380013872',
|
|
|
+ province: '上海市',
|
|
|
+ city: '上海市'
|
|
|
+ });
|
|
|
+ await disabledPersonRepository.save(person2);
|
|
|
+
|
|
|
+ // 测试北京筛选
|
|
|
+ const response = await client.getAllDisabledPersons.$get({
|
|
|
+ query: {
|
|
|
+ province: '北京市',
|
|
|
+ skip: 0,
|
|
|
+ take: 10
|
|
|
+ }
|
|
|
+ }, {
|
|
|
+ headers: {
|
|
|
+ 'Authorization': `Bearer ${testToken}`
|
|
|
+ }
|
|
|
+ });
|
|
|
+
|
|
|
+ expect(response.status).toBe(200);
|
|
|
+
|
|
|
+ if (response.status === 200) {
|
|
|
+ const data = await response.json();
|
|
|
+ expect(data.data).toHaveLength(1);
|
|
|
+ expect(data.data[0].province).toBe('北京市');
|
|
|
+ }
|
|
|
+ });
|
|
|
+
|
|
|
+ it('应该支持多条件组合筛选', async () => {
|
|
|
+ // 创建测试数据
|
|
|
+ const dataSource = await IntegrationTestDatabase.getDataSource();
|
|
|
+ const disabledPersonRepository = dataSource.getRepository(DisabledPerson);
|
|
|
+
|
|
|
+ // 创建符合多个条件的人员
|
|
|
+ const person1 = disabledPersonRepository.create({
|
|
|
+ name: '北京一级视力残疾人',
|
|
|
+ gender: '男',
|
|
|
+ idCard: '110101199001011381',
|
|
|
+ disabilityId: 'D123456881',
|
|
|
+ disabilityType: '视力残疾',
|
|
|
+ disabilityLevel: '一级',
|
|
|
+ idAddress: '北京市测试区',
|
|
|
+ phone: '1380013881',
|
|
|
+ province: '北京市',
|
|
|
+ city: '北京市'
|
|
|
+ });
|
|
|
+ await disabledPersonRepository.save(person1);
|
|
|
+
|
|
|
+ // 创建不符合全部条件的人员
|
|
|
+ const person2 = disabledPersonRepository.create({
|
|
|
+ name: '北京二级肢体残疾人',
|
|
|
+ gender: '女',
|
|
|
+ idCard: '110101199001011382',
|
|
|
+ disabilityId: 'D123456882',
|
|
|
+ disabilityType: '肢体残疾',
|
|
|
+ disabilityLevel: '二级',
|
|
|
+ idAddress: '北京市测试区',
|
|
|
+ phone: '1380013882',
|
|
|
+ province: '北京市',
|
|
|
+ city: '北京市'
|
|
|
+ });
|
|
|
+ await disabledPersonRepository.save(person2);
|
|
|
+
|
|
|
+ // 测试多条件组合筛选:北京 + 一级 + 视力残疾
|
|
|
+ const response = await client.getAllDisabledPersons.$get({
|
|
|
+ query: {
|
|
|
+ province: '北京市',
|
|
|
+ disabilityType: '视力残疾',
|
|
|
+ disabilityLevel: '一级',
|
|
|
+ skip: 0,
|
|
|
+ take: 10
|
|
|
+ }
|
|
|
+ }, {
|
|
|
+ headers: {
|
|
|
+ 'Authorization': `Bearer ${testToken}`
|
|
|
+ }
|
|
|
+ });
|
|
|
+
|
|
|
+ expect(response.status).toBe(200);
|
|
|
+
|
|
|
+ if (response.status === 200) {
|
|
|
+ const data = await response.json();
|
|
|
+ expect(data.data).toHaveLength(1);
|
|
|
+ expect(data.data[0].name).toBe('北京一级视力残疾人');
|
|
|
+ }
|
|
|
+ });
|
|
|
});
|
|
|
|
|
|
describe('GET /searchDisabledPersons', () => {
|