mirror of https://github.com/rancher/dashboard.git
fix failing/flaky tests
This commit is contained in:
parent
552c6288f7
commit
b7dc2ae37a
|
|
@ -0,0 +1,11 @@
|
||||||
|
export function groupByPayload(userId: string, clusterName: string, groupBy:string, namespace: string):object {
|
||||||
|
return {
|
||||||
|
id: userId,
|
||||||
|
type: 'userpreference',
|
||||||
|
data: {
|
||||||
|
cluster: clusterName,
|
||||||
|
'group-by': groupBy,
|
||||||
|
'ns-by-cluster': namespace,
|
||||||
|
}
|
||||||
|
};
|
||||||
|
}
|
||||||
|
|
@ -2,6 +2,7 @@ import ClusterDashboardPagePo from '@/cypress/e2e/po/pages/explorer/cluster-dash
|
||||||
import { NamespaceFilterPo } from '@/cypress/e2e/po/components/namespace-filter.po';
|
import { NamespaceFilterPo } from '@/cypress/e2e/po/components/namespace-filter.po';
|
||||||
import { WorkloadsPodsListPagePo } from '@/cypress/e2e/po/pages/explorer/workloads-pods.po';
|
import { WorkloadsPodsListPagePo } from '@/cypress/e2e/po/pages/explorer/workloads-pods.po';
|
||||||
import HomePagePo from '@/cypress/e2e/po/pages/home.po';
|
import HomePagePo from '@/cypress/e2e/po/pages/home.po';
|
||||||
|
import { groupByPayload } from '@/cypress/e2e/blueprints/user_preferences/group_by';
|
||||||
|
|
||||||
const namespacePicker = new NamespaceFilterPo();
|
const namespacePicker = new NamespaceFilterPo();
|
||||||
|
|
||||||
|
|
@ -21,9 +22,16 @@ describe('Namespace picker', { testIsolation: 'off' }, () => {
|
||||||
namespacePicker.closeDropdown();
|
namespacePicker.closeDropdown();
|
||||||
});
|
});
|
||||||
|
|
||||||
it('can filter workloads by project/namespace from the picker dropdown', { tags: ['@adminUser'] }, () => {
|
it('can filter workloads by project/namespace from the picker dropdown', { tags: ['@explorer', '@adminUser'] }, () => {
|
||||||
// Verify 'Namespace: cattle-fleet-local-system' appears once when filtering by Namespace
|
// Verify 'Namespace: cattle-fleet-local-system' appears once when filtering by Namespace
|
||||||
// Vrify multiple namespaces within Project: System display when filtering by Project
|
// Verify multiple namespaces within Project: System display when filtering by Project
|
||||||
|
|
||||||
|
// group workloads by namespace
|
||||||
|
cy.getRancherResource('v3', 'users?me=true').then((resp: Cypress.Response<any>) => {
|
||||||
|
const userId = resp.body.data[0].id.trim();
|
||||||
|
|
||||||
|
cy.setRancherResource('v1', 'userpreferences', userId, groupByPayload(userId, 'local', 'metadata.namespace', '{"local":["all://user"]}'));
|
||||||
|
});
|
||||||
|
|
||||||
const workloadsPodPage = new WorkloadsPodsListPagePo('local');
|
const workloadsPodPage = new WorkloadsPodsListPagePo('local');
|
||||||
|
|
||||||
|
|
@ -54,7 +62,7 @@ describe('Namespace picker', { testIsolation: 'off' }, () => {
|
||||||
workloadsPodPage.sortableTable().groupElementWithName('cattle-fleet-local-system').scrollIntoView().should('be.visible');
|
workloadsPodPage.sortableTable().groupElementWithName('cattle-fleet-local-system').scrollIntoView().should('be.visible');
|
||||||
});
|
});
|
||||||
|
|
||||||
it('can select only one of the top 5 resource filters at a time', { tags: ['@adminUser', '@standardUser'] }, () => {
|
it('can select only one of the top 5 resource filters at a time', { tags: ['@explorer', '@adminUser', '@standardUser'] }, () => {
|
||||||
// Verify that user can only select one of the first 5 options
|
// Verify that user can only select one of the first 5 options
|
||||||
|
|
||||||
namespacePicker.toggle();
|
namespacePicker.toggle();
|
||||||
|
|
@ -85,7 +93,7 @@ describe('Namespace picker', { testIsolation: 'off' }, () => {
|
||||||
namespacePicker.checkIcon().should('have.length', 1);
|
namespacePicker.checkIcon().should('have.length', 1);
|
||||||
});
|
});
|
||||||
|
|
||||||
it('can select multiple projects/namespaces', { tags: ['@adminUser'] }, () => {
|
it('can select multiple projects/namespaces', { tags: ['@explorer', '@adminUser'] }, () => {
|
||||||
// Verify that user can select multiple options (other than the first 5 options)
|
// Verify that user can select multiple options (other than the first 5 options)
|
||||||
|
|
||||||
namespacePicker.toggle();
|
namespacePicker.toggle();
|
||||||
|
|
@ -119,7 +127,7 @@ describe('Namespace picker', { testIsolation: 'off' }, () => {
|
||||||
namespacePicker.moreOptionsSelected().should('have.class', 'has-tooltip');
|
namespacePicker.moreOptionsSelected().should('have.class', 'has-tooltip');
|
||||||
});
|
});
|
||||||
|
|
||||||
it('can deselect options', { tags: ['@adminUser', '@standardUser'] }, () => {
|
it('can deselect options', { tags: ['@explorer', '@adminUser', '@standardUser'] }, () => {
|
||||||
namespacePicker.toggle();
|
namespacePicker.toggle();
|
||||||
|
|
||||||
// Select 'default' option
|
// Select 'default' option
|
||||||
|
|
@ -146,7 +154,7 @@ describe('Namespace picker', { testIsolation: 'off' }, () => {
|
||||||
namespacePicker.checkIcon().should('have.length', 1);
|
namespacePicker.checkIcon().should('have.length', 1);
|
||||||
});
|
});
|
||||||
|
|
||||||
it('can filter options by name', { tags: ['@adminUser', '@standardUser'] }, () => {
|
it('can filter options by name', { tags: ['@explorer', '@adminUser', '@standardUser'] }, () => {
|
||||||
namespacePicker.toggle();
|
namespacePicker.toggle();
|
||||||
|
|
||||||
// filter 'cattle-fleet'
|
// filter 'cattle-fleet'
|
||||||
|
|
@ -167,7 +175,7 @@ describe('Namespace picker', { testIsolation: 'off' }, () => {
|
||||||
namespacePicker.checkIcon().should('have.length', 1);
|
namespacePicker.checkIcon().should('have.length', 1);
|
||||||
});
|
});
|
||||||
|
|
||||||
it('newly created project/namespace appears in namespace picker', { tags: ['@adminUser'] }, () => {
|
it('newly created project/namespace appears in namespace picker', { tags: ['@explorer', '@adminUser'] }, () => {
|
||||||
const projName = `project${ +new Date() }`;
|
const projName = `project${ +new Date() }`;
|
||||||
const nsName = `namespace${ +new Date() }`;
|
const nsName = `namespace${ +new Date() }`;
|
||||||
|
|
||||||
|
|
@ -205,15 +213,7 @@ describe('Namespace picker', { testIsolation: 'off' }, () => {
|
||||||
cy.getRancherResource('v3', 'users?me=true').then((resp: Cypress.Response<any>) => {
|
cy.getRancherResource('v3', 'users?me=true').then((resp: Cypress.Response<any>) => {
|
||||||
const userId = resp.body.data[0].id.trim();
|
const userId = resp.body.data[0].id.trim();
|
||||||
|
|
||||||
cy.setRancherResource('v1', 'userpreferences', userId, {
|
cy.setRancherResource('v1', 'userpreferences', userId, groupByPayload(userId, 'local', 'none', '{"local":["all://user"]}'));
|
||||||
id: userId,
|
|
||||||
type: 'userpreference',
|
|
||||||
data: {
|
|
||||||
cluster: 'local',
|
|
||||||
'group-by': 'none',
|
|
||||||
'ns-by-cluster': '{"local":["all://user"]}',
|
|
||||||
}
|
|
||||||
});
|
|
||||||
});
|
});
|
||||||
});
|
});
|
||||||
});
|
});
|
||||||
|
|
|
||||||
|
|
@ -19,6 +19,10 @@ describe('Nodes list', { tags: ['@explorer', '@adminUser'], testIsolation: 'off'
|
||||||
});
|
});
|
||||||
|
|
||||||
it('should show the nodes list page', () => {
|
it('should show the nodes list page', () => {
|
||||||
|
cy.getRancherResource('v1', 'nodes').then((resp: Cypress.Response<any>) => {
|
||||||
|
cy.wrap(resp.body.count).as('count');
|
||||||
|
});
|
||||||
|
|
||||||
ClusterDashboardPagePo.navTo();
|
ClusterDashboardPagePo.navTo();
|
||||||
|
|
||||||
const nav = new ProductNavPo();
|
const nav = new ProductNavPo();
|
||||||
|
|
@ -35,17 +39,18 @@ describe('Nodes list', { tags: ['@explorer', '@adminUser'], testIsolation: 'off'
|
||||||
nodeList.sortableTable().checkLoadingIndicatorNotVisible();
|
nodeList.sortableTable().checkLoadingIndicatorNotVisible();
|
||||||
|
|
||||||
// Check table has 2 tows
|
// Check table has 2 tows
|
||||||
|
cy.get<number>('@count').then((count) => {
|
||||||
nodeList.sortableTable().rowElements({ timeout: 2500 }).should((rows: any) => {
|
nodeList.sortableTable().rowElements({ timeout: 2500 }).should((rows: any) => {
|
||||||
expect(rows).not.to.equal(undefined);
|
expect(rows).not.to.equal(undefined);
|
||||||
expect(rows).to.have.length(2);
|
expect(rows).to.have.length(count);
|
||||||
});
|
});
|
||||||
|
|
||||||
// Check the node names
|
// Check the node names
|
||||||
nodeList.sortableTable().rowNames().should((names: any) => {
|
nodeList.sortableTable().rowNames().should((names: any) => {
|
||||||
expect(names).to.have.length(2);
|
expect(names).to.have.length(count);
|
||||||
// expect(names).to.contain('local-node');
|
|
||||||
expect(names).to.contain('bigip1');
|
expect(names).to.contain('bigip1');
|
||||||
});
|
});
|
||||||
|
});
|
||||||
|
|
||||||
// Simple test to assert we haven't broken Node detail page
|
// Simple test to assert we haven't broken Node detail page
|
||||||
// https://github.com/rancher/dashboard/issues/10490
|
// https://github.com/rancher/dashboard/issues/10490
|
||||||
|
|
|
||||||
|
|
@ -25,6 +25,7 @@ describe('Git Repo', { tags: ['@fleet', '@adminUser'] }, () => {
|
||||||
cy.intercept('POST', '/v1/fleet.cattle.io.gitrepos').as('interceptGitRepo');
|
cy.intercept('POST', '/v1/fleet.cattle.io.gitrepos').as('interceptGitRepo');
|
||||||
|
|
||||||
gitRepoCreatePage.goTo();
|
gitRepoCreatePage.goTo();
|
||||||
|
gitRepoCreatePage.waitForPage();
|
||||||
|
|
||||||
const { name } = gitRepoCreateRequest.metadata;
|
const { name } = gitRepoCreateRequest.metadata;
|
||||||
const {
|
const {
|
||||||
|
|
|
||||||
|
|
@ -27,23 +27,8 @@ describe('Home Page', () => {
|
||||||
|
|
||||||
describe('Home Page', { testIsolation: 'off' }, () => {
|
describe('Home Page', { testIsolation: 'off' }, () => {
|
||||||
before(() => {
|
before(() => {
|
||||||
// since I wasn't able to fully mock a list of clusters
|
|
||||||
// the next best thing is to add a description to the current local cluster
|
|
||||||
// testing https://github.com/rancher/dashboard/issues/10441
|
|
||||||
cy.intercept('GET', `/v1/provisioning.cattle.io.clusters?*`, (req) => {
|
|
||||||
req.continue((res) => {
|
|
||||||
const localIndex = res.body.data.findIndex((item) => item.id.includes('/local'));
|
|
||||||
|
|
||||||
if (localIndex >= 0) {
|
|
||||||
res.body.data[localIndex].metadata.annotations['field.cattle.io/description'] = longClusterDescription;
|
|
||||||
}
|
|
||||||
|
|
||||||
res.send(res.body);
|
|
||||||
});
|
|
||||||
}).as('provClusters');
|
|
||||||
|
|
||||||
cy.login();
|
cy.login();
|
||||||
HomePagePo.goToAndWaitForGet();
|
HomePagePo.goTo();
|
||||||
});
|
});
|
||||||
|
|
||||||
it('Can navigate to release notes page for latest Rancher version', { tags: ['@generic', '@adminUser', '@standardUser'] }, () => {
|
it('Can navigate to release notes page for latest Rancher version', { tags: ['@generic', '@adminUser', '@standardUser'] }, () => {
|
||||||
|
|
@ -172,7 +157,7 @@ describe('Home Page', () => {
|
||||||
genericCreateClusterPage.waitForPage();
|
genericCreateClusterPage.waitForPage();
|
||||||
});
|
});
|
||||||
|
|
||||||
it('Can filter rows in the cluster list', { tags: ['@adminUser'] }, () => {
|
it('Can filter rows in the cluster list', { tags: ['@generic', '@adminUser'] }, () => {
|
||||||
/**
|
/**
|
||||||
* Filter rows in the cluster list
|
* Filter rows in the cluster list
|
||||||
*/
|
*/
|
||||||
|
|
@ -188,8 +173,23 @@ describe('Home Page', () => {
|
||||||
});
|
});
|
||||||
});
|
});
|
||||||
|
|
||||||
it('Should show cluster description information in the cluster list', { tags: ['@adminUser'] }, () => {
|
it('Should show cluster description information in the cluster list', { tags: ['@generic', '@adminUser'] }, () => {
|
||||||
HomePagePo.navTo();
|
// since I wasn't able to fully mock a list of clusters
|
||||||
|
// the next best thing is to add a description to the current local cluster
|
||||||
|
// testing https://github.com/rancher/dashboard/issues/10441
|
||||||
|
cy.intercept('GET', `/v1/provisioning.cattle.io.clusters?*`, (req) => {
|
||||||
|
req.continue((res) => {
|
||||||
|
const localIndex = res.body.data.findIndex((item) => item.id.includes('/local'));
|
||||||
|
|
||||||
|
if (localIndex >= 0) {
|
||||||
|
res.body.data[localIndex].metadata.annotations['field.cattle.io/description'] = longClusterDescription;
|
||||||
|
}
|
||||||
|
|
||||||
|
res.send(res.body);
|
||||||
|
});
|
||||||
|
}).as('provClusters');
|
||||||
|
|
||||||
|
homePage.goTo();
|
||||||
const desc = homeClusterList.resourceTable().sortableTable().rowWithName('local').column(1)
|
const desc = homeClusterList.resourceTable().sortableTable().rowWithName('local').column(1)
|
||||||
.get('.cluster-description');
|
.get('.cluster-description');
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -53,6 +53,7 @@ describe('Pod Security Admissions', { testIsolation: 'off', tags: ['@manager', '
|
||||||
|
|
||||||
it('can edit a policy security admission', function() {
|
it('can edit a policy security admission', function() {
|
||||||
PodSecurityAdmissionsPagePo.navTo();
|
PodSecurityAdmissionsPagePo.navTo();
|
||||||
|
podSecurityAdmissionsPage.waitForPage();
|
||||||
podSecurityAdmissionsPage.list().actionMenu(this.podSecurityAdmissionsName).getMenuItem('Edit Config').click();
|
podSecurityAdmissionsPage.list().actionMenu(this.podSecurityAdmissionsName).getMenuItem('Edit Config').click();
|
||||||
podSecurityAdmissionsPage.createPodSecurityAdmissionForm(this.podSecurityAdmissionsName).waitForPage('mode=edit');
|
podSecurityAdmissionsPage.createPodSecurityAdmissionForm(this.podSecurityAdmissionsName).waitForPage('mode=edit');
|
||||||
podSecurityAdmissionsPage.createPodSecurityAdmissionForm().nameNsDescription().description().set(`${ this.podSecurityAdmissionsName }-description-edit`);
|
podSecurityAdmissionsPage.createPodSecurityAdmissionForm().nameNsDescription().description().set(`${ this.podSecurityAdmissionsName }-description-edit`);
|
||||||
|
|
@ -80,6 +81,7 @@ describe('Pod Security Admissions', { testIsolation: 'off', tags: ['@manager', '
|
||||||
|
|
||||||
it('can clone a policy security admission', function() {
|
it('can clone a policy security admission', function() {
|
||||||
PodSecurityAdmissionsPagePo.navTo();
|
PodSecurityAdmissionsPagePo.navTo();
|
||||||
|
podSecurityAdmissionsPage.waitForPage();
|
||||||
podSecurityAdmissionsPage.list().actionMenu(this.podSecurityAdmissionsName).getMenuItem('Clone').click();
|
podSecurityAdmissionsPage.list().actionMenu(this.podSecurityAdmissionsName).getMenuItem('Clone').click();
|
||||||
podSecurityAdmissionsPage.createPodSecurityAdmissionForm(this.podSecurityAdmissionsName).waitForPage('mode=clone');
|
podSecurityAdmissionsPage.createPodSecurityAdmissionForm(this.podSecurityAdmissionsName).waitForPage('mode=clone');
|
||||||
podSecurityAdmissionsPage.createPodSecurityAdmissionForm().nameNsDescription().name().set(`${ this.podSecurityAdmissionsName }-clone`);
|
podSecurityAdmissionsPage.createPodSecurityAdmissionForm().nameNsDescription().name().set(`${ this.podSecurityAdmissionsName }-clone`);
|
||||||
|
|
@ -92,6 +94,7 @@ describe('Pod Security Admissions', { testIsolation: 'off', tags: ['@manager', '
|
||||||
|
|
||||||
it('can download YAML for a policy security admission', function() {
|
it('can download YAML for a policy security admission', function() {
|
||||||
PodSecurityAdmissionsPagePo.navTo();
|
PodSecurityAdmissionsPagePo.navTo();
|
||||||
|
podSecurityAdmissionsPage.waitForPage();
|
||||||
podSecurityAdmissionsPage.list().actionMenu(this.podSecurityAdmissionsName).getMenuItem('Download YAML').click({ force: true });
|
podSecurityAdmissionsPage.list().actionMenu(this.podSecurityAdmissionsName).getMenuItem('Download YAML').click({ force: true });
|
||||||
|
|
||||||
const downloadedFilename = path.join(downloadsFolder, `${ this.podSecurityAdmissionsName }.yaml`);
|
const downloadedFilename = path.join(downloadsFolder, `${ this.podSecurityAdmissionsName }.yaml`);
|
||||||
|
|
@ -108,6 +111,7 @@ describe('Pod Security Admissions', { testIsolation: 'off', tags: ['@manager', '
|
||||||
|
|
||||||
it('can delete a policy security admission', function() {
|
it('can delete a policy security admission', function() {
|
||||||
PodSecurityAdmissionsPagePo.navTo();
|
PodSecurityAdmissionsPagePo.navTo();
|
||||||
|
podSecurityAdmissionsPage.waitForPage();
|
||||||
podSecurityAdmissionsPage.list().actionMenu(`${ this.podSecurityAdmissionsName }-clone`).getMenuItem('Delete').click();
|
podSecurityAdmissionsPage.list().actionMenu(`${ this.podSecurityAdmissionsName }-clone`).getMenuItem('Delete').click();
|
||||||
|
|
||||||
const promptRemove = new PromptRemove();
|
const promptRemove = new PromptRemove();
|
||||||
|
|
@ -124,6 +128,7 @@ describe('Pod Security Admissions', { testIsolation: 'off', tags: ['@manager', '
|
||||||
|
|
||||||
it('can delete a policy security admission via bulk actions', function() {
|
it('can delete a policy security admission via bulk actions', function() {
|
||||||
PodSecurityAdmissionsPagePo.navTo();
|
PodSecurityAdmissionsPagePo.navTo();
|
||||||
|
podSecurityAdmissionsPage.waitForPage();
|
||||||
podSecurityAdmissionsPage.list().details(this.podSecurityAdmissionsName, 0).click();
|
podSecurityAdmissionsPage.list().details(this.podSecurityAdmissionsName, 0).click();
|
||||||
podSecurityAdmissionsPage.list().resourceTable().sortableTable().deleteButton()
|
podSecurityAdmissionsPage.list().resourceTable().sortableTable().deleteButton()
|
||||||
.click();
|
.click();
|
||||||
|
|
|
||||||
|
|
@ -37,6 +37,7 @@ describe('Cluster Management Helm Repositories', { testIsolation: 'off', tags: [
|
||||||
|
|
||||||
it('can refresh a repository', function() {
|
it('can refresh a repository', function() {
|
||||||
ChartRepositoriesPagePo.navTo();
|
ChartRepositoriesPagePo.navTo();
|
||||||
|
repositoriesPage.waitForPage();
|
||||||
cy.intercept('PUT', `/v1/catalog.cattle.io.clusterrepos/${ this.repoName }`).as('refreshRepo');
|
cy.intercept('PUT', `/v1/catalog.cattle.io.clusterrepos/${ this.repoName }`).as('refreshRepo');
|
||||||
repositoriesPage.list().actionMenu(this.repoName).getMenuItem('Refresh').click();
|
repositoriesPage.list().actionMenu(this.repoName).getMenuItem('Refresh').click();
|
||||||
cy.wait('@refreshRepo').its('response.statusCode').should('eq', 200);
|
cy.wait('@refreshRepo').its('response.statusCode').should('eq', 200);
|
||||||
|
|
@ -48,6 +49,7 @@ describe('Cluster Management Helm Repositories', { testIsolation: 'off', tags: [
|
||||||
|
|
||||||
it('can edit a repository', function() {
|
it('can edit a repository', function() {
|
||||||
ChartRepositoriesPagePo.navTo();
|
ChartRepositoriesPagePo.navTo();
|
||||||
|
repositoriesPage.waitForPage();
|
||||||
repositoriesPage.list().actionMenu(this.repoName).getMenuItem('Edit Config').click();
|
repositoriesPage.list().actionMenu(this.repoName).getMenuItem('Edit Config').click();
|
||||||
repositoriesPage.createEditRepositories(this.repoName).waitForPage('mode=edit');
|
repositoriesPage.createEditRepositories(this.repoName).waitForPage('mode=edit');
|
||||||
repositoriesPage.createEditRepositories().nameNsDescription().description().set(`${ this.repoName }-desc-edit`);
|
repositoriesPage.createEditRepositories().nameNsDescription().description().set(`${ this.repoName }-desc-edit`);
|
||||||
|
|
@ -61,6 +63,7 @@ describe('Cluster Management Helm Repositories', { testIsolation: 'off', tags: [
|
||||||
|
|
||||||
it('can clone a repository', function() {
|
it('can clone a repository', function() {
|
||||||
ChartRepositoriesPagePo.navTo();
|
ChartRepositoriesPagePo.navTo();
|
||||||
|
repositoriesPage.waitForPage();
|
||||||
repositoriesPage.list().actionMenu(this.repoName).getMenuItem('Clone').click();
|
repositoriesPage.list().actionMenu(this.repoName).getMenuItem('Clone').click();
|
||||||
repositoriesPage.createEditRepositories(this.repoName).waitForPage('mode=clone');
|
repositoriesPage.createEditRepositories(this.repoName).waitForPage('mode=clone');
|
||||||
repositoriesPage.createEditRepositories().nameNsDescription().name().set(`${ this.repoName }-clone`);
|
repositoriesPage.createEditRepositories().nameNsDescription().name().set(`${ this.repoName }-clone`);
|
||||||
|
|
@ -74,6 +77,7 @@ describe('Cluster Management Helm Repositories', { testIsolation: 'off', tags: [
|
||||||
|
|
||||||
it('can download YAML', function() {
|
it('can download YAML', function() {
|
||||||
ChartRepositoriesPagePo.navTo();
|
ChartRepositoriesPagePo.navTo();
|
||||||
|
repositoriesPage.waitForPage();
|
||||||
repositoriesPage.list().actionMenu(this.repoName).getMenuItem('Download YAML').click({ force: true });
|
repositoriesPage.list().actionMenu(this.repoName).getMenuItem('Download YAML').click({ force: true });
|
||||||
|
|
||||||
const downloadedFilename = path.join(downloadsFolder, `${ this.repoName }.yaml`);
|
const downloadedFilename = path.join(downloadsFolder, `${ this.repoName }.yaml`);
|
||||||
|
|
@ -90,6 +94,7 @@ describe('Cluster Management Helm Repositories', { testIsolation: 'off', tags: [
|
||||||
|
|
||||||
it('can delete a repository', function() {
|
it('can delete a repository', function() {
|
||||||
ChartRepositoriesPagePo.navTo();
|
ChartRepositoriesPagePo.navTo();
|
||||||
|
repositoriesPage.waitForPage();
|
||||||
|
|
||||||
// delete original cloned Repository
|
// delete original cloned Repository
|
||||||
repositoriesPage.list().actionMenu(`${ this.repoName }-clone`).getMenuItem('Delete').click();
|
repositoriesPage.list().actionMenu(`${ this.repoName }-clone`).getMenuItem('Delete').click();
|
||||||
|
|
@ -108,6 +113,7 @@ describe('Cluster Management Helm Repositories', { testIsolation: 'off', tags: [
|
||||||
|
|
||||||
it('can delete a repository via bulk actions', function() {
|
it('can delete a repository via bulk actions', function() {
|
||||||
ChartRepositoriesPagePo.navTo();
|
ChartRepositoriesPagePo.navTo();
|
||||||
|
repositoriesPage.waitForPage();
|
||||||
|
|
||||||
// delete original Repository
|
// delete original Repository
|
||||||
repositoriesPage.list().resourceTable().sortableTable().rowSelectCtlWithName(this.repoName)
|
repositoriesPage.list().resourceTable().sortableTable().rowSelectCtlWithName(this.repoName)
|
||||||
|
|
|
||||||
|
|
@ -42,7 +42,7 @@ declare global {
|
||||||
createAwsCloudCredentials(nsName: string, cloudCredName: string, defaultRegion: string, accessKey: string, secretKey: string): Chainable;
|
createAwsCloudCredentials(nsName: string, cloudCredName: string, defaultRegion: string, accessKey: string, secretKey: string): Chainable;
|
||||||
|
|
||||||
getRancherResource(prefix: 'v3' | 'v1', resourceType: string, resourceId?: string, expectedStatusCode?: number): Chainable;
|
getRancherResource(prefix: 'v3' | 'v1', resourceType: string, resourceId?: string, expectedStatusCode?: number): Chainable;
|
||||||
setRancherResource(prefix: 'v3' | 'v1', resourceType: string, resourceId: string, body: string): Chainable;
|
setRancherResource(prefix: 'v3' | 'v1', resourceType: string, resourceId: string, body: any): Chainable;
|
||||||
createRancherResource(prefix: 'v3' | 'v1', resourceType: string, body: string): Chainable;
|
createRancherResource(prefix: 'v3' | 'v1', resourceType: string, body: string): Chainable;
|
||||||
deleteRancherResource(prefix: 'v3' | 'v1', resourceType: string, resourceId: string, failOnStatusCode?: boolean): Chainable;
|
deleteRancherResource(prefix: 'v3' | 'v1', resourceType: string, resourceId: string, failOnStatusCode?: boolean): Chainable;
|
||||||
deleteNodeTemplate(nodeTemplateId: string)
|
deleteNodeTemplate(nodeTemplateId: string)
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue