Browse Source

fix(tests): Make the cypress apps management test more reliable

Signed-off-by: Joas Schilling <coding@schilljs.com>
Joas Schilling 4 months ago
parent
commit
2be083169e
1 changed files with 20 additions and 2 deletions
  1. 20 2
      cypress/e2e/settings/apps.cy.ts

+ 20 - 2
cypress/e2e/settings/apps.cy.ts

@@ -40,7 +40,8 @@ describe('Settings: App management', { testIsolation: true }, () => {
 
 	it('Can enable an installed app', () => {
 		cy.get('#apps-list').should('be.visible')
-			.contains('tr', 'QA testing')
+			// Wait for the app list to load
+			.contains('tr', 'QA testing', { timeout: 10000 })
 			.should('exist')
 			.find('.actions')
 			// I enable the "QA testing" app
@@ -49,6 +50,14 @@ describe('Settings: App management', { testIsolation: true }, () => {
 
 		handlePasswordConfirmation(admin.password)
 
+		// Wait until we see the disable button for the app
+		cy.get('#apps-list').should('be.visible')
+			.contains('tr', 'QA testing')
+			.should('exist')
+			.find('.actions')
+			// I see the disable button for the app
+			.contains('button', 'Disable', { timeout: 10000 })
+
 		// Change to enabled apps view
 		cy.get('#app-category-enabled a').click({ force: true })
 		cy.url().should('match', /settings\/apps\/enabled$/)
@@ -58,7 +67,8 @@ describe('Settings: App management', { testIsolation: true }, () => {
 
 	it('Can disable an installed app', () => {
 		cy.get('#apps-list').should('be.visible')
-			.contains('tr', 'Update notification')
+			// Wait for the app list to load
+			.contains('tr', 'Update notification', { timeout: 10000 })
 			.should('exist')
 			.find('.actions')
 			// I disable the "Update notification" app
@@ -67,6 +77,14 @@ describe('Settings: App management', { testIsolation: true }, () => {
 
 		handlePasswordConfirmation(admin.password)
 
+		// Wait until we see the disable button for the app
+		cy.get('#apps-list').should('be.visible')
+			.contains('tr', 'Update notification')
+			.should('exist')
+			.find('.actions')
+			// I see the enable button for the app
+			.contains('button', 'Enable', { timeout: 10000 })
+
 		// Change to disabled apps view
 		cy.get('#app-category-disabled a').click({ force: true })
 		cy.url().should('match', /settings\/apps\/disabled$/)