Welcome to mirror list, hosted at ThFree Co, Russian Federation.

github.com/nextcloud/photos.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorLouis Chemineau <louis@chmn.me>2022-10-10 21:08:24 +0300
committerLouis Chemineau <louis@chmn.me>2022-10-10 21:10:03 +0300
commitb93db5fc8eebce49ad584b4ccd1123ae18865817 (patch)
treeb5a744b31ba376ed2c4fede9793eddbfdafd56e7 /cypress
parent912dc1976e281f52d49ca038cca98c78c1873f33 (diff)
Fix e2e tests
Signed-off-by: Louis Chemineau <louis@chmn.me>
Diffstat (limited to 'cypress')
-rw-r--r--cypress/e2e/shared_albums.cy.js64
-rw-r--r--cypress/support/commands.js18
2 files changed, 39 insertions, 43 deletions
diff --git a/cypress/e2e/shared_albums.cy.js b/cypress/e2e/shared_albums.cy.js
index 423bc636..a2dc692d 100644
--- a/cypress/e2e/shared_albums.cy.js
+++ b/cypress/e2e/shared_albums.cy.js
@@ -21,9 +21,9 @@
*/
import { randHash } from '../utils'
-const randUser = randHash()
-const randUser2 = randHash()
-const randUser3 = randHash()
+const alice = `alice_${randHash()}`
+const bob = `bob_${randHash()}`
+const charlie = `charlie_${randHash()}`
const resizeObserverLoopErrRe = /^[^(ResizeObserver loop limit exceeded)]/
Cypress.on('uncaught:exception', (err) => {
@@ -35,30 +35,30 @@ Cypress.on('uncaught:exception', (err) => {
describe('Manage shared albums', () => {
before(() => {
+ cy.visit('')
cy.logout()
- cy.nextcloudCreateUser(randUser, 'password')
- cy.nextcloudCreateUser(randUser2, 'password')
- cy.nextcloudCreateUser(randUser3, 'password')
+ cy.nextcloudCreateUser(alice, 'password')
+ cy.nextcloudCreateUser(bob, 'password')
+ cy.nextcloudCreateUser(charlie, 'password')
- cy.login(randUser2, 'password')
+ cy.login(bob, 'password')
cy.uploadTestMedia()
cy.logout()
})
beforeEach(() => {
cy.logout()
- cy.login(randUser2, 'password')
- cy.visit(`${Cypress.env('baseUrl')}/index.php/apps/photos/sharedalbums`)
+ cy.login(bob, 'password', '/apps/photos/sharedalbums')
})
context('Adding and removing files in a shared album', () => {
before(() => {
cy.logout()
- cy.login(randUser, 'password')
+ cy.login(alice, 'password')
cy.visit(`${Cypress.env('baseUrl')}/index.php/apps/photos/albums`)
cy.createAnAlbumFromAlbums('shared_album_test1')
- cy.addCollaborators([randUser2])
+ cy.addCollaborators([bob])
cy.logout()
})
@@ -86,13 +86,13 @@ describe('Manage shared albums', () => {
context('Download files from a shared album', () => {
before(() => {
cy.logout()
- cy.login(randUser, 'password')
+ cy.login(alice, 'password')
cy.visit(`${Cypress.env('baseUrl')}/index.php/apps/photos/albums`)
cy.createAnAlbumFromAlbums('shared_album_test2')
- cy.addCollaborators([randUser2])
+ cy.addCollaborators([bob])
cy.logout()
- cy.login(randUser2, 'password')
+ cy.login(bob, 'password')
cy.visit(`${Cypress.env('baseUrl')}/index.php/apps/photos/sharedalbums`)
cy.goToSharedAlbum('shared_album_test2')
cy.addFilesToAlbumFromAlbum('shared_album_test2', [0, 1, 2])
@@ -122,10 +122,10 @@ describe('Manage shared albums', () => {
context('Delete a received shared album', () => {
before(() => {
cy.logout()
- cy.login(randUser, 'password')
+ cy.login(alice, 'password')
cy.visit(`${Cypress.env('baseUrl')}/index.php/apps/photos/albums`)
cy.createAnAlbumFromAlbums('shared_album_test3')
- cy.addCollaborators([randUser2])
+ cy.addCollaborators([bob])
cy.logout()
})
@@ -138,52 +138,50 @@ describe('Manage shared albums', () => {
context('Remove a collaborator from an album', () => {
before(() => {
cy.logout()
- cy.login(randUser, 'password')
- cy.visit(`${Cypress.env('baseUrl')}/index.php/apps/photos/albums`)
+ cy.login(alice, 'password', '/apps/photos/albums')
cy.createAnAlbumFromAlbums('shared_album_test4')
- cy.addCollaborators([randUser2])
+ cy.addCollaborators([bob])
cy.logout()
})
it('Remove collaborator from an album', () => {
- cy.get('ul.collections__list li').should('have.length', 4)
+ cy.get('ul.collections__list li')
+ .should('contain', `shared_album_test4 (${alice})`)
cy.logout()
- cy.login(randUser, 'password')
- cy.visit(`${Cypress.env('baseUrl')}/index.php/apps/photos`)
+ cy.login(alice, 'password', '/apps/photos')
cy.goToAlbum('shared_album_test4')
- cy.removeCollaborators([randUser2])
+ cy.removeCollaborators([bob])
cy.logout()
- cy.login(randUser2, 'password')
- cy.visit(`${Cypress.env('baseUrl')}/index.php/apps/photos/sharedalbums`)
-
- cy.get('ul.collections__list li').should('have.length', 3)
+ cy.login(bob, 'password', '/apps/photos/sharedalbums')
+ cy.get('body')
+ .should('not.contain', `shared_album_test4 (${alice})`)
})
})
context('Two shared albums with the same name', () => {
before(() => {
cy.logout()
- cy.login(randUser, 'password')
+ cy.login(alice, 'password')
cy.visit(`${Cypress.env('baseUrl')}/index.php/apps/photos/albums`)
cy.createAnAlbumFromAlbums('shared_album_test5')
- cy.addCollaborators([randUser2])
+ cy.addCollaborators([bob])
cy.logout()
- cy.login(randUser3, 'password')
+ cy.login(charlie, 'password')
cy.visit(`${Cypress.env('baseUrl')}/index.php/apps/photos/albums`)
cy.createAnAlbumFromAlbums('shared_album_test5')
- cy.addCollaborators([randUser2])
+ cy.addCollaborators([bob])
cy.logout()
})
it('It should display two shared albums', () => {
cy.get('ul.collections__list li')
- .contains(`shared_album_test5 (${randUser})`)
+ .contains(`shared_album_test5 (${alice})`)
cy.get('ul.collections__list li')
- .contains(`shared_album_test5 (${randUser3})`)
+ .contains(`shared_album_test5 (${charlie})`)
})
})
}) \ No newline at end of file
diff --git a/cypress/support/commands.js b/cypress/support/commands.js
index aa4828f3..48b06eb3 100644
--- a/cypress/support/commands.js
+++ b/cypress/support/commands.js
@@ -27,7 +27,6 @@ const url = Cypress.config('baseUrl').replace(/\/index.php\/?$/g, '')
Cypress.env('baseUrl', url)
Cypress.Commands.add('login', (user, password, route = '/apps/files') => {
- cy.clearCookies()
Cypress.Cookies.defaults({
preserve: /^(oc|nc)/,
})
@@ -39,7 +38,6 @@ Cypress.Commands.add('login', (user, password, route = '/apps/files') => {
})
Cypress.Commands.add('logout', () => {
- cy.visit('')
cy.getCookies()
.then(cookies => {
if (cookies.length === 0) {
@@ -49,20 +47,19 @@ Cypress.Commands.add('logout', () => {
return cy.get("body")
.then($body => {
- const logout = $body.find('#expanddiv li[data-id="logout"] a')
- if (logout.length > 0) {
- cy.log('Loging out...')
- cy.visit(logout[0].href)
- } else {
- cy.log('Nothing')
+ const $settingsButton = $body.find('#settings #expand')
+ if ($settingsButton.length === 0) {
+ cy.log("Not logged in.")
+ return
}
+
+ $settingsButton.click()
+ cy.contains('Log out').click()
})
})
})
Cypress.Commands.add('nextcloudCreateUser', (user, password) => {
- cy.clearCookies()
- cy.visit('/')
cy.request({
method: 'POST',
url: `${Cypress.env('baseUrl')}/ocs/v1.php/cloud/users?format=json`,
@@ -78,6 +75,7 @@ Cypress.Commands.add('nextcloudCreateUser', (user, password) => {
Authorization: `Basic ${Buffer.from('admin:admin').toString('base64')}`,
},
})
+ cy.clearCookies()
})
Cypress.Commands.add('uploadTestMedia', () => {