Skip to content

Commit 71b993b

Browse files
authored
Merge pull request #15623 from yonasberhe23/fix_cloud_cred_test
Automation: fix cloud credential test
2 parents d86ab17 + cdc6e51 commit 71b993b

File tree

5 files changed

+33
-85
lines changed

5 files changed

+33
-85
lines changed

cypress/e2e/po/components/labeled-input.po.ts

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -5,9 +5,8 @@ export default class LabeledInputPo extends ComponentPo {
55
static byLabel(self: CypressChainable, label: string): LabeledInputPo {
66
return new LabeledInputPo(
77
self
8-
.find('.labeled-input', { includeShadowDom: true })
9-
.contains(label)
10-
.next()
8+
.contains('.labeled-input', label, { includeShadowDom: true })
9+
.find('input')
1110
);
1211
}
1312

cypress/e2e/po/pages/cluster-manager/cloud-credentials-create-aws.po.ts

Lines changed: 0 additions & 36 deletions
This file was deleted.

cypress/e2e/po/pages/cluster-manager/cloud-credentials-create.po.ts

Lines changed: 0 additions & 22 deletions
This file was deleted.

cypress/e2e/po/pages/cluster-manager/cloud-credentials.po.ts

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,10 @@
1-
import PagePo from '@/cypress/e2e/po/pages/page.po';
1+
import { BaseDetailPagePo } from '@/cypress/e2e/po/pages/base/base-detail-page.po';
22
import CloudCredentialsCreateEditPo from '@/cypress/e2e/po/edit/cloud-credentials-amazon.po';
33
import CloudCredentialsListPo from '@/cypress/e2e/po/lists/cloud-credentials-list.po';
44
import ProductNavPo from '@/cypress/e2e/po/side-bars/product-side-nav.po';
55
import BurgerMenuPo from '@/cypress/e2e/po/side-bars/burger-side-menu.po';
66

7-
export default class CloudCredentialsPagePo extends PagePo {
7+
export default class CloudCredentialsPagePo extends BaseDetailPagePo {
88
private static createPath(clusterId: string) {
99
return `/c/${ clusterId }/manager/cloudCredential`;
1010
}

cypress/e2e/tests/pages/manager/cloud-credential.spec.ts

Lines changed: 29 additions & 22 deletions
Original file line numberDiff line numberDiff line change
@@ -4,9 +4,9 @@ import { machinePoolConfigResponse } from '@/cypress/e2e/blueprints/manager/mach
44
import ClusterManagerListPagePo from '@/cypress/e2e/po/pages/cluster-manager/cluster-manager-list.po';
55
import ClusterManagerEditGenericPagePo from '@/cypress/e2e/po/edit/provisioning.cattle.io.cluster/edit/cluster-edit-generic.po';
66
import ClusterManagerCreateRke2AzurePagePo from '@/cypress/e2e/po/edit/provisioning.cattle.io.cluster/create/cluster-create-rke2-azure.po';
7-
import CloudCredentialsCreatePagePo from '@/cypress/e2e/po/pages/cluster-manager/cloud-credentials-create.po';
7+
import CloudCredentialsPagePo from '@/cypress/e2e/po/pages/cluster-manager/cloud-credentials.po';
88
import ClusterManagerCreatePagePo from '@/cypress/e2e/po/edit/provisioning.cattle.io.cluster/create/cluster-create.po';
9-
import CloudCredentialsCreateAWSPagePo from '@/cypress/e2e/po/pages/cluster-manager/cloud-credentials-create-aws.po';
9+
import LoadingPo from '@/cypress/e2e/po/components/loading.po';
1010

1111
describe('Cloud Credential', { testIsolation: 'off' }, () => {
1212
const clusterList = new ClusterManagerListPagePo();
@@ -235,24 +235,26 @@ describe('Cloud Credential', { testIsolation: 'off' }, () => {
235235
const secret = 'secret';
236236
const errorMessage = 'Authentication test failed, please check your credentials';
237237

238-
CloudCredentialsCreatePagePo.goTo();
239-
const createCredentialsPo = new CloudCredentialsCreatePagePo();
238+
const cloudCredentialsPage = new CloudCredentialsPagePo();
240239

241-
createCredentialsPo.waitForPageWithExactUrl();
240+
cloudCredentialsPage.goTo();
241+
cloudCredentialsPage.waitForPage();
242+
cloudCredentialsPage.create();
243+
cloudCredentialsPage.createEditCloudCreds().waitForPage();
244+
cloudCredentialsPage.createEditCloudCreds().cloudServiceOptions().selectSubTypeByIndex(0).click();
245+
cloudCredentialsPage.createEditCloudCreds().waitForPage('type=aws');
242246

243-
const createCredentialsAwsPo = createCredentialsPo.selectAws();
247+
cloudCredentialsPage.createEditCloudCreds().accessKey().set(access);
248+
cloudCredentialsPage.createEditCloudCreds().secretKey().set(secret);
249+
cloudCredentialsPage.createEditCloudCreds().nameNsDescription().name().set(name);
244250

245-
createCredentialsAwsPo.waitForPageWithExactUrl();
251+
cloudCredentialsPage.createEditCloudCreds().nameNsDescription().name().value()
252+
.should('eq', name);
246253

247-
createCredentialsAwsPo.accessKeyInput().set(access);
248-
createCredentialsAwsPo.secretKeyInput().set(secret);
249-
createCredentialsAwsPo.credentialNameInput().set(name);
250-
251-
createCredentialsAwsPo.credentialNameInput().value().should('eq', name);
252-
253-
createCredentialsAwsPo.clickCreate();
254+
cloudCredentialsPage.createEditCloudCreds().saveCreateForm().cruResource().saveOrCreate()
255+
.click();
254256
// In the previous bug this text would get truncated to the first letter
255-
createCredentialsAwsPo.errorBanner().should('contain.text', errorMessage);
257+
cloudCredentialsPage.resourceDetail().createEditView().errorBanner().should('contain.text', errorMessage);
256258
});
257259

258260
it('Ensure we validate credentials and show an error when invalid when creating a credential from the create cluster page', { tags: ['@manager', '@adminUser'] }, () => {
@@ -263,23 +265,28 @@ describe('Cloud Credential', { testIsolation: 'off' }, () => {
263265
const errorMessage = 'Authentication test failed, please check your credentials';
264266

265267
const clusterCreate = new ClusterManagerCreatePagePo();
268+
const loadingPo = new LoadingPo('.loading-indicator');
266269

267270
clusterCreate.goTo();
268271
clusterCreate.waitForPage();
269272
clusterCreate.selectCreate(0);
273+
loadingPo.checkNotExists();
270274
clusterCreate.rke2PageTitle().should('include', 'Create Amazon EC2');
275+
clusterCreate.waitForPage('type=amazonec2&rkeType=rke2');
271276

272-
const createCredentialsAwsPo = new CloudCredentialsCreateAWSPagePo();
277+
const cloudCredentialsPage = new CloudCredentialsPagePo();
273278

274-
createCredentialsAwsPo.accessKeyInput().set(access);
275-
createCredentialsAwsPo.secretKeyInput().set(secret);
276-
createCredentialsAwsPo.credentialNameInput().set(name);
279+
cloudCredentialsPage.createEditCloudCreds().accessKey().set(access);
280+
cloudCredentialsPage.createEditCloudCreds().secretKey().set(secret);
281+
cloudCredentialsPage.createEditCloudCreds().nameNsDescription().name().set(name);
277282

278-
createCredentialsAwsPo.credentialNameInput().value().should('eq', name);
283+
cloudCredentialsPage.createEditCloudCreds().nameNsDescription().name().value()
284+
.should('eq', name);
279285

280-
createCredentialsAwsPo.clickCreate();
286+
cloudCredentialsPage.createEditCloudCreds().saveCreateForm().cruResource().saveOrCreate()
287+
.click();
281288
// In the previous bug this text would get truncated to the first letter
282-
createCredentialsAwsPo.errorBanner().should('contain.text', errorMessage);
289+
cloudCredentialsPage.resourceDetail().createEditView().errorBanner().should('contain.text', errorMessage);
283290
});
284291

285292
after(() => {

0 commit comments

Comments
 (0)