UNPKG

@sap_oss/wdio-qmate-service

Version:

[![REUSE status](https://api.reuse.software/badge/github.com/SAP/wdio-qmate-service)](https://api.reuse.software/info/github.com/SAP/wdio-qmate-service)[![Node.js CI](https://github.com/SAP/wdio-qmate-service/actions/workflows/node.js.yml/badge.svg)](http

135 lines (112 loc) 4.55 kB
"use strict"; const { BASE_URL } = require("../../../../src/reuse/constants.ts"); const { handleCookiesConsent } = require("../../../helper/utils.js"); const smartTableSelector = { "elementProperties": { "viewName": "sap.suite.ui.generic.template.ListReport.view.ListReport", "metadata": "sap.ui.comp.smarttable.SmartTable", "id": "*listReport-1" } }; const goButtonSelector = { "elementProperties": { "viewName": "sap.suite.ui.generic.template.ListReport.view.ListReport", "metadata": "sap.m.Button", "id": "*listReportFilter-btnGo" } }; const mTableSelector = { "elementProperties": { "metadata": "sap.m.Table", "id": "*--productsTable" } }; describe("table - openItemByValues - smartTable - single value as a String", function () { it("Preparation", async function () { const url = `${BASE_URL}/test-resources/sap/suite/ui/generic/template/demokit/demokit.html?responderOn=true&demoApp=sttasalesordertt#`; await common.navigation.navigateToUrl(url); await ui5.userInteraction.click(goButtonSelector); }); it("Execution", async function () { await ui5.table.openItemByValues(smartTableSelector, "500000001"); }); it("Verification", async function () { const pageTitle = "500000001"; const selector = { "elementProperties": { "viewName": "sap.suite.ui.generic.template.ObjectPage.view.Details", "metadata": "sap.uxap.ObjectPageHeader", "id": "*objectPageHeader" } }; const objectTitleValue = await ui5.element.getPropertyValue(selector, "objectTitle"); expect(objectTitleValue).toEqual(pageTitle); }); }); describe("table - openItemByValues - smartTable - single value as an Array - 3 matches - open first one", function () { it("Preparation", async function () { const url = `${BASE_URL}/test-resources/sap/suite/ui/generic/template/demokit/demokit.html?responderOn=true&demoApp=sttasalesordertt#`; await common.navigation.navigateToUrl(url); await util.browser.refresh(); await ui5.userInteraction.click(goButtonSelector); }); it("Execution - 3 matches - should open first one", async function () { await ui5.table.openItemByValues(smartTableSelector, ["HT-1003"]); }); it("Verification", async function () { const pageTitle = "500000001"; const selector = { "elementProperties": { "viewName": "sap.suite.ui.generic.template.ObjectPage.view.Details", "metadata": "sap.uxap.ObjectPageHeader", "id": "*objectPageHeader" } }; const objectTitleValue = await ui5.element.getPropertyValue(selector, "objectTitle"); expect(objectTitleValue).toEqual(pageTitle); }); }); describe("table - openItemByValues - smartTable - multiple values as an Array - one match", function () { it("Preparation", async function () { const url = `${BASE_URL}/test-resources/sap/suite/ui/generic/template/demokit/demokit.html?responderOn=true&demoApp=sttasalesordertt#`; await common.navigation.navigateToUrl(url); await util.browser.refresh(); await ui5.userInteraction.click(goButtonSelector); }); it("Execution - 3 matches - should open first one", async function () { await ui5.table.openItemByValues(smartTableSelector, ["HT-1003", "100000008"]); }); it("Verification", async function () { const pageTitle = "500000007"; const selector = { "elementProperties": { "viewName": "sap.suite.ui.generic.template.ObjectPage.view.Details", "metadata": "sap.uxap.ObjectPageHeader", "id": "*objectPageHeader" } }; const objectTitleValue = await ui5.element.getPropertyValue(selector, "objectTitle"); expect(objectTitleValue).toEqual(pageTitle); }); }); describe("table - openItemByValues - mTable - when no arrow icon", function () { it("Preparation", async function () { const url = `${BASE_URL}/#/entity/sap.m.Table/sample/sap.m.sample.TableNavigated`; await common.navigation.navigateToUrl(url); await handleCookiesConsent(); await util.browser.switchToIframe("[id='sampleFrame']"); }); it("Execution", async function () { await ui5.table.openItemByValues(mTableSelector, "Notebook Basic 15"); }); it("Verification", async function () { const selector = { "elementProperties": { "metadata": "sap.m.ColumnListItem", "id": "*productsTable-0" } }; const navigationState = await ui5.element.getPropertyValue(selector, "navigated"); expect(navigationState).toEqual(true); }); });