如何编写 karma jasmine tescases 来覆盖 valueformatter 、 tooltipvaluegetter 的 Ag grid col defs 代码

问题描述 投票:0回答:1
{
    headerName: this.translateService.instant('_updated_date_'),
    field: 'lastUpdateDate',
    headerTooltip: this.translateService.instant('_updated_date_'),
    valueFormatter: (params: any) => params?.value ? this.utilService.dateFormatter(params.value, TmLinkConstants.DATE_FORMAT) : '',
    minWidth: 120,
    tooltipValueGetter: (params: any) => params?.value ? this.utilService.dateFormatter(params.value, TmLinkConstants.DATE_FORMAT) : ''
  }

试图写一篇报道,但似乎没有任何内容。

angular ag-grid-angular columndefinition
1个回答
0
投票

首先将它们转换为各自的函数

const valueFormatter = (params: any) => params?.value ? this.utilService.dateFormatter(params.value, TmLinkConstants.DATE_FORMAT) : '';

const tooltipValueGetter = (params: any) => params?.value ? this.utilService.dateFormatter(params.value, TmLinkConstants.DATE_FORMAT) : '';
...

...
{
    headerName: this.translateService.instant('_updated_date_'),
    field: 'lastUpdateDate',
    headerTooltip: this.translateService.instant('_updated_date_'),
    valueFormatter: valueFormatter,
    minWidth: 120,
    tooltipValueGetter: tooltipValueGetter,
  }
  ...

那么覆盖就变得简单了

desc('valueFormatter', () => {
    it('should return value', () => {
        spyOn(utilService, 'dateFormatter').and.returnValue('TEST');
        expect(valueFormatter({value: 'test'})).toEqual('TEST');
    })
});

desc('tooltipValueGetter', () => {
    it('should return value', () => {
        spyOn(utilService, 'dateFormatter').and.returnValue('TEST');
        expect(tooltipValueGetter({value: 'test'})).toEqual('TEST');
    })
});
© www.soinside.com 2019 - 2024. All rights reserved.