Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[UXE-5896] test: fix broken tests and remove xfail tags #2019

Merged
merged 4 commits into from
Dec 13, 2024
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
Original file line number Diff line number Diff line change
Expand Up @@ -23,8 +23,11 @@ describe('Digital Certificates spec', { tags: ['@dev3'] }, () => {
cy.get(selectors.form.editPageTitle).should('have.text', 'Edit Digital Certificate')
cy.get(selectors.digitalCertificates.breadcrumbReturnToList).click()
cy.get(selectors.list.searchInput).clear()
cy.intercept('GET', '/api/v4/digital_certificates/certificates*').as('getDigitalCertificates')
cy.get(selectors.list.searchInput).type(`${digitalCertificateName}{enter}`)
cy.get(selectors.list.filteredRow.column('name')).should('have.text', digitalCertificateName)
cy.wait('@getDigitalCertificates')
cy.get(selectors.list.filteredRow.column('name')).find(selectors.list.showMore).click()
cy.get(selectors.list.filteredRow.column('name')).contains(digitalCertificateName)
cy.get(selectors.list.filteredRow.statusColumn).should('have.text', 'Pending')
})

Expand All @@ -37,4 +40,4 @@ describe('Digital Certificates spec', { tags: ['@dev3'] }, () => {
cy.verifyToast('Digital certificate successfully deleted!')
})
})
})
})
Original file line number Diff line number Diff line change
Expand Up @@ -41,18 +41,21 @@ describe('Domains spec', { tags: ['@dev3'] }, () => {

cy.get(selectors.digitalCertificates.breadcrumbReturnToList).click()
cy.get(selectors.list.searchInput).clear()
cy.intercept('GET', '/api/v4/digital_certificates/certificates*').as('getDigitalCertificates')
cy.get(selectors.list.searchInput).type(`${certificateName}{enter}`)
cy.get(selectors.list.filteredRow.column('name')).should('have.text', certificateName)
cy.wait('@getDigitalCertificates')
cy.get(selectors.list.filteredRow.column('name')).find(selectors.list.showMore).click()
cy.get(selectors.list.filteredRow.column('name')).contains(certificateName)
cy.get(selectors.list.filteredRow.statusColumn).should('have.text', 'Pending')
})

afterEach(() => {
// Cleanup
cy.deleteEntityFromList({
entityName: certificateName,
productName: 'Digital Certificates'
}).then(() => {
cy.verifyToast('Digital certificate successfully deleted!')
})
entityName: certificateName,
productName: 'Digital Certificates'
}).then(() => {
cy.verifyToast('Digital certificate successfully deleted!')
})
})
})
3 changes: 1 addition & 2 deletions cypress/e2e/edge-application/add-error-response.cy.js
Original file line number Diff line number Diff line change
Expand Up @@ -27,8 +27,7 @@ const createEdgeApplicationCase = () => {
cy.get(selectors.list.filteredRow.column('name')).click()
}

// TODO: remove xfail tag when the API v4 is fixed
describe('Edge Application', { tags: ['@dev4', '@xfail'] }, () => {
describe('Edge Application', { tags: ['@dev4'] }, () => {
beforeEach(() => {
fixtures.edgeApplicationName = generateUniqueName('EdgeApp')
// Login
Expand Down
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
import generateUniqueName from '../../support/utils'
import selectors from '../../support/selectors'
import generateUniqueName from '../../../support/utils'
import selectors from '../../../support/selectors'

let fixtures = {}

Expand Down Expand Up @@ -42,7 +42,7 @@ const createEdgeApplicationCase = () => {
cy.get(selectors.list.filteredRow.column('name')).click()
}

describe('Edge Application', { tags: ['@dev4', '@xfail'] }, () => {
describe('Edge Application', { tags: ['@dev4'] }, () => {
beforeEach(() => {
fixtures.edgeApplicationName = generateUniqueName('EdgeApp')
// Login
Expand All @@ -69,11 +69,13 @@ describe('Edge Application', { tags: ['@dev4', '@xfail'] }, () => {
cy.get(selectors.form.actionsSubmitButton).click()
cy.verifyToast('success', 'Your edge application has been updated')
cy.get(selectors.edgeApplication.tabs('Functions Instances')).click()
cy.intercept('GET', '/api/v4/edge_functions/functions*').as('getFunctions')
cy.get(selectors.edgeApplication.functionsInstance.createButton).click()
cy.get(selectors.edgeApplication.functionsInstance.nameInput).clear()
cy.get(selectors.edgeApplication.functionsInstance.nameInput).type(
fixtures.functionInstanceName
)
cy.wait('@getFunctions')
cy.get(selectors.edgeApplication.functionsInstance.edgeFunctionsDropdown).click()
cy.get(selectors.edgeApplication.functionsInstance.createFunctionButton).click()
createFunctionCase()
Expand Down
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
// cypress/integration/edge-application/edit-function-instance.spec.js
import generateUniqueName from '../../support/utils'
import selectors from '../../support/selectors'
import generateUniqueName from '../../../support/utils'
import selectors from '../../../support/selectors'

let fixtures = {}

Expand Down Expand Up @@ -42,7 +42,7 @@ const createEdgeApplicationCase = () => {
cy.get(selectors.list.filteredRow.column('name')).click()
}

describe('Edge Application', { tags: ['@dev4', '@xfail'] }, () => {
describe('Edge Application', { tags: ['@dev4'] }, () => {
beforeEach(() => {
fixtures.edgeApplicationName = generateUniqueName('EdgeApp')
// Login
Expand All @@ -63,8 +63,10 @@ describe('Edge Application', { tags: ['@dev4', '@xfail'] }, () => {
cy.openProduct('Edge Application')

createEdgeApplicationCase()
cy.intercept('GET', 'api/v4/edge_functions/functions?ordering=name&page=1&page_size=100&fields=&search=*').as('getEdgeFunctions')

cy.intercept(
'GET',
'api/v4/edge_functions/functions?ordering=name&page=1&page_size=100&fields=&search=*'
).as('getEdgeFunctions')

// Act - create a function instance
cy.get(selectors.edgeApplication.mainSettings.modulesSwitch('edgeFunctions')).click()
Expand Down Expand Up @@ -133,4 +135,4 @@ describe('Edge Application', { tags: ['@dev4', '@xfail'] }, () => {
cy.verifyToast('Resource successfully deleted')
})
})
})
})
Original file line number Diff line number Diff line change
Expand Up @@ -32,12 +32,12 @@ const createFunctionCase = () => {
// Act
cy.get(selectors.functions.nameInput).clear()
cy.get(selectors.functions.nameInput).type(fixtures.functionName, { delay: 0 })
cy.intercept('GET', 'api/v3/edge_functions*').as('getEdgeFunctions')
cy.intercept('GET', 'api/v4/edge_functions/functions/*').as('getFunctions2')
cy.get(selectors.edgeApplication.functionsInstance.edgeFunctionActionbar)
.find(selectors.functions.saveButton)
.click()
cy.verifyToast('success', 'Your edge function has been created')
cy.wait('@getEdgeFunctions')
cy.wait('@getFunctions2')
}

describe('Edge Application', { tags: ['@dev3'] }, () => {
Expand Down Expand Up @@ -76,11 +76,13 @@ describe('Edge Application', { tags: ['@dev3'] }, () => {
cy.get(selectors.edgeApplication.rulesEngine.behaviorsDropdown(0)).click()
cy.get(selectors.edgeApplication.rulesEngine.behaviorsOption('Run Function')).click()
cy.get(selectors.edgeApplication.rulesEngine.setFunctionInstanceSelect(0)).click()
cy.intercept('GET', 'api/v4/edge_functions/functions*').as('getFunctions')
cy.get(selectors.edgeApplication.rulesEngine.createFunctionInstanceButton).click()
cy.get(selectors.edgeApplication.functionsInstance.nameInput).clear()
cy.get(selectors.edgeApplication.functionsInstance.nameInput).type(
fixtures.functionInstanceName
)
cy.wait('@getFunctions')
cy.get(selectors.edgeApplication.functionsInstance.edgeFunctionsDropdown).click()
cy.get(selectors.edgeApplication.functionsInstance.createFunctionButton).click()
createFunctionCase()
Expand All @@ -103,7 +105,7 @@ describe('Edge Application', { tags: ['@dev3'] }, () => {
.click()

cy.get(selectors.form.actionsSubmitButton).click()
cy.verifyToast('success', 'Your Rules Engine has been created.')
cy.verifyToast('success', 'Rule successfully created')

// Assert
cy.get(selectors.list.searchInput).type(`${fixtures.rulesEngineName}{enter}`)
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -27,8 +27,7 @@ const createEdgeApplicationCase = () => {
cy.get(selectors.list.filteredRow.column('name')).click()
}

// TODO: remove xfail tag when the API v4 is fixed
describe('Edge Application', { tags: ['@dev4', '@xfail'] }, () => {
describe('Edge Application', { tags: ['@dev4'] }, () => {
beforeEach(() => {
fixtures.edgeApplicationName = generateUniqueName('EdgeApp')
// Login
Expand Down
18 changes: 12 additions & 6 deletions cypress/e2e/edge-firewall/create-edge-firewall-function.cy.js
Original file line number Diff line number Diff line change
Expand Up @@ -8,13 +8,13 @@ const createFunctionCase = () => {
// Act
cy.get(selectors.functions.nameInput).clear()
cy.get(selectors.functions.nameInput).type(functionName, { delay: 0 })
cy.intercept('GET', '/api/v4/edge_functions/functions/*').as('getFunctions')
cy.intercept('GET', '/api/v4/edge_functions/functions/*').as('getFunctionsSaved')
cy.get(selectors.edgeFirewall.edgeFunctionActionbar).find(selectors.functions.saveButton).click()
cy.verifyToast('success', 'Your edge function has been created')
cy.wait('@getFunctions')
cy.wait('@getFunctionsSaved')
}

describe('Edge Firewall spec', { tags: ['@dev5'] }, () => {
//Flag xfail until the api contract is updated on prod
describe('Edge Firewall spec', { tags: ['@dev5, @xfail'] }, () => {
beforeEach(() => {
cy.login()
firewallName = generateUniqueName('EdgeFirewall')
Expand All @@ -37,9 +37,11 @@ describe('Edge Firewall spec', { tags: ['@dev5'] }, () => {

// Act - create Edge Function instance
cy.get(selectors.edgeFirewall.functionsTab).click()
cy.intercept('GET', '/api/v4/edge_functions/functions*').as('getFunctions')
cy.get(selectors.edgeFirewall.createFunctionInstanceButton).click()
cy.get(selectors.edgeFirewall.functionInstanceName).clear()
cy.get(selectors.edgeFirewall.functionInstanceName).type(functionInstanceName)
cy.wait('@getFunctions')
cy.get(selectors.edgeFirewall.functionInstanceDropdown).click()
cy.get(selectors.edgeFirewall.createFunctionButton).click()
createFunctionCase()
Expand All @@ -48,7 +50,9 @@ describe('Edge Firewall spec', { tags: ['@dev5'] }, () => {

// Assert - Find created function
cy.get(selectors.edgeFirewall.functionInstanceTableSearchInput).clear()
cy.get(selectors.edgeFirewall.functionInstanceTableSearchInput).type(`${functionInstanceName}{enter}`)
cy.get(selectors.edgeFirewall.functionInstanceTableSearchInput).type(
`${functionInstanceName}{enter}`
)
cy.get(selectors.edgeFirewall.functionInstanceTableColumnName).should(
'have.text',
functionInstanceName
Expand Down Expand Up @@ -92,7 +96,9 @@ describe('Edge Firewall spec', { tags: ['@dev5'] }, () => {
// Cleanup - Remove the created function instance
cy.get(selectors.edgeFirewall.functionsTab).click()
cy.get(selectors.edgeFirewall.functionInstanceTableSearchInput).clear()
cy.get(selectors.edgeFirewall.functionInstanceTableSearchInput).type(`${functionInstanceName}{enter}`)
cy.get(selectors.edgeFirewall.functionInstanceTableSearchInput).type(
`${functionInstanceName}{enter}`
)
cy.deleteEntityFromLoadedList().then(() => {
cy.verifyToast('Function successfully deleted')
})
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,8 @@ import selectors from '../../support/selectors'

let firewallName, ruleName

describe('Edge Firewall spec', { tags: ['@dev5'] }, () => {
//Flag xfail until the api contract is updated on prod
describe('Edge Firewall spec', { tags: ['@dev5, @xfail'] }, () => {
beforeEach(() => {
cy.login()
firewallName = generateUniqueName('EdgeFirewall')
Expand Down
2 changes: 1 addition & 1 deletion cypress/e2mock/teams-permissions.cy.js
Original file line number Diff line number Diff line change
Expand Up @@ -13,7 +13,7 @@ describe('Teams Permissions Spec', { tags: ['@dev2'] }, () => {

it('should block users without access of entering in the edit page', function () {
//act
cy.get(selectors.list.searchField).type('Default Team')
cy.get(selectors.list.searchField).type('Default Team {enter}')
cy.intercept('GET', '/api/v4/iam/teams/*', { statusCode: 403, body: fixtures.errorMessage }).as(
'teamsPermissions'
)
Expand Down
4 changes: 1 addition & 3 deletions cypress/support/commands.js
Original file line number Diff line number Diff line change
Expand Up @@ -249,9 +249,7 @@ const deleteEntityFromList = (entityName, productName, columnName) => {
cy.openProduct(productName)
cy.get(selectors.list.searchInput).clear()
cy.get(selectors.list.searchInput).type(`${entityName}{enter}`)
cy.get(selectors.list.filteredRow.column(columnName))
.should('be.visible')
.should('contain', entityName)
cy.get(selectors.list.filteredRow.column(columnName)).should('be.visible')

cy.get('body').then(($body) => {
if ($body.find(selectors.list.actionsMenu.button).length) {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,7 @@ export default {
createDigitalCertificateButton: '[data-testid="create_Digital Certificate_button"]',
searchInput: '[data-testid="data-table-search-input"]',
searchField: '[data-testid="data-table-search-input"]',
showMore: '[data-testid="table-column-expand-text-column__show-more__toggle"]',
filteredRow: {
column: (columnName) => `[data-testid="list-table-block__column__${columnName}__row"]`,
statusColumn: '[data-testid="list-table-block__column__status__row"] > .p-tag-value',
Expand Down
Loading