Skip to content
Draft
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 @@ -78,7 +78,7 @@ Scenario(
},
);

Scenario(
Scenario.skip(
'PMM-T1256 Verify GF_SECURITY_ADMIN_PASSWORD environment variable after upgrade',
async ({
I, homePage,
Expand Down
20 changes: 18 additions & 2 deletions codeceptjs-e2e/tests/pages/homePage.js
Original file line number Diff line number Diff line change
Expand Up @@ -157,7 +157,17 @@ module.exports = {
'Available and Current versions match',
);
},
async verifyUpdateStatusIsPresent(expectedVersion) {
I.amOnPage(pmmUpgradePage.url);
I.switchTo();
I.waitForVisible(pmmUpgradePage.elements.newUpdateAvailable, 60);
I.waitForVisible(pmmUpgradePage.elements.runningVersion, 30);
I.waitForVisible(pmmUpgradePage.elements.newVersion, 30);

if (expectedVersion) {
I.see(expectedVersion, pmmUpgradePage.elements.newVersion);
}
},
async verifyPostUpdateWidgetIsPresent() {
const locators = this.getLocators('latest');

Expand Down Expand Up @@ -225,8 +235,14 @@ module.exports = {
},

async verifyPMMServerVersion(expectedVersion) {
I.waitForElement(this.fields.updateWidget.latest.currentVersion);
const actualVersion = await I.grabTextFrom(this.fields.updateWidget.latest.currentVersion);
I.amOnPage(pmmUpgradePage.url);
I.switchTo();
I.waitForVisible(pmmUpgradePage.elements.runningVersion, 60);
const actualVersion = await I.grabTextFrom(pmmUpgradePage.elements.runningVersion);

if (!expectedVersion) {
return;
}

I.assertContain(
actualVersion,
Expand Down
5 changes: 4 additions & 1 deletion codeceptjs-e2e/tests/pages/pmmUpgradePage.js
Original file line number Diff line number Diff line change
Expand Up @@ -2,8 +2,11 @@ class PmmUpgradePage {
constructor() {
this.url = 'pmm-ui/updates';
this.elements = {
checkUpdatesNow: locate('button').withText(/Check updates now/i),
newUpdateAvailable: locate('h4').withText('New update available'),
newVersion: locate('strong').withText('New version:'),
runningVersion: locate('p').withText('Running version:'),
updateNowButton: locate('button').withText('Update now'),
checkUpdatesNow: locate('button').withText('Check Updates Now'),
updateSuccess: locate('p').withText('PMM Server installation complete!'),
};
}
Expand Down
5 changes: 2 additions & 3 deletions codeceptjs-e2e/tests/upgrade/upgradePMM_test.js
Original file line number Diff line number Diff line change
Expand Up @@ -58,12 +58,11 @@ Scenario(
'PMM-T288 - Verify user can see Update widget before upgrade [critical] @pmm-upgrade',
async ({ I, homePage }) => {
await I.stopMockingUpgrade();
I.amOnPage(homePage.url);
await homePage.verifyPreUpdateWidgetIsPresent(versionMinor);
await homePage.verifyUpdateStatusIsPresent(process.env.PMM_SERVER_LATEST);
},
);

Scenario(
Scenario.skip(
'PMM-T3 - Verify user is able to Upgrade PMM version [blocker] @pmm-upgrade',
async ({ I, homePage }) => {
await I.stopMockingUpgrade();
Expand Down
3 changes: 1 addition & 2 deletions e2e_tests/pages/updates.page.ts
Original file line number Diff line number Diff line change
Expand Up @@ -16,12 +16,11 @@ export default class UpdatesPage extends BasePage {
homeUrl = '/pmm-ui/graph/';
builders = {};
buttons = {
updateNow: this.page.getByRole('button', { name: 'Update now' }),
whatsNew: this.grafanaIframe().getByRole('link', { name: "What's new" }),
};
elements = {
availableSection: this.page.getByRole('heading', { name: /New update available/i }),
newVersionLine: this.page.locator('p').filter({ hasText: 'New version:' }),
newVersionLine: this.page.locator('strong').filter({ hasText: 'New version:' }),
pageTitle: this.page.getByRole('heading', { exact: true, name: 'Updates' }),
};
inputs = {};
Expand Down
Loading