diff --git a/projects/ngx-datatable/src/lib/components/body/summary/summary-row.component.spec.ts b/projects/ngx-datatable/src/lib/components/body/summary/summary-row.component.spec.ts index 9ee868f64..55fb6e159 100644 --- a/projects/ngx-datatable/src/lib/components/body/summary/summary-row.component.spec.ts +++ b/projects/ngx-datatable/src/lib/components/body/summary/summary-row.component.spec.ts @@ -56,6 +56,20 @@ describe('DataTableSummaryRowComponent', () => { }); }); + describe('Checkbox', () => { + it('should not render checkbox in summary row even if a column is checkboxable', async () => { + const checkboxableColumns = toInternalColumn([ + { prop: 'col1', checkboxable: true }, + { prop: 'col2' } + ]); + componentRef.setInput('columns', checkboxableColumns); + componentRef.setInput('rows', rows); + + expect(await harness.hasSummaryRow()).toBe(true); + expect(await harness.getCheckboxCount()).toBe(0); + }); + }); + describe('Computing', () => { beforeEach(() => { componentRef.setInput('columns', columns); diff --git a/projects/ngx-datatable/src/lib/components/body/summary/summary-row.component.ts b/projects/ngx-datatable/src/lib/components/body/summary/summary-row.component.ts index 750108537..bc127c24f 100644 --- a/projects/ngx-datatable/src/lib/components/body/summary/summary-row.component.ts +++ b/projects/ngx-datatable/src/lib/components/body/summary/summary-row.component.ts @@ -51,6 +51,7 @@ export class DataTableSummaryRowComponent { protected readonly _internalColumns = computed(() => { return this.columns().map(col => ({ ...col, + checkboxable: false, cellTemplate: col.summaryTemplate })); }); diff --git a/projects/ngx-datatable/src/lib/components/body/summary/testing/summary.harness.ts b/projects/ngx-datatable/src/lib/components/body/summary/testing/summary.harness.ts index 7abc21cd4..fe85307da 100644 --- a/projects/ngx-datatable/src/lib/components/body/summary/testing/summary.harness.ts +++ b/projects/ngx-datatable/src/lib/components/body/summary/testing/summary.harness.ts @@ -5,6 +5,7 @@ export class SummaryHarness extends ComponentHarness { private summaryRowCells = this.locatorForAll('datatable-body-cell'); private summaryRow = this.locatorForOptional('datatable-body-row'); + private checkboxes = this.locatorForAll('input[type="checkbox"]'); async getSummaryRowCellText(index: number): Promise { const cells = await this.summaryRowCells(); @@ -15,4 +16,9 @@ export class SummaryHarness extends ComponentHarness { const row = await this.summaryRow(); return !!row; } + + async getCheckboxCount(): Promise { + const checkboxes = await this.checkboxes(); + return checkboxes.length; + } }