Skip to content

Commit a7d3486

Browse files
committed
test: Adjust Cypress tests
Signed-off-by: Ferdinand Thiessen <[email protected]>
1 parent 75fe5e3 commit a7d3486

File tree

4 files changed

+45
-32
lines changed

4 files changed

+45
-32
lines changed

cypress.config.ts

+1-2
Original file line numberDiff line numberDiff line change
@@ -17,9 +17,8 @@ export default defineConfig({
1717
viewportWidth: 1280,
1818
viewportHeight: 720,
1919

20-
// Tries again 2 more times on failure
2120
retries: {
22-
runMode: 2,
21+
runMode: 5,
2322
// do not retry in `cypress open`
2423
openMode: 0,
2524
},

cypress/e2e/filesUtils.ts

+9-6
Original file line numberDiff line numberDiff line change
@@ -4,8 +4,7 @@
44
*/
55

66
export function renameFile(fileName: string, newName: string) {
7-
toggleMenuAction(fileName)
8-
cy.get(`[data-cy-files-list] [data-cy-files-list-row-action="rename"]`).click()
7+
toggleMenuAction(fileName, 'rename')
98
cy.get(`[data-cy-files-list] [data-cy-files-list-row-name="${fileName}"] .files-list__row-rename input`).clear()
109
cy.get(`[data-cy-files-list] [data-cy-files-list-row-name="${fileName}"] .files-list__row-rename input`).type(`${newName}.txt`)
1110
cy.get(`[data-cy-files-list] [data-cy-files-list-row-name="${fileName}"] .files-list__row-rename`).submit()
@@ -28,8 +27,7 @@ export function createFolder (dirName: string) {
2827
}
2928

3029
export function moveFile (fileName: string, dirName: string) {
31-
toggleMenuAction(fileName)
32-
cy.get(`[data-cy-files-list] [data-cy-files-list-row-action="move-copy"]`).click()
30+
toggleMenuAction(fileName, 'move-copy')
3331
cy.get('.file-picker').within(() => {
3432
cy.get(`[data-filename="${dirName}"]`).click()
3533
cy.contains(`Move to ${dirName}`).click()
@@ -41,14 +39,19 @@ export function getFileListRow(filename: string) {
4139
return cy.get(`[data-cy-files-list] [data-cy-files-list-row-name="${CSS.escape(filename)}"]`)
4240
}
4341

44-
export function toggleMenuAction(filename: string) {
42+
export function toggleMenuAction(filename: string, action: 'details'|'favorite'|'move-copy'|'rename') {
4543
getFileListRow(filename)
4644
.find('[data-cy-files-list-row-actions]')
4745
.should('be.visible')
46+
47+
getFileListRow(filename)
48+
.find('[data-cy-files-list-row-actions]')
4849
.findByRole('button', { name: 'Actions' })
4950
.should('be.visible')
5051
.click()
5152

52-
cy.get('[data-cy-files-list-row-action]')
53+
cy.get(`[data-cy-files-list-row-action="${CSS.escape(action)}"]`)
5354
.should('be.visible')
55+
.findByRole('menuitem')
56+
.click()
5457
}

cypress/e2e/sidebar.cy.ts

+9-5
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@
44
*/
55

66
import { createFolder, getFileListRow, goToDir, moveFile, renameFile } from './filesUtils'
7-
import { addComment, addTag, addToFavorites, createPublicShare, removeFromFavorites, showActivityTab } from './sidebarUtils'
7+
import { addComment, addTag, createPublicShare, toggleFavorite, showActivityTab, closeSidebar } from './sidebarUtils'
88

99
describe('Check activity listing in the sidebar', { testIsolation: true }, () => {
1010
beforeEach(function() {
@@ -24,19 +24,22 @@ describe('Check activity listing in the sidebar', { testIsolation: true }, () =>
2424
})
2525

2626
it('Has favorite activity', () => {
27-
addToFavorites('welcome.txt')
27+
toggleFavorite('welcome.txt')
2828
showActivityTab('welcome.txt')
2929
cy.get('.activity-entry').first().should('contains.text', 'Added to favorites')
3030

31-
removeFromFavorites('welcome.txt')
31+
cy.visit('/apps/files')
32+
getFileListRow('welcome.txt').should('be.visible')
33+
34+
toggleFavorite('welcome.txt')
3235
showActivityTab('welcome.txt')
3336
cy.get('.activity-entry').first().should('contains.text', 'Removed from favorites')
3437
})
3538

3639
it('Has share activity', () => {
3740
createPublicShare('welcome.txt')
38-
cy.get('body').contains('Link share created').should('exist')
39-
cy.get('.toast-close').click({ multiple: true })
41+
cy.visit('/apps/files')
42+
4043
showActivityTab('welcome.txt')
4144
cy.get('.activity-entry').first().should('contains.text', 'Shared as public link')
4245
})
@@ -61,6 +64,7 @@ describe('Check activity listing in the sidebar', { testIsolation: true }, () =>
6164

6265
it('Has tag activity', () => {
6366
addTag('welcome.txt', 'my_tag')
67+
cy.visit('/apps/files')
6468

6569
showActivityTab('welcome.txt')
6670
cy.get('.activity-entry').first().should('contains.text', 'Added system tag')

cypress/e2e/sidebarUtils.ts

+26-19
Original file line numberDiff line numberDiff line change
@@ -7,15 +7,11 @@ import { toggleMenuAction } from './filesUtils'
77

88
function showSidebarForFile(fileName: string) {
99
closeSidebar()
10-
toggleMenuAction(fileName)
11-
cy.get('[data-cy-files-list-row-action="details"]')
12-
.should('be.visible')
13-
.findByRole('menuitem')
14-
.click()
10+
toggleMenuAction(fileName, 'details')
1511
cy.get('#app-sidebar-vue').should('be.visible')
1612
}
1713

18-
function closeSidebar() {
14+
export function closeSidebar() {
1915
cy.get('body')
2016
.then(($body) => {
2117
if ($body.find('.app-sidebar__close').length !== 0) {
@@ -27,18 +23,21 @@ function closeSidebar() {
2723

2824
export function showActivityTab(fileName: string) {
2925
showSidebarForFile(fileName)
30-
cy.get('#app-sidebar-vue').contains('Activity').click()
31-
}
26+
cy.get('#app-sidebar-vue')
27+
.findByRole('tab', { name: 'Activity' })
28+
.click()
3229

33-
export function addToFavorites(fileName: string) {
34-
toggleMenuAction(fileName)
35-
cy.get('[data-cy-files-list-row-action="favorite"]').should('contain', 'Add to favorites').click()
36-
cy.get('.toast-close').click()
30+
cy.get('#app-sidebar-vue')
31+
.findByRole('tabpanel', { name: 'Activity' })
32+
.should('be.visible')
3733
}
3834

39-
export function removeFromFavorites(fileName: string) {
40-
toggleMenuAction(fileName)
41-
cy.get('[data-cy-files-list-row-action="favorite"]').should('contain', 'Remove from favorites').click()
35+
export function toggleFavorite(fileName: string) {
36+
cy.intercept('POST', '**/index.php/apps/files/api/v1/files/*').as('setTags')
37+
38+
toggleMenuAction(fileName, 'favorite')
39+
cy.wait('@setTags')
40+
4241
cy.get('.toast-close').click()
4342
}
4443

@@ -49,11 +48,19 @@ export function removeFromFavorites(fileName: string) {
4948
*/
5049
export function createPublicShare(fileName: string) {
5150
showSidebarForFile(fileName)
52-
cy.get('#app-sidebar-vue').contains('Sharing').click()
51+
cy.get('#app-sidebar-vue')
52+
.findByRole('tab', { name: 'Sharing' })
53+
.click()
54+
55+
cy.intercept('POST', '**/ocs/v2.php/apps/files_sharing/api/v1/shares').as('createShare')
5356

54-
cy.get('#app-sidebar-vue #tab-sharing').should('be.visible')
55-
cy.get('#app-sidebar-vue button.new-share-link').click({ force: true })
56-
cy.get('#app-sidebar-vue .sharing-entry__copy').should('be.visible')
57+
cy.get('#app-sidebar-vue')
58+
.findByRole('tabpanel', { name: 'Sharing' })
59+
.should('be.visible')
60+
.findByRole('button', { name: "Create a new share link" })
61+
.click({ force: true })
62+
63+
cy.wait('@createShare')
5764
closeSidebar()
5865
}
5966

0 commit comments

Comments
 (0)