Skip to content

Commit

Permalink
fix cypress
Browse files Browse the repository at this point in the history
Signed-off-by: Julius Härtl <jus@bitgrid.net>
  • Loading branch information
juliushaertl committed Jun 27, 2024
1 parent 7a5b780 commit 6729bf7
Show file tree
Hide file tree
Showing 8 changed files with 26 additions and 32 deletions.
6 changes: 2 additions & 4 deletions cypress/e2e/column-number-progress.cy.js
Original file line number Diff line number Diff line change
Expand Up @@ -8,6 +8,8 @@ describe('Test column progress', () => {
cy.createRandomUser().then(user => {
localUser = user
cy.login(localUser)
cy.visit('apps/tables')
cy.createTable(tableTitle)
})
})

Expand All @@ -16,10 +18,6 @@ describe('Test column progress', () => {
cy.visit('apps/tables')
})

it('Table and column setup', () => {
cy.createTable(tableTitle)
})

it('Insert and test rows - default values', () => {
cy.loadTable(tableTitle)
cy.createNumberProgressColumn(columnTitle, 23, true)
Expand Down
10 changes: 4 additions & 6 deletions cypress/e2e/column-selection-check.cy.js
Original file line number Diff line number Diff line change
Expand Up @@ -8,6 +8,8 @@ describe('Test column ' + columnTitle, () => {
cy.createRandomUser().then(user => {
localUser = user
cy.login(localUser)
cy.visit('apps/tables')
cy.createTable(tableTitle)
})
})

Expand All @@ -16,10 +18,6 @@ describe('Test column ' + columnTitle, () => {
cy.visit('apps/tables')
})

it('Table and column setup', () => {
cy.createTable(tableTitle)
})

it('Insert and test rows - default value unchecked', () => {
cy.loadTable(tableTitle)
cy.createSelectionCheckColumn(columnTitle, null, true)
Expand All @@ -31,7 +29,7 @@ describe('Test column ' + columnTitle, () => {

// insert row
cy.get('button').contains('Create row').click()
cy.get('[data-cy="selectionCheckFormSwitch"]').first().click()
cy.get('[data-cy="selectionCheckFormSwitch"]').first().click({ force: true })
cy.get('button').contains('Save').click()
cy.get('.custom-table table tr td div .material-design-icon.check-circle-outline-icon').should('be.visible')

Expand All @@ -49,7 +47,7 @@ describe('Test column ' + columnTitle, () => {

// insert row
cy.get('button').contains('Create row').click()
cy.get('[data-cy="selectionCheckFormSwitch"]').first().click()
cy.get('[data-cy="selectionCheckFormSwitch"]').first().click({ force: true })
cy.get('button').contains('Save').click()
cy.get('.custom-table table tr td div .material-design-icon.radiobox-blank-icon').should('be.visible')

Expand Down
27 changes: 14 additions & 13 deletions cypress/e2e/tables-favorite.cy.js
Original file line number Diff line number Diff line change
Expand Up @@ -15,7 +15,7 @@ describe('Favorite tables/views', () => {
})

it('can favorite tables', () => {
cy.get('[data-cy="navigationTableItem"]').first().as('tutorialTable')
cy.get('[data-cy="navigationTableItem"] .app-navigation-entry').first().as('tutorialTable')

cy.get('@tutorialTable').should('contain.text', 'Tutorial')
cy.get('@tutorialTable').find('[aria-haspopup="menu"]').click({ force: true })
Expand All @@ -24,11 +24,11 @@ describe('Favorite tables/views', () => {
cy.contains('Add to favorites').click({ force: true })
cy.wait('@favoriteTableReq').its('response.statusCode').should('equal', 200)

cy.get('@tutorialTable').parent().should('contain.text', 'Favorites')
cy.get('@tutorialTable').parent().prev().should('contain.text', 'Favorites')
})

it('can remove favorite table', () => {
cy.get('[data-cy="navigationTableItem"]').first().as('tutorialTable')
cy.get('[data-cy="navigationTableItem"] .app-navigation-entry').first().as('tutorialTable')

cy.get('@tutorialTable').should('contain.text', 'Tutorial')
cy.get('@tutorialTable').find('[aria-haspopup="menu"]').click({ force: true })
Expand All @@ -37,54 +37,55 @@ describe('Favorite tables/views', () => {
cy.contains('Remove from favorites').click({ force: true })
cy.wait('@unfavoriteTableReq').its('response.statusCode').should('equal', 200)

cy.get('@tutorialTable').parent().should('contain.text', 'Tables')
cy.get('@tutorialTable').parent().prev().should('contain.text', 'Tables')
})

it('can favorite views', () => {
cy.loadTable('Tutorial')
cy.createView('test')

cy.get('[data-cy="navigationViewItem"]').first().as('testView')
cy.contains('[data-cy="navigationViewItem"]', 'test').first().as('testView')

cy.get('@testView').parent().parent().should('contain.text', 'Tutorial')
cy.get('@testView').closest('[data-cy="navigationTableItem"]').should('contain.text', 'Tutorial')
cy.get('@testView').find('[aria-haspopup="menu"]').click({ force: true })

cy.intercept({ method: 'POST', url: '**/ocs/v2.php/apps/tables/api/2/favorites/*/*' }).as('favoriteViewReq')
cy.contains('Add to favorites').click({ force: true })
cy.wait('@favoriteViewReq').its('response.statusCode').should('equal', 200)

cy.get('@testView').parent().should('contain.text', 'Favorites')
cy.get('@testView').prev().should('contain.text', 'Favorites')
})

it('can unfavorite views', () => {
cy.get('[data-cy="navigationViewItem"]').first().as('testView')

cy.get('@testView').parent().should('contain.text', 'Favorites')
cy.get('@testView').prev().should('contain.text', 'Favorites')
cy.get('@testView').find('[aria-haspopup="menu"]').click({ force: true })

cy.intercept({ method: 'DELETE', url: '**/ocs/v2.php/apps/tables/api/2/favorites/*/*' }).as('unfavoriteViewReq')
cy.contains('Remove from favorites').click({ force: true })
cy.wait('@unfavoriteViewReq').its('response.statusCode').should('equal', 200)

cy.get('@testView').parent().parent().should('contain.text', 'Tutorial')
cy.get('@testView').closest('[data-cy="navigationTableItem"]').should('contain.text', 'Tutorial')
})

it('can (un)favorite views with favorited parent tables', () => {
cy.get('[data-cy="navigationTableItem"]').first().as('tutorialTable')
cy.get('@tutorialTable').find('.app-navigation-entry-link').first().click({ force: true })
cy.get('[data-cy="navigationViewItem"]').first().as('testView')
cy.get('[data-cy="navigationTableItem"]').first().as('tutorialTable')

cy.get('@testView').parent().parent().should('contain.text', 'Tutorial')
cy.get('@testView').closest('[data-cy="navigationTableItem"]').should('contain.text', 'Tutorial')
cy.get('@testView').find('[aria-haspopup="menu"]').click({ force: true })
cy.contains('Add to favorites').click({ force: true })

cy.get('@testView').parent().should('contain.text', 'Favorites')
cy.get('@testView').prev().should('contain.text', 'Favorites')

cy.get('@tutorialTable').should('contain.text', 'Tutorial')
cy.get('@tutorialTable').find('[aria-haspopup="menu"]').first().click({ force: true })
cy.contains('Add to favorites').click({ force: true })

cy.get('@tutorialTable').parent().should('contain.text', 'Tables')
cy.get('@testView').parent().should('not.contain.text', 'Favorites')
cy.get('@testView').closest('[data-cy="navigationTableItem"]').should('contain.text', 'Tutorial')
})

})
3 changes: 1 addition & 2 deletions cypress/e2e/tables-import.cy.js
Original file line number Diff line number Diff line change
Expand Up @@ -87,7 +87,7 @@ if (!['stable26', 'stable27'].includes(Cypress.env('ncVersion'))) {
cy.get('[data-cy-files-list-row-name="test-import.csv"] [data-cy-files-list-row-actions] .action-item button').click()
cy.get('[data-cy-files-list-row-action="import-to-tables"]').click()

cy.get('[data-cy="importAsNewTableSwitch"]').click()
cy.get('[data-cy="importAsNewTableSwitch"]').click({ force: true })
cy.get('[data-cy="selectExistingTableDropdown"]').type('tutorial')
cy.get('.name-parts').click()

Expand All @@ -102,6 +102,5 @@ if (!['stable26', 'stable27'].includes(Cypress.env('ncVersion'))) {
cy.get('[data-cy="importResultParsingErrors"]').should('contain.text', '0')
cy.get('[data-cy="importResultRowErrors"]').should('contain.text', '0')
})

})
}
2 changes: 1 addition & 1 deletion cypress/e2e/tables-table.cy.js
Original file line number Diff line number Diff line change
Expand Up @@ -44,7 +44,7 @@ describe('Manage a table', () => {

cy.get('.modal__content button').contains('Select from Files').click()
cy.get('.file-picker__files').contains('test-import').click()
cy.get('.file-picker button span').contains('Choose test-import.csv').click()
cy.get('.file-picker button span').contains('Import').click()
cy.get('.modal__content button').contains('Import').click()
cy.get('[data-cy="importResultColumnsFound"]').should('contain.text', '4')
cy.get('[data-cy="importResultColumnsMatch"]').should('contain.text', '0')
Expand Down
4 changes: 2 additions & 2 deletions cypress/support/commands.js
Original file line number Diff line number Diff line change
Expand Up @@ -192,7 +192,7 @@ Cypress.Commands.add('createDatetimeDateColumn', (title, setNow, firstColumn) =>
cy.get('.modal-container').get('input[placeholder*="Enter a column title"]').clear().type(title)
cy.get('.columnTypeSelection .vs__open-indicator').click({ force: true })
cy.get('.multiSelectOptionLabel').contains('Date and time').click({ force: true })
cy.get('[data-cy="createColumnDateSwitch"]').contains('Date').click({ force: true })
cy.get('[data-cy="createColumnDateSwitch"]').parent().contains('Date').click({ force: true })

if (setNow) {
cy.get('[data-cy="datetimeDateFormTodaySwitch"]').click({ force: true })
Expand All @@ -209,7 +209,7 @@ Cypress.Commands.add('createDatetimeTimeColumn', (title, setNow, firstColumn) =>
cy.get('.modal-container').get('input[placeholder*="Enter a column title"]').clear().type(title)
cy.get('.columnTypeSelection .vs__open-indicator').click({ force: true })
cy.get('.multiSelectOptionLabel').contains('Date and time').click({ force: true })
cy.get('[data-cy="createColumnTimeSwitch"]').contains('Time').click({ force: true })
cy.get('[data-cy="createColumnTimeSwitch"]').parent().contains('Time').click({ force: true })

if (setNow) {
cy.get('[data-cy="datetimeTimeFormNowSwitch"]').click({ force: true })
Expand Down
3 changes: 0 additions & 3 deletions src/file-actions.js
Original file line number Diff line number Diff line change
Expand Up @@ -3,9 +3,6 @@ import { spawnDialog } from '@nextcloud/dialogs'
// eslint-disable-next-line import/no-unresolved
import tablesIcon from '@mdi/svg/svg/table-large.svg?raw'

__webpack_nonce__ = btoa(OC.requestToken) // eslint-disable-line
__webpack_public_path__ = OC.linkTo('tables', 'js/') // eslint-disable-line

const validMimeTypes = [
'text/csv',
'text/html',
Expand Down
3 changes: 2 additions & 1 deletion vite.config.ts
Original file line number Diff line number Diff line change
Expand Up @@ -5,8 +5,9 @@ import { createAppConfig } from '@nextcloud/vite-config'
import path from 'path'

const config = createAppConfig({
main: path.join(__dirname, 'src', 'main.js'),
reference: path.join(__dirname, 'src', 'reference.js'),
files: path.join(__dirname, 'src', 'file-actions.js'),
main: path.join(__dirname, 'src', 'main.js'),
}, {
inlineCSS: true,
config: {
Expand Down

0 comments on commit 6729bf7

Please sign in to comment.