Business
Jobs
  • About Us
  • Solutions
    • Job Postings
      Post your job and receive qualified candidates in 48h.
    • Candidate Assessments
      500+ technical and psychological tests, plus anti-fraud.
    • Headhunting
      Tailor-made executive search from start to finish.
    • Payroll + EOR
      Payroll dispersal and EOR across 15+ LATAM countries.
  • Pricing
  • Jobs

0

438
Views
how to test ag-grid with Jest/Enzyme when server side

The ag-grid onGridReady will not called when rowModelType is server-side, so when I run test code can not find agGridReact api, the error is "TypeError: Cannot read property 'getDisplayedRowCount' of undefined"

this is my test code (index.test.js)

let component = null;
let agGridReact = null;

const ensureGridApiHasBeenSet = async (componentRef) => {
  await act(async () => {
    await new Promise(function (resolve, reject) {
      (function waitForGridReady() {
        if (componentRef.current.getApi()) {
          return resolve();
        }
        setTimeout(waitForGridReady, 10);
      })();
    });
  });
};

beforeEach(async () => {
  const ref = React.createRef();
  component = mount(<SymbolMetadata ref={ref} />);
  agGridReact = component.find(AgGridReact).instance();
  await ensureGridApiHasBeenSet(ref);
});

afterEach(() => {
  component.unmount();
  agGridReact = null;
});

describe('metadata', () => {
  it('metadata  should have correct columns', () => {
    console.info('agGridReact.api.getDisplayedRowCount());
  });
});

this is ag-grid (index.js)

  const onGridReady = async (params: GridReadyEvent) => {
    gridOptionsApi.current = params.api;
    columnApiRef.current = params.columnApi;
  };
  <AgGridReact
      animateRows
      suppressColumnVirtualisation
      serverSideFilteringAlwaysResets
      rowModelType={'serverSide'}
      rowHeight={32}
      rowSelection={'single'}
      defaultColDef={{
         menuTabs: ['filterMenuTab'],
         resizable: true,
         filter: true,
      }}
      serverSideStoreType={ServerSideStoreType.Partial}
      pagination
      localeText={{
          noRowsToShow: 'No Data',
       }}
      paginationPageSize={pageSize}
      cacheBlockSize={pageSize}
      headerHeight={24}
      gridOptions={gridOptions}
      onGridReady={onGridReady}
     />
about 4 years ago · Juan Pablo Isaza
1 answers
Answer question

0

Testing with enzyme is covered in the AG Grid Documentation:

Testing React Hooks with Enzyme

Testing with Jest & Enzyme - querying JSDOM vs AG Grid API

about 4 years ago · Juan Pablo Isaza Report
Answer question
Find remote jobs

Discover the new way to find a job!

Top jobs
Top job categories
Business
Post vacancy Pricing Sales
Legal
Terms and conditions Privacy policy
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Show me some job opportunities
There's an error!