Fixed broken banner text in Global settings (#13597)

This commit is contained in:
Evgeniya Vashkevich 2025-03-06 08:46:37 -08:00 committed by GitHub
parent 4ca0b19b32
commit 38ec2723f4
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
3 changed files with 50 additions and 34 deletions

View File

@ -1,6 +1,7 @@
import RootClusterPage from '@/cypress/e2e/po/pages/root-cluster-page';
import SettingsEditPo from '@/cypress/e2e/po/edit/settings.po';
import BurgerMenuPo from '@/cypress/e2e/po/side-bars/burger-side-menu.po';
import BannersPo from '@/cypress/e2e/po/components/banners.po';
export class SettingsPagePo extends RootClusterPage {
private static createPath(clusterId: string) {
return `/c/${ clusterId }/settings/management.cattle.io.setting`;
@ -18,6 +19,10 @@ export class SettingsPagePo extends RootClusterPage {
BurgerMenuPo.burgerMenuNavToMenubyLabel('Global Settings');
}
settingBanner() {
return new BannersPo('[data-testid="global-settings-banner"]', this.self());
}
/**
* Get advanced settings row per setting name
* @param label

View File

@ -14,6 +14,7 @@ const accountPage = new AccountPagePo();
const createKeyPage = new CreateKeyPagePo();
const clusterList = new ClusterManagerListPagePo();
const userMenu = new UserMenuPo();
const BANNER_TEXT = "Typical users will not need to change these. Proceed with caution, incorrect values can break your Explorer installation. Settings which have been customized from default settings are tagged 'Modified'.";
describe('Settings', { testIsolation: 'off' }, () => {
before(() => {
@ -27,44 +28,51 @@ describe('Settings', { testIsolation: 'off' }, () => {
cy.title().should('eq', 'Rancher - Global Settings - Settings');
});
// Need to add a scroller since the location of this setting changed
// it('can update engine-iso-url', { tags: ['@globalSettings', '@adminUser'] }, () => {
// // Update setting
// SettingsPagePo.navTo();
// settingsPage.editSettingsByLabel('engine-iso-url');
it('has the correct banner text', { tags: ['@globalSettings', '@adminUser'] }, () => {
SettingsPagePo.navTo();
// const settingsEdit = settingsPage.editSettings('local', 'engine-iso-url');
settingsPage.settingBanner().banner().contains(BANNER_TEXT);
});
// settingsEdit.waitForPage();
// settingsEdit.title().contains('Setting: engine-iso-url').should('be.visible');
// settingsEdit.settingsInput().set(settings['engine-iso-url'].new);
// settingsEdit.saveAndWait('engine-iso-url').then(({ request, response }) => {
// expect(response?.statusCode).to.eq(200);
// expect(request.body).to.have.property('value', settings['engine-iso-url'].new);
// expect(response?.body).to.have.property('value', settings['engine-iso-url'].new);
// });
// settingsPage.waitForPage();
// settingsPage.settingsValue('engine-iso-url').contains(settings['engine-iso-url'].new);
// settingsPage.modifiedLabel('engine-iso-url').should('be.visible'); // modified label should display after update
it('can update engine-iso-url', { tags: ['@globalSettings', '@adminUser'] }, () => {
// Update setting
SettingsPagePo.navTo();
settingsPage.editSettingsByLabel('engine-iso-url');
// // Reset
// SettingsPagePo.navTo();
// settingsPage.waitForPage();
// settingsPage.editSettingsByLabel('engine-iso-url');
const settingsEdit = settingsPage.editSettings('local', 'engine-iso-url');
// settingsEdit.waitForPage();
// settingsEdit.title().contains('Setting: engine-iso-url').should('be.visible');
// settingsEdit.useDefaultButton().click();
// settingsEdit.saveAndWait('engine-iso-url').then(({ request, response }) => {
// expect(response?.statusCode).to.eq(200);
// expect(request.body).to.have.property('value', settings['engine-iso-url'].original);
// expect(response?.body).to.have.property('value', settings['engine-iso-url'].original);
// });
settingsEdit.waitForPage();
settingsEdit.title().contains('Setting: engine-iso-url').should('be.visible');
settingsEdit.settingsInput().set(settings['engine-iso-url'].new);
settingsEdit.saveAndWait('engine-iso-url').then(({ request, response }) => {
expect(response?.statusCode).to.eq(200);
expect(request.body).to.have.property('value', settings['engine-iso-url'].new);
expect(response?.body).to.have.property('value', settings['engine-iso-url'].new);
});
settingsPage.waitForPage();
settingsPage.settingsValue('engine-iso-url').contains(settings['engine-iso-url'].new);
// Scroll to the setting
cy.get('.main-layout').scrollTo('bottom');
settingsPage.modifiedLabel('engine-iso-url').should('be.visible'); // modified label should display after update
// settingsPage.waitForPage();
// settingsPage.settingsValue('engine-iso-url').contains(settings['engine-iso-url'].original);
// settingsPage.modifiedLabel('engine-iso-url').should('not.exist'); // modified label should not display after reset
// });
// Reset
SettingsPagePo.navTo();
settingsPage.waitForPage();
settingsPage.editSettingsByLabel('engine-iso-url');
settingsEdit.waitForPage();
settingsEdit.title().contains('Setting: engine-iso-url').should('be.visible');
settingsEdit.useDefaultButton().click();
settingsEdit.saveAndWait('engine-iso-url').then(({ request, response }) => {
expect(response?.statusCode).to.eq(200);
expect(request.body).to.have.property('value', settings['engine-iso-url'].original);
expect(response?.body).to.have.property('value', settings['engine-iso-url'].original);
});
settingsPage.waitForPage();
settingsPage.settingsValue('engine-iso-url').contains(settings['engine-iso-url'].original);
settingsPage.modifiedLabel('engine-iso-url').should('not.exist'); // modified label should not display after reset
});
it('can update password-min-length', { tags: ['@globalSettings', '@adminUser'] }, () => {
// Update setting

View File

@ -5,6 +5,7 @@ import { Banner } from '@components/Banner';
import Loading from '@shell/components/Loading';
import { VIEW_IN_API } from '@shell/store/prefs';
import Setting from '@shell/components/Setting';
import { mapGetters } from 'vuex';
export default {
components: {
@ -69,7 +70,8 @@ export default {
data() {
return { settings: null, provisioningSettings: null };
}
},
computed: { ...mapGetters({ t: 'i18n/t' }) }
};
</script>
@ -79,6 +81,7 @@ export default {
<Banner
color="warning"
class="settings-banner"
data-testid="global-settings-banner"
>
<div>
{{ t('advancedSettings.subtext') }}