Skip to content

Commit eae88cd

Browse files
authored
Merge pull request #1998 from benjaminfrueh/test/remove-filtered-rows-checks
test: added a test for remove filtered rows feature
2 parents 0c481f3 + aa626a6 commit eae88cd

File tree

1 file changed

+85
-0
lines changed

1 file changed

+85
-0
lines changed

cypress/e2e/view-filtering-selection.cy.js

Lines changed: 85 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -373,4 +373,89 @@ describe('Filtering in a view by selection columns', () => {
373373
cy.get('.custom-table table tr td div').contains(item).should('not.exist')
374374
})
375375
})
376+
377+
it('Filter view remove row when it no longer matches filter', () => {
378+
cy.loadTable('View filtering test table')
379+
380+
// # create view with filter
381+
// ## create view and set title
382+
const title = 'Filter for check enabled'
383+
cy.get('[data-cy="customTableAction"] button').click()
384+
cy.get('.v-popper__popper li button span').contains('Create view').click({ force: true })
385+
cy.get('.modal-container #settings-section_title input').type(title)
386+
387+
// ## add filter
388+
cy.get('button').contains('Add new filter group').click()
389+
cy.get('.modal-container .filter-group .v-select.select').eq(0).click()
390+
cy.get('ul.vs__dropdown-menu li span[title="check"]').click()
391+
cy.get('.modal-container .filter-group .v-select.select').eq(1).click()
392+
cy.get('ul.vs__dropdown-menu li span[title="Is equal"]').click()
393+
cy.get('.modal-container .filter-group .v-select.select').eq(2).click()
394+
cy.get('ul.vs__dropdown-menu li span[title="Checked"]').click()
395+
396+
// ## save view
397+
cy.intercept({ method: 'POST', url: '**/apps/tables/view' }).as('createView')
398+
cy.intercept({ method: 'PUT', url: '**/apps/tables/view/*' }).as('updateView')
399+
cy.contains('button', 'Create View').click()
400+
cy.wait('@createView')
401+
cy.wait('@updateView')
402+
cy.contains('.app-navigation-entry-link span', title).should('exist')
403+
404+
// # insert a checked row
405+
cy.get('button').contains('Create row').click()
406+
cy.fillInValueTextLine('title', 'checked row')
407+
cy.fillInValueSelectionCheck('check')
408+
cy.intercept({ method: 'GET', url: '**/apps/tables/view/*/row/*/present' }).as('isRowInViewPresent')
409+
cy.get('button').contains('Save').click()
410+
411+
// ## check server response for /view/{viewId}/row/{id}/present
412+
cy.wait('@isRowInViewPresent').then(({ response: { body: { present } } }) => {
413+
expect(present).to.be.true
414+
})
415+
416+
// ## check if row is visible
417+
cy.contains('[data-cy="ncTable"] [data-cy="customTableRow"]', 'checked row').should('be.visible')
418+
419+
// # insert a unchecked row
420+
cy.get('button').contains('Create row').click()
421+
cy.fillInValueTextLine('title', 'unchecked row')
422+
cy.intercept({ method: 'GET', url: '**/apps/tables/view/*/row/*/present' }).as('isRowInViewPresent')
423+
cy.get('button').contains('Save').click()
424+
425+
// ## check server response for /view/{viewId}/row/{id}/present
426+
cy.wait('@isRowInViewPresent').then(({ response: { body: { present } } }) => {
427+
expect(present).to.be.false
428+
})
429+
430+
// ## check if row does not exist
431+
cy.contains('[data-cy="ncTable"] [data-cy="customTableRow"]', 'unchecked row').should('not.exist')
432+
433+
// # edit checked row
434+
// ## uncheck
435+
cy.contains('[data-cy="ncTable"] [data-cy="customTableRow"]', 'checked row').closest('[data-cy="customTableRow"]').find('[data-cy="editRowBtn"]').click()
436+
cy.get('[data-cy="editRowModal"] .checkbox-radio-switch').click()
437+
cy.intercept({ method: 'GET', url: '**/apps/tables/view/*/row/*/present' }).as('isRowInViewPresent')
438+
cy.get('[data-cy="editRowSaveButton"]').click()
439+
440+
// ## check server response for /view/{viewId}/row/{id}/present
441+
cy.wait('@isRowInViewPresent').then(({ response: { body: { present } } }) => {
442+
expect(present).to.be.false
443+
})
444+
445+
// ## check if row does not exist
446+
cy.contains('[data-cy="ncTable"] [data-cy="customTableRow"]', 'checked row').should('not.exist')
447+
448+
// # inline edit row
449+
// ## uncheck row
450+
cy.intercept({ method: 'GET', url: '**/apps/tables/view/*/row/*/present' }).as('isRowInViewPresent')
451+
cy.contains('[data-cy="ncTable"] [data-cy="customTableRow"]', 'first row').closest('[data-cy="customTableRow"]').find('.inline-editing-container .checkbox-radio-switch').click()
452+
453+
// ## check server response for /view/{viewId}/row/{id}/present
454+
cy.wait('@isRowInViewPresent').then(({ response: { body: { present } } }) => {
455+
expect(present).to.be.false
456+
})
457+
458+
// ## check if row does not exist
459+
cy.contains('[data-cy="ncTable"] [data-cy="customTableRow"]', 'first row').should('not.exist')
460+
})
376461
})

0 commit comments

Comments
 (0)