重构类型脚本方法



我在Angular应用程序中工作。和茉莉。我有这两种方法:

it('should create status options when no list value options are provided', () => {
optionService.options = [
{
value: caseStatusEnum.submitted.toString(),
selected: false,
},
{
value: caseStatusEnum.closed.toString(),
selected: true,
},
] as OptionModel[];
const result = service.createStatusOptions([], {});
expect(result.length).toBe(2);
expect(result).toEqual([{ value: '103', selected: true }, { value: '105', selected: false }]);
// tslint:disable-next-line:no-commented-code
//  const response = [{ mock: 'mock' } as any];
// expect(spy).toBe(result);
});
it('should create status options when there ar list value options are provided', () => {
optionService.options = [
{
value: caseStatusEnum.submitted.toString(),
selected: false,
},
{
value: caseStatusEnum.closed.toString(),
selected: true,
},
] as OptionModel[];
const result = service.createStatusOptions([{ value: '103', selected: false }, { value: '104_103', selected: false }, ], {});
expect(result.length).toBe(4);
// expect(result).toEqual([{ value: '104', selected: false,  }, { value: '105', selected: false, },  ]);
});

但我想重申这段代码:

optionService.options = [
{
value: caseStatusEnum.submitted.toString(),
selected: false,
},
{
value: caseStatusEnum.closed.toString(),
selected: true,
},
] as OptionModel[];

因为那是双重编码。

我从事visual studio代码工作。

但是如何做到这一点呢?

谢谢。

您应该能够为它们创建一个公共变量来引用

const enumOptions: any = [
{
value: caseStatusEnum.submitted.toString(),
selected: false,
},
{
value: caseStatusEnum.closed.toString(),
selected: true,
}
];
it('should create status options when no list value options are provided', () => {
optionService.options = this.enumOptions as OptionModel[];
const result = service.createStatusOptions([], {});
expect(result.length).toBe(2);
expect(result).toEqual([{ value: '103', selected: true }, { value: '105', selected: false }]);
// tslint:disable-next-line:no-commented-code
//  const response = [{ mock: 'mock' } as any];
// expect(spy).toBe(result);
});
it('should create status options when there ar list value options are provided', () => {
optionService.options = this.enumOptions as OptionModel[];
const result = service.createStatusOptions([{ value: '103', selected: false }, { value: '104_103', selected: false }, ], {});
expect(result.length).toBe(4);
// expect(result).toEqual([{ value: '104', selected: false,  }, { value: '105', selected: false, },  ]);
});

相关内容

最新更新