Empresas
Empregos
  • Sobre nós
  • Soluções
    • Publicação de vagas
      Publique sua vaga e receba candidatos qualificados em 48h.
    • Avaliações de candidatos
      Mais de 500 testes técnicos e psicológicos, mais anti-fraude.
    • Headhunting
      Busca executiva personalizada do início ao fim.
    • Folha de Pagamento + EOR
      Dispersão de folha e EOR em mais de 15 países da LATAM.
  • Preços
  • Empregos

0

369
Visualizações
Angular unit test case- Cannot read properties of undefined (reading 'forEachNode')

I am trying to write unit test cases for Grid, for this I need to loop through gridapi data but it is giving me Cannot read undefined forEachNode error.

myComponent.component.ts.

          import { Component, OnInit, } from '@angular/core';
          import { GridOptions, GridApi, } from "ag-grid-community";

          @Component({
                selector: 'my-component',
                templateUrl: './mycomponent.component.html',
                styleUrls: ['./mycomponent.component.scss']
          })
          export class MyComponent implements OnInit {

             grid: GridOptions;
             data;
             constructor() {}
             getData() {
                this.grid.api.forEachNode((node) =>
                   this.data.push(node.data.id);
                );
             }   
          }

mycomponent.component.spec.ts:

          import { ComponentFixture, TestBed, waitForAsync } from '@angular/core/testing';
          import { Mycomponent} from './mycomponent.component';
          
          describe('Mycomponent', () => {
                    let component: Mycomponent;
                    let fixture: ComponentFixture<Mycomponent>;

          beforeEach(
             waitForAsync(() => {
               TestBed.configureTestingModule({
                 declarations: [Mycomponent],
                 }).compileComponents();
                })
           );

          beforeEach(() => {
              fixture = TestBed.createComponent(Mycomponent);
              component = fixture.componentInstance;
              const gridObj = jasmine.createSpyObj('grid', [
                    'api',
              ]);
              gridObj.grid.api.and.returnValue({
                   context: {}
                   data : { id:1,name: 'columName'}
             });
             component.grid = gridObj;
             fixture.detectChanges();
          });

           it(`should call getData method.`, () => {
            component.getData();
            expect(component.data).toEqual('[1]');
           });
          });

When I try to run above test case, TypeError: Cannot read properties of undefined (reading 'forEachNode'). Can any one tell me where I am doing wrong.

about 4 years ago · Juan Pablo Isaza
Responde à pergunta
Encontrar trabalhos remotos

Descubra a nova forma de encontrar um emprego!

melhores empregos
Principais categorias de trabalho
Empresas
Postar vaga Preços Comercial
Jurídico
Termos e Condições Política de privacidade
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomende algumas ofertas para mim
Preciso de ajuda