Я пытаюсь написать модульный тест, который проверяет наличие всех заголовков в моей AG-сетке, а также проверяет данные первой строки.
beforeEach(() => {
fixture = TestBed.createComponent(MainTableComponent);
component = fixture.componentInstance;
});
it('should have expected headers' () => {
component.columnDefs;
fixture.detectChanges();
const grid = fixture.nativeElement.querySelector('main-table-
wrapper');
const headerCells = grid.querySelectorAll('.ag-header-cell-
text');
const title = Array.from(headerCells).map(cell: any)=>
cell.textContent.trim()
);
expect(title).toEqual(['Name', 'ID', 'Ref No', 'Date', 'Date
of Birth', 'Country','Address' ,'Role']);
}):
В большинстве случаев результаты показывают:
Ожидаемая $ .length = 5 будет равна 8.
Кажется, что сравнение с первыми проходит, но остальные дают ожидаемый $ [5] = undefined, чтобы равняться 'Country', и так далее до конца.
В других случаях это показывает, что длина равна 4, а иногда она меняется на 6. Я понятия не имею, почему она колеблется так.
Я не уверен, имеет ли это значение, так как я новичок в angular, но мой компонент grid-wrapper принимает значение @Input для columnDefData, rowData и gridOptions. Фактические заголовки и поля columDef определены в main-table-component.ts