Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
10 changes: 4 additions & 6 deletions cypress/e2e/boardFeatures.js
Original file line number Diff line number Diff line change
Expand Up @@ -196,9 +196,8 @@ describe('Board title editing', function() {

cy.get('button:contains("Edit board")').click()

cy.get('.board-edit form input[type=text]')
.clear()
.type(updatedTitle)
cy.get('.board-edit form input[type=text]').clear()
cy.get('.board-edit form input[type=text]').type(updatedTitle)

cy.get('.board-edit form button[title="Save board"]').click()

Expand Down Expand Up @@ -233,9 +232,8 @@ describe('Board title editing', function() {

cy.get('button:contains("Edit board")').click()

cy.get('.board-edit form input[type=text]')
.clear()
.type(boardBUpdatedTitle)
cy.get('.board-edit form input[type=text]').clear()
cy.get('.board-edit form input[type=text]').type(boardBUpdatedTitle)

cy.get('.board-edit form button[title="Save board"]').click()

Expand Down
7 changes: 3 additions & 4 deletions cypress/e2e/cardActions.js
Original file line number Diff line number Diff line change
Expand Up @@ -49,9 +49,7 @@ describe('Card actions', function() {
const myAction = {
label: 'Test action',
icon: 'icon-user',
callback(card) {
console.log('Called callback', card)
},
callback() {},
}
cy.spy(myAction, 'callback').as('myAction.callback')

Expand Down Expand Up @@ -95,7 +93,8 @@ describe('Card actions', function() {
cy.get('.v-popper__popper button:contains("Move/copy card")').click()
cy.get('[data-cy="select-board"] .vs__dropdown-toggle').should('be.visible').click()
cy.get('.vs__dropdown-menu span[title="MyTestBoard"]').should('be.visible').click()
cy.wait(3000) // wait for select component to load stacks
// eslint-disable-next-line cypress/no-unnecessary-waiting -- wait for select component to load stacks
cy.wait(3000)
cy.get('[data-cy="select-stack"] .vs__dropdown-toggle').should('be.visible').click()
cy.get('.vs__dropdown-menu span[title="TestList"]').should('be.visible').click()
cy.get('.modal-container button:contains("Copy card")').click()
Expand Down
27 changes: 14 additions & 13 deletions cypress/e2e/cardFeatures.js
Original file line number Diff line number Diff line change
Expand Up @@ -149,10 +149,11 @@ describe('Card', function() {
cy.get('[data-cy="action:add-card"]')
.first().click()

// Somehow this avoids the electron crash
// eslint-disable-next-line cypress/no-unnecessary-waiting -- somehow this avoids the electron crash
cy.wait(2000)

cy.get('.modal-mask.card-selector .card-title').should('be.visible').click().type(newCardTitle)
cy.get('.modal-mask.card-selector .card-title').should('be.visible').click()
cy.get('.modal-mask.card-selector .card-title').type(newCardTitle)
cy.get('.modal-mask.card-selector .multiselect-board').should('be.visible').click()
cy.get('.vs__dropdown-menu [data-cy="board-select-title"]:contains("' + boardData.title + '")').should('be.visible').click()

Expand Down Expand Up @@ -274,8 +275,8 @@ describe('Card', function() {
cy.get('.modal__card').should('be.visible')
cy.get('.app-sidebar-header__mainname').contains('Hello world')
cy.get('.modal__card .ProseMirror h1').contains('Hello world').should('be.visible')
cy.get('.modal__card .ProseMirror h1').click()
cy.get('.modal__card .ProseMirror h1')
.click()
.type(' writing more text{enter}- List item{enter}with entries{enter}{enter}Paragraph')
cy.wait('@save', { timeout: 7000 })

Expand All @@ -284,7 +285,8 @@ describe('Card', function() {

// Scroll to the bottom to ensure all content is loaded and visible
cy.get('.modal__card .app-sidebar-tabs, .modal__card .app-sidebar__tab--active').first().scrollTo('bottom', { ensureScrollable: false })
cy.contains('.modal__card .ProseMirror p', 'Paragraph').scrollIntoView().should('be.visible')
cy.contains('.modal__card .ProseMirror p', 'Paragraph').scrollIntoView()
cy.contains('.modal__card .ProseMirror p', 'Paragraph').should('be.visible')

cy.get('.modal__card .ProseMirror h1').contains('Hello world writing more text').should('be.visible')
cy.get('.modal__card .ProseMirror li').eq(0).contains('List item').should('be.visible')
Expand All @@ -297,14 +299,14 @@ describe('Card', function() {
cy.intercept({ method: 'GET', url: '**/apps/deck/boards/*' }).as('getBoard')
cy.get('.card:contains("Hello world")').should('be.visible').click()
cy.get('.modal__card').should('be.visible')
cy.get('.modal__card .ProseMirror h1')
.click()
.type('{enter}/create')
cy.get('.modal__card .ProseMirror h1').click()
cy.get('.modal__card .ProseMirror h1').type('{enter}/create')
cy.get('.suggestion-list__item.is-selected').should('be.visible').contains('Create a new deck card')
cy.get('.suggestion-list__item.is-selected .link-picker__item').click()
cy.get('.reference-picker-modal--content .reference-picker').should('be.visible')
cy.get('.reference-picker-modal--content .reference-picker').contains('Create a new card')
cy.get('.reference-picker-modal--content .reference-picker .card-title').should('be.visible').click().type(newCardTitle)
cy.get('.reference-picker-modal--content .reference-picker .card-title').should('be.visible').click()
cy.get('.reference-picker-modal--content .reference-picker .card-title').type(newCardTitle)
cy.get('.reference-picker-modal--content .reference-picker .multiselect-board').should('be.visible').contains(boardData.title)
cy.get('.reference-picker-modal--content .reference-picker .multiselect-list').should('be.visible').contains(boardData.stacks[0].title)
cy.get('.reference-picker-modal--content .reference-picker button.button-vue--primary').should('be.visible').click()
Expand All @@ -314,9 +316,8 @@ describe('Card', function() {
cy.visit(`/apps/deck/board/${boardId}`)
cy.reload()
cy.get('.board .stack').eq(0).within(() => {
cy.get(`.card:contains("${newCardTitle}")`)
.scrollIntoView({ block: 'center' })
.should('be.visible')
cy.get(`.card:contains("${newCardTitle}")`).scrollIntoView({ block: 'center' })
cy.get(`.card:contains("${newCardTitle}")`).should('be.visible')
})
})
})
Expand Down Expand Up @@ -388,7 +389,7 @@ describe('Card', function() {
.first().click()
cy.get(`.card:contains("${newCardTitle}")`).should('be.visible').click()

// Add delay to ensure the events are bound
// eslint-disable-next-line cypress/no-unnecessary-waiting -- ensure the events are bound
cy.wait(1000)

cy.get('#app-sidebar-vue [data-test="tag-selector"] .vs__dropdown-toggle').should('be.visible').click()
Expand All @@ -400,8 +401,8 @@ describe('Card', function() {
cy.get('.vs__selected .tag:contains("Action needed")')
.parent().find('button').click()

cy.get(`.card:contains("${newCardTitle}")`).scrollIntoView({ block: 'center' })
cy.get(`.card:contains("${newCardTitle}")`)
.scrollIntoView({ block: 'center' })
.find('.labels li:contains("Later")')
.should('be.visible')
cy.get(`.card:contains("${newCardTitle}")`).find('.labels li:contains("Action needed")')
Expand Down
5 changes: 3 additions & 2 deletions cypress/support/commands.js
Original file line number Diff line number Diff line change
Expand Up @@ -102,10 +102,11 @@ Cypress.Commands.add('shareBoardWithUi', (query, userId = query) => {
cy.get('[aria-label="Open details"]').click()
cy.get('.app-sidebar').should('be.visible')

// Add delay to ensure the events are bound
// eslint-disable-next-line cypress/no-unnecessary-waiting -- ensure the events are bound
cy.wait(1000)

cy.get('.select input').click().type(`${query}`)
cy.get('.select input').click()
cy.get('.select input').type(`${query}`)
cy.wait('@fetchRecipients', { timeout: 7000 })

cy.get('.vs__dropdown-menu .option').first().contains(query)
Expand Down
2 changes: 1 addition & 1 deletion eslint.config.mjs
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@
* SPDX-License-Identifier: AGPL-3.0-or-later
*/
import { recommended } from '@nextcloud/eslint-config'
import pluginCypress from 'eslint-plugin-cypress/flat'
import pluginCypress from 'eslint-plugin-cypress'

export default [
...recommended,
Expand Down
43 changes: 11 additions & 32 deletions package-lock.json

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

2 changes: 1 addition & 1 deletion package.json
Original file line number Diff line number Diff line change
Expand Up @@ -90,7 +90,7 @@
"cypress": "^16.1.1",
"cypress-split": "^1.25.0",
"eslint": "^10.12.0",
"eslint-plugin-cypress": "^3.6.0",
"eslint-plugin-cypress": "^7.0.2",
"jest": "^29.7.0",
"jest-serializer-vue": "^3.1.0",
"stylelint-webpack-plugin": "^5.1.0"
Expand Down
Loading