diff --git a/tests/cypress/e2e/unit_tests/p0_fleet.spec.ts b/tests/cypress/e2e/unit_tests/p0_fleet.spec.ts index afd02eb5..0dd51397 100644 --- a/tests/cypress/e2e/unit_tests/p0_fleet.spec.ts +++ b/tests/cypress/e2e/unit_tests/p0_fleet.spec.ts @@ -23,7 +23,7 @@ export const path = "nginx" beforeEach(() => { cy.login(); cy.visit('/'); - cy.deleteAllFleetRepos(); + // cy.deleteAllFleetRepos(); }); @@ -47,6 +47,29 @@ describe('Test Fleet deployment on PUBLIC repos', { tags: '@p0' }, () => { cy.deleteAllFleetRepos(); }) ); + + qase(115, + it.only('FLEET-115: Deploy "Traefik" application on "kube-system" namespace to local cluster', { tags: '@fleet-115' }, () => { + + const repoName = "local-cluster-fleet-115" + const branch = "main" + let appName, path + appName = path = "traefik" + const repoUrl = "https://github.com/sbulage/test-fleet" + const namespace = "kube-system" + + cy.fleetNamespaceToggle('fleet-local'); + cy.addFleetGitRepo({ repoName, repoUrl, branch, path, keepResources: 'yes' }); + cy.clickButton('Create'); + cy.checkGitRepoStatus(repoName, '1 / 1', '7 / 7'); + cy.verifyTableRow(1, 'Service', 'traefik'); + cy.verifyTableRow(3, 'IngressRoute', 'traefik-dashboard'); + cy.verifyTableRow(5, 'ClusterRole', 'traefik-kube-system'); + cy.deleteAllFleetRepos(); + cy.checkApplicationStatus(appName, namespace); + }) + ); + }); describe('Test Fleet deployment on PRIVATE repos with HTTP auth', { tags: '@p0' }, () => { diff --git a/tests/cypress/support/commands.ts b/tests/cypress/support/commands.ts index 9ceba01e..f4e0e523 100644 --- a/tests/cypress/support/commands.ts +++ b/tests/cypress/support/commands.ts @@ -178,10 +178,16 @@ Cypress.Commands.add('checkGitRepoStatus', (repoName, bundles, resources) => { }); // Check deployed application status (present or not) -Cypress.Commands.add('checkApplicationStatus', (appName, clusterName='local') => { +Cypress.Commands.add('checkApplicationStatus', (appName, namespace, clusterName='local') => { cypressLib.burgerMenuToggle(); cypressLib.accesMenu(clusterName); cy.clickNavMenu(['Workloads', 'Pods']); + if (namespace) { + cy.nameSpaceMenuToggle(namespace); + } + // Type application name in filter + let newAppName = new RegExp(appName + "(?=.*[a-zA-Z])(?=.*[0-9])[A-Za-z0-9]+") + cy.get('.search.row').should('exist').type(newAppName); cy.contains('tr.main-row[data-testid="sortable-table-0-row"]').should('not.be.empty', { timeout: 25000 }); cy.get(`table > tbody > tr.main-row[data-testid="sortable-table-0-row"]`) .children({ timeout: 60000 })