From f71e839ac9835e09b894724383b29448898f02ab Mon Sep 17 00:00:00 2001 From: KumJungMin Date: Wed, 9 Oct 2024 14:23:20 +0900 Subject: [PATCH] test: add test to ensure row is not selected when inner button is clicked --- .../primevue/src/datatable/DataTable.spec.js | 42 +++++++++++++++++++ 1 file changed, 42 insertions(+) diff --git a/packages/primevue/src/datatable/DataTable.spec.js b/packages/primevue/src/datatable/DataTable.spec.js index 4e6f15c04..8c0636419 100644 --- a/packages/primevue/src/datatable/DataTable.spec.js +++ b/packages/primevue/src/datatable/DataTable.spec.js @@ -582,6 +582,48 @@ describe('DataTable.vue', () => { expect(wrapper.emitted()['row-select'][1][0].index).toBe(1); }); + it('should not select row when inner button is clicked', async () => { + wrapper = mount(DataTable, { + global: { + plugins: [PrimeVue], + components: { + Column, + Button + } + }, + props: { + value: smallData, + expandedRows: [], + paginatorTemplate: 'CurrentPageReport FirstPageLink PrevPageLink PageLinks NextPageLink LastPageLink RowsPerPageDropdown', + rowsPerPageOptions: [5, 6, 7], + currentPageReportTemplate: 'Showing {first} to {last} of {totalRecords}' + }, + slots: { + default: ` + + + + + + ` + }, + methods: { + buttonClicked() { + console.log('button clicked'); + } + } + }); + + const button = wrapper.find('button'); + expect(button.exists()).toBe(true); + + await button.trigger('click'); + + expect(wrapper.emitted()['row-click']).toBeUndefined(); + }); + it('should select all rows', async () => { wrapper = mount(DataTable, { global: {