From 2b85c2aedb43ec7b9519a4bd32070217b1970d88 Mon Sep 17 00:00:00 2001 From: Vito Albano Date: Thu, 14 Mar 2024 02:47:21 +0000 Subject: [PATCH] [affected:*][ci:force] Fixing e2e - the long painful journey --- demo-shell/src/app.config.json | 2 +- .../metadata/metadata-properties.e2e.ts | 4 ++-- e2e/core/pages/metadata-view.page.ts | 4 ++-- .../pages/process-service-tab-bar.page.ts | 10 +++++----- e2e/search/components/search-slider.e2e.ts | 2 +- .../search-slider/search-slider.component.html | 15 ++++++--------- .../search-slider/search-slider.component.spec.ts | 15 ++++----------- .../search-slider/search-slider.component.ts | 4 +--- .../pages/search/search-slider.page.ts | 3 ++- .../core/pages/material/material-locators.ts | 4 ++-- .../protractor/core/pages/material/toggle.page.ts | 2 +- 11 files changed, 27 insertions(+), 38 deletions(-) diff --git a/demo-shell/src/app.config.json b/demo-shell/src/app.config.json index 991bc42a5f..ddd98f00a6 100644 --- a/demo-shell/src/app.config.json +++ b/demo-shell/src/app.config.json @@ -622,7 +622,7 @@ "unit": "Byte", "field": "cm:content.size", "min": 0, - "max": 18, + "max": 4000, "step": 1, "thumbLabel": true } diff --git a/e2e/content-services/metadata/metadata-properties.e2e.ts b/e2e/content-services/metadata/metadata-properties.e2e.ts index aadf151f75..1296018aea 100644 --- a/e2e/content-services/metadata/metadata-properties.e2e.ts +++ b/e2e/content-services/metadata/metadata-properties.e2e.ts @@ -136,13 +136,13 @@ describe('CardView Component - properties', () => { await viewerPage.checkInfoSideBarIsDisplayed(); await metadataViewPage.clickOnPropertiesTab(); - await CheckboxPage.uncheck(metadataViewPage.defaultPropertiesSwitch); + await togglePage.disableToggle(metadataViewPage.defaultPropertiesSwitch); await metadataViewPage.checkMetadataGroupIsNotPresent('properties'); await metadataViewPage.checkMetadataGroupIsPresent('Versionable'); await metadataViewPage.checkMetadataGroupIsExpand('Versionable'); - await CheckboxPage.check(metadataViewPage.defaultPropertiesSwitch); + await togglePage.enableToggle(metadataViewPage.defaultPropertiesSwitch); await metadataViewPage.checkMetadataGroupIsPresent('properties'); await metadataViewPage.checkMetadataGroupIsExpand('properties'); diff --git a/e2e/core/pages/metadata-view.page.ts b/e2e/core/pages/metadata-view.page.ts index db8ff7ece5..563e3056b3 100644 --- a/e2e/core/pages/metadata-view.page.ts +++ b/e2e/core/pages/metadata-view.page.ts @@ -38,8 +38,8 @@ export class MetadataViewPage { multiSwitch = $(`#adf-metadata-multi`); defaultPropertiesSwitch = $('#adf-metadata-default-properties'); closeButton = element(by.cssContainingText(`button${materialLocators.Button.class} span`, 'Close')); - displayAspect = $(`input[data-placeholder='Display Aspect']`); - applyAspect = element(by.cssContainingText(`button span${materialLocators.Button.wrapper}`, 'Apply Aspect')); + displayAspect = $(`input[placeholder='Display Aspect']`); + applyAspect = element(by.cssContainingText(`button span${materialLocators.Button.label}`, 'Apply Aspect')); saveMetadataButton = $(`[data-automation-id='save-metadata']`); saveGeneralMetadataButton = $(`[data-automation-id='save-general-info-metadata']`); resetMetadataButton = $(`[data-automation-id='reset-metadata']`); diff --git a/e2e/process-services/pages/process-service-tab-bar.page.ts b/e2e/process-services/pages/process-service-tab-bar.page.ts index 155ab9587c..1546356375 100644 --- a/e2e/process-services/pages/process-service-tab-bar.page.ts +++ b/e2e/process-services/pages/process-service-tab-bar.page.ts @@ -20,19 +20,19 @@ import { element, by, browser } from 'protractor'; export class ProcessServiceTabBarPage { - tasksButton = element.all(by.cssContainingText(`div[class*="${materialLocators.Tab.label.root}"] ${materialLocators.Tab.labels.class} div`, 'Tasks')).first(); - processButton = element.all(by.cssContainingText(`div[class*="${materialLocators.Tab.label.root}"] ${materialLocators.Tab.labels.class} div`, 'Process')).first(); - reportsButton = element.all(by.cssContainingText(`div[class*="${materialLocators.Tab.label.root}"] ${materialLocators.Tab.labels.class} div`, 'Reports')).first(); + tasksButton = element.all(by.cssContainingText(`div[class*="${materialLocators.Tab.label.root}"] ${materialLocators.Tab.labels.class}`, 'Tasks')).first(); + processButton = element.all(by.cssContainingText(`div[class*="${materialLocators.Tab.label.root}"] ${materialLocators.Tab.labels.class}`, 'Process')).first(); + reportsButton = element.all(by.cssContainingText(`div[class*="${materialLocators.Tab.label.root}"] ${materialLocators.Tab.labels.class}`, 'Reports')).first(); reportsButtonSelected = element.all(by.cssContainingText(`div[class*="${materialLocators.Tab.label.root}"] ${materialLocators.Tab.labels.class} div[aria-selected="true"]`, 'Reports')).first(); async clickTasksButton(): Promise { await BrowserActions.click(this.tasksButton); - await browser.sleep(500); + await browser.sleep(100); } async clickProcessButton(): Promise { await BrowserActions.click(this.processButton); - await browser.sleep(500); + await browser.sleep(100); } async clickReportsButton(): Promise { diff --git a/e2e/search/components/search-slider.e2e.ts b/e2e/search/components/search-slider.e2e.ts index d47f0172f2..1ddc8c2da9 100644 --- a/e2e/search/components/search-slider.e2e.ts +++ b/e2e/search/components/search-slider.e2e.ts @@ -99,7 +99,7 @@ describe('Search Slider Filter', () => { }); it('[C276972] Should be keep value when Search Size Slider is collapsed', async () => { - const size = 5; + const size = 10; await searchFilters.checkSizeSliderFilterIsDisplayed(); await searchFilters.clickSizeSliderFilterHeader(); diff --git a/lib/content-services/src/lib/search/components/search-slider/search-slider.component.html b/lib/content-services/src/lib/search/components/search-slider/search-slider.component.html index 4a04aa371a..e38dd0c604 100644 --- a/lib/content-services/src/lib/search/components/search-slider/search-slider.component.html +++ b/lib/content-services/src/lib/search/components/search-slider/search-slider.component.html @@ -1,14 +1,11 @@ - + data-automation-id="slider-range" + [max]="max" + [min]="min" + [step]="step" + [discrete]="thumbLabel"> +
diff --git a/lib/content-services/src/lib/search/components/search-slider/search-slider.component.spec.ts b/lib/content-services/src/lib/search/components/search-slider/search-slider.component.spec.ts index 483fc56d63..34914ba1a4 100644 --- a/lib/content-services/src/lib/search/components/search-slider/search-slider.component.spec.ts +++ b/lib/content-services/src/lib/search/components/search-slider/search-slider.component.spec.ts @@ -15,7 +15,6 @@ * limitations under the License. */ -import { MatSliderChange } from '@angular/material/slider'; import { SearchSliderComponent } from './search-slider.component'; import { ContentTestingModule } from '../../../testing/content.testing.module'; import { ComponentFixture, TestBed } from '@angular/core/testing'; @@ -49,14 +48,6 @@ describe('SearchSliderComponent', () => { expect(component.thumbLabel).toEqual(settings.thumbLabel); }); - it('should update value on slider change', () => { - component.onChangedHandler({ value: 10 } as MatSliderChange); - expect(component.value).toEqual(10); - - component.onChangedHandler({ value: 20 } as MatSliderChange); - expect(component.value).toEqual(20); - }); - it('should update its query part on slider change', () => { const context: any = { queryFragments: {}, @@ -68,13 +59,15 @@ describe('SearchSliderComponent', () => { component.context = context; component.id = 'contentSize'; component.settings = { field: 'cm:content.size' }; + component.value = 10; fixture.detectChanges(); - component.onChangedHandler({ value: 10 } as MatSliderChange); + component.onChangedHandler(); expect(context.queryFragments[component.id]).toEqual('cm:content.size:[0 TO 10]'); expect(context.update).toHaveBeenCalled(); - component.onChangedHandler({ value: 20 } as MatSliderChange); + component.value = 20; + component.onChangedHandler(); expect(context.queryFragments[component.id]).toEqual('cm:content.size:[0 TO 20]'); }); diff --git a/lib/content-services/src/lib/search/components/search-slider/search-slider.component.ts b/lib/content-services/src/lib/search/components/search-slider/search-slider.component.ts index 26085e05a8..174b6850ca 100644 --- a/lib/content-services/src/lib/search/components/search-slider/search-slider.component.ts +++ b/lib/content-services/src/lib/search/components/search-slider/search-slider.component.ts @@ -19,7 +19,6 @@ import { Component, Input, OnInit, ViewEncapsulation } from '@angular/core'; import { SearchWidget } from '../../models/search-widget.interface'; import { SearchWidgetSettings } from '../../models/search-widget-settings.interface'; import { SearchQueryBuilderService } from '../../services/search-query-builder.service'; -import { MatSliderChange } from '@angular/material/slider'; import { Subject } from 'rxjs'; @Component({ @@ -82,8 +81,7 @@ export class SearchSliderComponent implements SearchWidget, OnInit { this.updateQuery(null); } - onChangedHandler(event: MatSliderChange) { - this.value = event.value; + onChangedHandler() { if (this.enableChangeUpdate) { this.updateQuery(this.value); } diff --git a/lib/testing/src/lib/protractor/content-services/pages/search/search-slider.page.ts b/lib/testing/src/lib/protractor/content-services/pages/search/search-slider.page.ts index dc7669ccb1..204d377758 100644 --- a/lib/testing/src/lib/protractor/content-services/pages/search/search-slider.page.ts +++ b/lib/testing/src/lib/protractor/content-services/pages/search/search-slider.page.ts @@ -44,8 +44,9 @@ export class SearchSliderPage { async setValue(value: number): Promise { const elem = this.filter.$(this.slider).$('.mdc-slider__thumb-knob'); + await BrowserVisibility.waitUntilElementIsVisible(elem); await browser.actions().mouseMove(elem, { x: 0, y: 0 }).perform(); - await browser.actions().mouseDown().mouseMove({x: value * 25, y: 0}).mouseUp().perform(); + await browser.actions().mouseDown().mouseMove({x: value * 7, y: 0}).mouseUp().perform(); } async checkSliderIsDisplayed(): Promise { diff --git a/lib/testing/src/lib/protractor/core/pages/material/material-locators.ts b/lib/testing/src/lib/protractor/core/pages/material/material-locators.ts index c19c5f20f9..7320d9d9eb 100644 --- a/lib/testing/src/lib/protractor/core/pages/material/material-locators.ts +++ b/lib/testing/src/lib/protractor/core/pages/material/material-locators.ts @@ -31,7 +31,7 @@ export const materialLocators = { Button: { class: '.mat-mdc-button', disabled: 'mat-button-disabled', - wrapper: '.mat-mdc-button-wrapper' + label: '.mdc-button__label' }, Calendar: { root: 'mat-calendar', @@ -394,7 +394,7 @@ export const materialLocators = { }, label: { class: '.mdc-tab', - root: 'mat-tab-label', + root: 'mat-mdc-tab-labels', active: { class: '.mdc-tab--active', root: 'mat-tab-label-active' diff --git a/lib/testing/src/lib/protractor/core/pages/material/toggle.page.ts b/lib/testing/src/lib/protractor/core/pages/material/toggle.page.ts index 82bb70169b..24b7f381f2 100644 --- a/lib/testing/src/lib/protractor/core/pages/material/toggle.page.ts +++ b/lib/testing/src/lib/protractor/core/pages/material/toggle.page.ts @@ -24,7 +24,7 @@ export class TogglePage { async enableToggle(toggle: ElementFinder): Promise { const check = await BrowserActions.getAttribute(toggle, 'class'); if (check.indexOf(materialLocators.Checked.root) < 0) { - const elem = toggle.$$('input').first(); + const elem = toggle.$$('button').first(); await BrowserActions.clickScript(elem); } }