|
|
@@ -885,6 +885,210 @@ describe('残疾人管理API集成测试', () => {
|
|
|
expect(data.data[0].name).toBe('北京一级视力残疾人');
|
|
|
}
|
|
|
});
|
|
|
+
|
|
|
+ it('应该支持银行卡类别筛选', async () => {
|
|
|
+ // 创建测试数据
|
|
|
+ const dataSource = await IntegrationTestDatabase.getDataSource();
|
|
|
+ const disabledPersonRepository = dataSource.getRepository(DisabledPerson);
|
|
|
+ const bankNameRepository = dataSource.getRepository(BankName);
|
|
|
+ const bankCardRepository = dataSource.getRepository(DisabledBankCard);
|
|
|
+
|
|
|
+ // 创建银行名称
|
|
|
+ const bankName1 = bankNameRepository.create({
|
|
|
+ name: '中国工商银行',
|
|
|
+ code: 'ICBC',
|
|
|
+ status: 1
|
|
|
+ });
|
|
|
+ await bankNameRepository.save(bankName1);
|
|
|
+
|
|
|
+ const bankName2 = bankNameRepository.create({
|
|
|
+ name: '中国建设银行',
|
|
|
+ code: 'CCB',
|
|
|
+ status: 1
|
|
|
+ });
|
|
|
+ await bankNameRepository.save(bankName2);
|
|
|
+
|
|
|
+ // 创建人员1 - 有工商银行卡
|
|
|
+ const person1 = disabledPersonRepository.create({
|
|
|
+ name: '工商银行用户',
|
|
|
+ gender: '男',
|
|
|
+ idCard: '110101199001011391',
|
|
|
+ disabilityId: 'D123456891',
|
|
|
+ disabilityType: '视力残疾',
|
|
|
+ disabilityLevel: '一级',
|
|
|
+ idAddress: '北京市测试区',
|
|
|
+ phone: '1380013891',
|
|
|
+ province: '北京市',
|
|
|
+ city: '北京市'
|
|
|
+ });
|
|
|
+ await disabledPersonRepository.save(person1);
|
|
|
+
|
|
|
+ // 为人员1创建工商银行卡
|
|
|
+ const bankCard1 = bankCardRepository.create({
|
|
|
+ personId: person1.id,
|
|
|
+ subBankName: '北京分行',
|
|
|
+ bankName: '中国工商银行',
|
|
|
+ bankNameId: bankName1.id,
|
|
|
+ cardNumber: '6222001234567890123',
|
|
|
+ cardholderName: '工商银行用户',
|
|
|
+ cardType: '储蓄卡',
|
|
|
+ fileId: testFile.id,
|
|
|
+ isDefault: 1
|
|
|
+ });
|
|
|
+ await bankCardRepository.save(bankCard1);
|
|
|
+
|
|
|
+ // 创建人员2 - 有建设银行卡
|
|
|
+ const person2 = disabledPersonRepository.create({
|
|
|
+ name: '建设银行用户',
|
|
|
+ gender: '女',
|
|
|
+ idCard: '110101199001011392',
|
|
|
+ disabilityId: 'D123456892',
|
|
|
+ disabilityType: '肢体残疾',
|
|
|
+ disabilityLevel: '二级',
|
|
|
+ idAddress: '北京市测试区',
|
|
|
+ phone: '1380013892',
|
|
|
+ province: '北京市',
|
|
|
+ city: '北京市'
|
|
|
+ });
|
|
|
+ await disabledPersonRepository.save(person2);
|
|
|
+
|
|
|
+ // 为人员2创建建设银行卡
|
|
|
+ const bankCard2 = bankCardRepository.create({
|
|
|
+ personId: person2.id,
|
|
|
+ subBankName: '北京分行',
|
|
|
+ bankName: '中国建设银行',
|
|
|
+ bankNameId: bankName2.id,
|
|
|
+ cardNumber: '6227001234567890123',
|
|
|
+ cardholderName: '建设银行用户',
|
|
|
+ cardType: '信用卡',
|
|
|
+ fileId: testFile.id,
|
|
|
+ isDefault: 1
|
|
|
+ });
|
|
|
+ await bankCardRepository.save(bankCard2);
|
|
|
+
|
|
|
+ // 测试工商银行筛选
|
|
|
+ const response = await client.getAllDisabledPersons.$get({
|
|
|
+ query: {
|
|
|
+ bankNameId: bankName1.id,
|
|
|
+ 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('工商银行用户');
|
|
|
+ }
|
|
|
+ });
|
|
|
+
|
|
|
+ it('应该支持银行卡类型筛选', async () => {
|
|
|
+ // 创建测试数据
|
|
|
+ const dataSource = await IntegrationTestDatabase.getDataSource();
|
|
|
+ const disabledPersonRepository = dataSource.getRepository(DisabledPerson);
|
|
|
+ const bankNameRepository = dataSource.getRepository(BankName);
|
|
|
+ const bankCardRepository = dataSource.getRepository(DisabledBankCard);
|
|
|
+
|
|
|
+ // 创建银行名称
|
|
|
+ const bankName1 = bankNameRepository.create({
|
|
|
+ name: '中国工商银行',
|
|
|
+ code: 'ICBC',
|
|
|
+ status: 1
|
|
|
+ });
|
|
|
+ await bankNameRepository.save(bankName1);
|
|
|
+
|
|
|
+ const bankName2 = bankNameRepository.create({
|
|
|
+ name: '中国建设银行',
|
|
|
+ code: 'CCB',
|
|
|
+ status: 1
|
|
|
+ });
|
|
|
+ await bankNameRepository.save(bankName2);
|
|
|
+
|
|
|
+ // 创建人员1 - 有储蓄卡
|
|
|
+ const person1 = disabledPersonRepository.create({
|
|
|
+ name: '储蓄卡用户',
|
|
|
+ gender: '男',
|
|
|
+ idCard: '110101199001011393',
|
|
|
+ disabilityId: 'D123456893',
|
|
|
+ disabilityType: '视力残疾',
|
|
|
+ disabilityLevel: '一级',
|
|
|
+ idAddress: '北京市测试区',
|
|
|
+ phone: '1380013893',
|
|
|
+ province: '北京市',
|
|
|
+ city: '北京市'
|
|
|
+ });
|
|
|
+ await disabledPersonRepository.save(person1);
|
|
|
+
|
|
|
+ // 为人员1创建储蓄卡
|
|
|
+ const bankCard1 = bankCardRepository.create({
|
|
|
+ personId: person1.id,
|
|
|
+ subBankName: '北京分行',
|
|
|
+ bankName: '中国工商银行',
|
|
|
+ bankNameId: bankName1.id,
|
|
|
+ cardNumber: '6222001234567890124',
|
|
|
+ cardholderName: '储蓄卡用户',
|
|
|
+ cardType: '储蓄卡',
|
|
|
+ fileId: testFile.id,
|
|
|
+ isDefault: 1
|
|
|
+ });
|
|
|
+ await bankCardRepository.save(bankCard1);
|
|
|
+
|
|
|
+ // 创建人员2 - 有信用卡
|
|
|
+ const person2 = disabledPersonRepository.create({
|
|
|
+ name: '信用卡用户',
|
|
|
+ gender: '女',
|
|
|
+ idCard: '110101199001011394',
|
|
|
+ disabilityId: 'D123456894',
|
|
|
+ disabilityType: '肢体残疾',
|
|
|
+ disabilityLevel: '二级',
|
|
|
+ idAddress: '北京市测试区',
|
|
|
+ phone: '1380013894',
|
|
|
+ province: '北京市',
|
|
|
+ city: '北京市'
|
|
|
+ });
|
|
|
+ await disabledPersonRepository.save(person2);
|
|
|
+
|
|
|
+ // 为人员2创建信用卡
|
|
|
+ const bankCard2 = bankCardRepository.create({
|
|
|
+ personId: person2.id,
|
|
|
+ subBankName: '北京分行',
|
|
|
+ bankName: '中国建设银行',
|
|
|
+ bankNameId: bankName2.id,
|
|
|
+ cardNumber: '6227001234567890124',
|
|
|
+ cardholderName: '信用卡用户',
|
|
|
+ cardType: '信用卡',
|
|
|
+ fileId: testFile.id,
|
|
|
+ isDefault: 1
|
|
|
+ });
|
|
|
+ await bankCardRepository.save(bankCard2);
|
|
|
+
|
|
|
+ // 测试储蓄卡筛选
|
|
|
+ const response = await client.getAllDisabledPersons.$get({
|
|
|
+ query: {
|
|
|
+ cardType: '储蓄卡',
|
|
|
+ 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', () => {
|