DOM сетки разбиения на страницы не создается (угловой с Jest)

Ниже представлен компонент сетки (обратите внимание, что он имеет правильный шаблон и пользовательский интерфейс отображается, как ожидалось).

export class GridComponent implements OnInit{

@Input("propertyName") propertyName;
@Input("trendTableData") trendTableData;
gridOptions = GridOptions;
columnDefs = GridColDefs;
private gridApi;
private gridColumnApi;
paginationPageSize = 5;
selectedSize = 5;
pageSizes = [5,10];
rowData=[];
gridHeight = 214;
pageHeight = 510;
searchText;
defaultColDef;
autoGroupColumnDef;

ngOnInit(): void {
    this.defaultColDef = {
        flex: 1,
        minWidth: 100,
        sortable: true,
        resizable: true,
      };
      this.autoGroupColumnDef = { minWidth: 200 };
}

updateGridData(){
    //some code to update the grid
}

onGridReady(params) {
    this.gridApi = params.api;
    this.gridColumnApi = params.columnApi;
    this.gridApi.setDomLayout('normal');
  }
}

А ниже - тестовый файл Jest.

describe('AmenityTrendGridComponent', () => {
  let component: AmenityTrendGridComponent;
  let fixture: ComponentFixture<AmenityTrendGridComponent>;
  let debugElement: DebugElement;

  beforeEach(async(() => {
    TestBed.configureTestingModule({
        imports: [
            FormsModule,
            AgGridModule.withComponents([])
        ],
        declarations: [GridComponent],
        schemas: [NO_ERRORS_SCHEMA]
    }).compileComponents();
  }));
  beforeEach(() => {
    fixture = TestBed.createComponent(GridComponent);
    component = fixture.componentInstance;
    component.trendTableData = [];
    component.propertyName = 'test';
    component.updateGridData();//sending some static data from this file to update the grid
    debugElement = fixture.debugElement;
    fixture.detectChanges();
  });
  
  it('should create', () => {
    expect(component).toBeTruthy();
  });

  it('should contain grid element', async(() => {
    const gridElement = debugElement.queryAll(By.css('.ag-root-wrapper-body'));
    console.log(gridElement.length);
    expect(gridElement).toBeTruthy();
  }));
});

console.log в приведенном выше тесте всегда печатает 0. Я подозреваю, что DOM здесь не создается. Я не могу выполнить поиск по CSS или идентификатору из debugElement. Мне здесь что-то не хватает, чтобы все работало нормально?

0 ответов

Другие вопросы по тегам