I'm working on an Angular application that uses AG-Grid, and I need to write unit tests for components that interact with the grid. Specifically, I want to mock the following grid options:
- onSortChanged
- onColumnResized
- getDetailedRowData
I want to ensure that these methods are called correctly and test their behavior in isolation. However, I'm not sure how to create mocks for these options and integrate them into my tests.
Here are some additional details about my setup:
I'm using Jasmine for unit testing.
The grid options are passed to the AG-Grid component via the gridOptions property.
const detailCellRendererParams: Partial<IDetailCellRendererParams> = {
detailGridOptions: {
headerHeight: 0,
columnDefs: [
{
field: TableColumn.DOCUMENT_NAME,
minWidth: 400,
cellRenderer: TableCellRendererComponent,
},
{
field: TableColumn.LOCATION,
minWidth: 100,
cellRenderer: TableCellRendererComponent,
},
],
defaultColDef: {
flex: 1,
},
theme: themeQuartz.withParams({
wrapperBorderRadius: 0,
wrapperBorder: '1px solid red',
}),
domLayout: 'autoHeight',
},
getDetailRowData: (params: GetDetailRowDataParams) => {
//
},
};
this.gridOptions = {
masterDetail: true,
detailCellRendererParams,
onColumnResized: (event) => {
//
},
onSortChanged: (event) => {
//
},
};