From 93e896ee20f1d51daf0f3e55cd2bff1d12368b35 Mon Sep 17 00:00:00 2001 From: ns-bot Date: Wed, 22 May 2019 17:10:48 +0300 Subject: [PATCH] chore: update 'autocomplete' demo for nativescript-ui-autocomplete v4.0.0 --- autocomplete/app/package.json | 6 +- .../e2e/config/appium.capabilities.json | 205 --------- autocomplete/e2e/config/mocha.opts | 5 - autocomplete/e2e/helper.ts | 46 -- .../customization-suggestion.png | Bin 3659 -> 0 bytes .../customization-tokens.png | Bin 8335 -> 0 bytes .../iPhone 8/customization-suggestion.png | Bin 3237 -> 0 bytes .../iPhone 8/customization-tokens.png | Bin 11727 -> 0 bytes .../iPhone X/customization-suggestion.png | Bin 5445 -> 0 bytes .../iPhone X/customization-tokens.png | Bin 17078 -> 0 bytes autocomplete/e2e/setup.ts | 9 - autocomplete/e2e/tests.e2e.ts | 416 ------------------ autocomplete/e2e/tsconfig.json | 18 - 13 files changed, 2 insertions(+), 703 deletions(-) delete mode 100644 autocomplete/e2e/config/appium.capabilities.json delete mode 100644 autocomplete/e2e/config/mocha.opts delete mode 100644 autocomplete/e2e/helper.ts delete mode 100644 autocomplete/e2e/resources/images/autocomplete-ng-android/Android GoogleAPI Emulator/customization-suggestion.png delete mode 100644 autocomplete/e2e/resources/images/autocomplete-ng-android/Android GoogleAPI Emulator/customization-tokens.png delete mode 100644 autocomplete/e2e/resources/images/autocomplete-ng-ios/iPhone 8/customization-suggestion.png delete mode 100644 autocomplete/e2e/resources/images/autocomplete-ng-ios/iPhone 8/customization-tokens.png delete mode 100644 autocomplete/e2e/resources/images/autocomplete-ng-ios/iPhone X/customization-suggestion.png delete mode 100644 autocomplete/e2e/resources/images/autocomplete-ng-ios/iPhone X/customization-tokens.png delete mode 100644 autocomplete/e2e/setup.ts delete mode 100644 autocomplete/e2e/tests.e2e.ts delete mode 100644 autocomplete/e2e/tsconfig.json diff --git a/autocomplete/app/package.json b/autocomplete/app/package.json index b64ed1cf..65ef1abf 100644 --- a/autocomplete/app/package.json +++ b/autocomplete/app/package.json @@ -2,11 +2,9 @@ "android": { "v8Flags": "--expose_gc", "markingMode": "none", - "requireModules": [ - "nativescript-ui-autocomplete" - ] + "requireModules": ["nativescript-ui-autocomplete"] }, "main": "main.js", "name": "tns-template-hello-world-ng", "version": "3.4.3" -} +} \ No newline at end of file diff --git a/autocomplete/e2e/config/appium.capabilities.json b/autocomplete/e2e/config/appium.capabilities.json deleted file mode 100644 index 8025cfb2..00000000 --- a/autocomplete/e2e/config/appium.capabilities.json +++ /dev/null @@ -1,205 +0,0 @@ -{ - "android19": { - "platformName": "Android", - "platformVersion": "4.4", - "deviceName": "Emulator-Api19-Default", - "avd": "Emulator-Api19-Default", - "lt": 60000, - "appActivity": "com.tns.NativeScriptActivity", - "newCommandTimeout": 720, - "noReset": true, - "fullReset": false, - "app": "" - }, - "android21": { - "platformName": "Android", - "platformVersion": "5.0", - "deviceName": "Emulator-Api21-Default", - "avd": "Emulator-Api21-Default", - "lt": 60000, - "appActivity": "com.tns.NativeScriptActivity", - "newCommandTimeout": 720, - "noReset": true, - "fullReset": false, - "app": "" - }, - "android23.local": { - "platformName": "Android", - "platformVersion": "6.0", - "deviceName": "Emulator_Api23_Default", - "avd": "Emulator_Api23_Default", - "noReset": true - }, - "android23": { - "platformName": "Android", - "platformVersion": "6.0", - "deviceName": "Emulator-Api23-Google", - "appium-version": "1.9.1", - "noReset": true, - "density": 3.2, - "offsetPixels": 51 - }, - "android24": { - "platformName": "Android", - "platformVersion": "7.0", - "deviceName": "Emulator-Api24-Google", - "lt": 60000, - "newCommandTimeout": 720, - "appiumVersion": "1.9.1", - "noReset": true, - "fullReset": false, - "app": "", - "density": 3.2, - "offsetPixels": 51, - "automationName": "Appium" - }, - "android24.sauce": { - "platformName": "Android", - "platformVersion": "7.0", - "deviceName": "Android GoogleAPI Emulator", - "lt": 60000, - "newCommandTimeout": 720, - "appiumVersion": "1.8.1", - "noReset": true, - "fullReset": false, - "app": "sauce-storage:autocomplete-ng-android-release.apk", - "density": 3.2, - "offsetPixels": 51, - "automationName": "Appium" - - }, - "android25": { - "platformName": "Android", - "platformVersion": "7.1", - "deviceName": "Emulator-Api25-Google", - "avd": "Emulator-Api25-Google", - "lt": 60000, - "appActivity": "com.tns.NativeScriptActivity", - "newCommandTimeout": 720, - "noReset": true, - "fullReset": false, - "app": "" - }, - "android26": { - "platformName": "Android", - "platformVersion": "8.0", - "deviceName": "Emulator-Api26-Google", - "avd": "Emulator-Api26-Google", - "noReset": true, - "fullReset": false, - "app": "" - }, - "sim.iPhone7.iOS100": { - "platformName": "iOS", - "platformVersion": "10.0", - "deviceName": "iPhone 7 100", - "noReset": true, - "fullReset": false, - "app": "" - }, - "sim.iPhone8.iOS110": { - "platformName": "iOS", - "platformVersion": "11.0", - "deviceName": "iPhone 8 110", - "appiumVersion": "1.8.1", - "noReset": true, - "fullReset": false, - "app": "" - }, - "sim.iPhoneX.ios11": { - "platformName": "iOS", - "platformVersion": "11.2", - "deviceName": "iPhone X", - "noReset": true, - "fullReset": false, - "app": "sauce-storage:autocomplete-ng-ios.zip", - "density": 3, - "offsetPixels": 87, - "automationName": "Appium" - }, - "sim.iPhoneX.ios12": { - "platformName": "iOS", - "platformVersion": "12.0", - "deviceName": "iPhone X", - "noReset": true, - "fullReset": false, - "app": "", - "density": 3, - "offsetPixels": 87, - "automationName": "Appium" - }, - "sim.iPhoneX.iOS110": { - "platformName": "iOS", - "platformVersion": "11.0", - "deviceName": "iPhone X", - "appiumVersion": "1.8.1", - "noReset": true, - "fullReset": false, - "app": "" - }, - "sim.iPhone8.iOS11.2": { - "platformName": "iOS", - "platformVersion": "11.2", - "deviceName": "iPhone 8", - "appiumVersion": "1.8.1", - "noReset": true, - "fullReset": false, - "app": "" - }, - "sim.iPhoneX.ios11.aws": { - "platformName": "iOS", - "platformVersion": "11.2", - "deviceName": "iPhone X", - "appium-version": "1.9.1", - "density": 3, - "offsetPixels": 87, - "noReset": true, - "fullReset": false, - "app": "https://s3.amazonaws.com/pro-ui-apps/autocomplete-ng-ios.zip", - "idleTimeout": 120, - "automationName": "Appium" - }, - "sim.iPhoneX.ios12.aws": { - "platformName": "iOS", - "platformVersion": "12.0", - "deviceName": "iPhone X", - "appium-version": "1.9.1", - "density": 3, - "offsetPixels": 87, - "noReset": true, - "fullReset": false, - "app": "https://s3.amazonaws.com/pro-ui-apps/autocomplete-ng-ios.zip", - "idleTimeout": 120, - "automationName": "Appium" - }, - "android24.aws": { - "platformName": "Android", - "platformVersion": "7.0", - "deviceName": "Android GoogleAPI Emulator", - "lt": 60000, - "newCommandTimeout": 720, - "appium-version": "1.9.1", - "density": 3.2, - "offsetPixels": 51, - "noReset": true, - "fullReset": false, - "app": "https://s3.amazonaws.com/pro-ui-apps/autocomplete-ng-android-release.apk", - "idleTimeout": 120, - "automationName": "Appium" - }, - "android23.aws": { - "platformName": "Android", - "platformVersion": "6.0", - "deviceName": "Android GoogleAPI Emulator", - "lt": 60000, - "newCommandTimeout": 720, - "appium-version": "1.9.1", - "density": 3.2, - "offsetPixels": 51, - "noReset": true, - "fullReset": false, - "app": "https://s3.amazonaws.com/pro-ui-apps/autocomplete-ng-android-release.apk", - "idleTimeout": 120, - "automationName": "Appium" - } -} \ No newline at end of file diff --git a/autocomplete/e2e/config/mocha.opts b/autocomplete/e2e/config/mocha.opts deleted file mode 100644 index d7d26a6c..00000000 --- a/autocomplete/e2e/config/mocha.opts +++ /dev/null @@ -1,5 +0,0 @@ ---timeout 800000 ---recursive e2e ---reporter mocha-multi ---reporter-options mochawesome=-,mocha-junit-reporter=test-results.xml ---exit \ No newline at end of file diff --git a/autocomplete/e2e/helper.ts b/autocomplete/e2e/helper.ts deleted file mode 100644 index 13ab2f04..00000000 --- a/autocomplete/e2e/helper.ts +++ /dev/null @@ -1,46 +0,0 @@ -import { AppiumDriver, SearchOptions, UIElement, Direction } from "nativescript-dev-appium"; -import { runType } from "nativescript-dev-appium/lib/parser"; - -const isAndroid: boolean = runType.includes("android"); - -export async function navigateBackToHome(driver: AppiumDriver, view?: string) { - let location = view !== undefined ? view : "AutoComplete Angular"; - let homeTitle = await driver.findElementByTextIfExists(location, SearchOptions.exact); - while (homeTitle === undefined) { - await driver.navBack(); - await driver.wait(1000); - homeTitle = await driver.findElementByTextIfExists(location, SearchOptions.exact); - } -} - -export async function navigateBackToView(driver: AppiumDriver, view: string) { - await navigateBackToHome(driver, view); -} - -export async function clickBelowElement(element: UIElement, driver: AppiumDriver, yOffset?: number, xOffset?: number) { - const belowDistance = yOffset ? yOffset : 20; - const xDistance = xOffset ? xOffset : 20; - const textfieldRect = await element.getRectangle(); - await driver.clickPoint(textfieldRect.x + xDistance, textfieldRect.height + textfieldRect.y + belowDistance) -} - -export async function inputRecord(autocompleteField: UIElement, record: string, driver) { - await autocompleteField.sendKeys(record); - await clickBelowElement(autocompleteField, driver); -} - -export async function scrollToElement(driver: AppiumDriver, element: string, direction: Direction = Direction.down) { - let listView; - if (isAndroid) { - listView = await driver.findElementByClassName("android.widget.FrameLayout"); - } - else { - listView = await driver.findElementByClassName("XCUIElementTypeTable"); - } - const listItem = await listView.scrollTo( - direction, - () => driver.findElementByText(element, SearchOptions.exact), - 600 - ); - return listItem; -} diff --git a/autocomplete/e2e/resources/images/autocomplete-ng-android/Android GoogleAPI Emulator/customization-suggestion.png b/autocomplete/e2e/resources/images/autocomplete-ng-android/Android GoogleAPI Emulator/customization-suggestion.png deleted file mode 100644 index 6b1dbdc5242f03101603571c58bc2837bfa05e1c..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 3659 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 diff --git a/autocomplete/e2e/resources/images/autocomplete-ng-android/Android GoogleAPI Emulator/customization-tokens.png b/autocomplete/e2e/resources/images/autocomplete-ng-android/Android GoogleAPI Emulator/customization-tokens.png deleted file mode 100644 index 89675628cef9393880bb84c5dd918d09a9d8dec1..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 8335 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 diff --git a/autocomplete/e2e/resources/images/autocomplete-ng-ios/iPhone 8/customization-suggestion.png b/autocomplete/e2e/resources/images/autocomplete-ng-ios/iPhone 8/customization-suggestion.png deleted file mode 100644 index 0426ebc72ee977195c050de72127e57dd96370d2..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 3237 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 QjoS09w(p|mnYo|&KWDqyUjP6A diff --git a/autocomplete/e2e/resources/images/autocomplete-ng-ios/iPhone X/customization-suggestion.png b/autocomplete/e2e/resources/images/autocomplete-ng-ios/iPhone X/customization-suggestion.png deleted file mode 100644 index 2969e15189a41597c2749ef6f86cb70ef601989c..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 5445 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 diff --git a/autocomplete/e2e/setup.ts b/autocomplete/e2e/setup.ts deleted file mode 100644 index 8b26e66e..00000000 --- a/autocomplete/e2e/setup.ts +++ /dev/null @@ -1,9 +0,0 @@ -import { startServer, stopServer } from "nativescript-dev-appium"; - -before("start server", async () => { - await startServer(); -}); - -after("stop server", async () => { - await stopServer(); -}); diff --git a/autocomplete/e2e/tests.e2e.ts b/autocomplete/e2e/tests.e2e.ts deleted file mode 100644 index 26c45e64..00000000 --- a/autocomplete/e2e/tests.e2e.ts +++ /dev/null @@ -1,416 +0,0 @@ -import { AppiumDriver, createDriver, SearchOptions, Locator, Direction } from "nativescript-dev-appium"; -import { isSauceLab, runType } from "nativescript-dev-appium/lib/parser"; -import { expect } from "chai"; -import { navigateBackToView, navigateBackToHome, clickBelowElement, scrollToElement } from "./helper"; -const fs = require('fs'); -const rimraf = require('rimraf'); -const addContext = require('mochawesome/addContext'); -const isSauceRun = isSauceLab; -const isAndroid: boolean = runType.includes("android"); - -describe("Autocomplete", () => { - const gettingStartedText = "Getting started"; - const completionModesText = "Completion modes"; - const displayModesText = "Display modes"; - const tokenLayoutsText = "Token Layouts"; - const suggestModeText = "Suggest Mode"; - const customizationText = "Customization"; - const eventsText = "Events"; - const asyncDataFetchText = "Async Data Fetch"; - const readOnlyText = "Read Only"; - const hintText = "Hint"; - const preselectedItemsText = "Preselected items"; - const pastePopUp = 1000; - let driver: AppiumDriver; - - before(async () => { - driver = await createDriver(); - driver.defaultWaitTime = 15000; - let dir = "mochawesome-report"; - if (!fs.existsSync(dir)) { - fs.mkdirSync(dir); - } - rimraf('mochawesome-report/*', function () { }); - }); - - after(async () => { - if (isSauceRun) { - driver.sessionId().then(function (sessionId) { - console.log("Report: https://saucelabs.com/beta/tests/" + sessionId); - }); - } - await driver.quit(); - console.log("Driver quits!"); - }); - - afterEach(async function () { - if (this.currentTest.state && this.currentTest.state === "failed") { - let png = await driver.logScreenshot(this.currentTest.title); - fs.copyFile(png, './mochawesome-report/' + this.currentTest.title + '.png', function (err) { - if (err) { - throw err; - } - console.log('Screenshot saved.'); - }); - addContext(this, './' + this.currentTest.title + '.png'); - } - }); - - describe(gettingStartedText, () => { - it("should open Getting started", async () => { - const gettingStartedButton = await driver.findElementByText(gettingStartedText); - await gettingStartedButton.click(); - await driver.wait(1000); - const gettingStartedTitle = await driver.findElementByText(gettingStartedText); - expect(gettingStartedTitle).to.exist; - - const textField = await driver.findElementByClassName(driver.locators.getElementByName("textfield")); - await textField.sendKeys("Bul"); - const suggestion = await driver.findElementByText("Bulgaria"); - await suggestion.click(); - const record = await driver.findElementByText("Bulgaria"); - expect(record).to.exist; - - const clearButton = await driver.findElementByClassName(driver.locators.getElementByName("button")); - await clearButton.click(); - const record2 = await driver.findElementByTextIfExists("Bulgaria"); - expect(record2).not.to.exist; - }); - }); - - describe(completionModesText, () => { - it("should open Contains view", async () => { - await navigateBackToHome(driver); - const completionModesButton = await driver.findElementByText(completionModesText); - await completionModesButton.click(); - await driver.wait(1000); - const completionModesTitle = await driver.findElementByText(completionModesText); - expect(completionModesTitle).to.exist; - - const containsButton = await driver.findElementByText("Contains"); - await containsButton.click(); - const textField = await driver.findElementByClassName(driver.locators.getElementByName("textfield")); - await textField.sendKeys("gar"); - const hungaryItem = await driver.findElementByText("Hungary"); - expect(hungaryItem).to.exist; - - const bulgariaItem = await driver.findElementByText("Bulgaria"); - await bulgariaItem.click(); - const bulgariaField = await driver.findElementByText("Bulgaria"); - expect(bulgariaField).to.exist; - }); - it("should open 'Starts with' view", async () => { - await navigateBackToView(driver, completionModesText); - const startsWithButton = await driver.findElementByText("Starts with"); - await startsWithButton.click(); - await driver.wait(1000); - const textField = await driver.findElementByClassName(driver.locators.getElementByName("textfield")); - await textField.sendKeys("Sl"); - const slovakiaItem = await driver.findElementByText("Slovakia"); - expect(slovakiaItem).to.exist; - - const sloveniaItem = await driver.findElementByText("Slovenia"); - await sloveniaItem.click(); - const sloveniaField = await driver.findElementByText("Slovenia"); - expect(sloveniaField).to.exist; - }); - }); - - describe(displayModesText, () => { - it("should open Tokens view", async () => { - await navigateBackToHome(driver); - const displayModesButton = await driver.findElementByText(displayModesText); - await displayModesButton.click(); - await driver.wait(1000); - const displayModesTitle = await driver.findElementByText(displayModesText); - expect(displayModesTitle).to.exist; - - const tokensButton = await driver.findElementByText("Tokens"); - await tokensButton.click(); - const textField = await driver.findElementByClassName(driver.locators.getElementByName("textfield")); - await textField.sendKeys("Bul"); - const suggestion = await driver.findElementByText("Bulgaria"); - await suggestion.click(); - const record = await driver.findElementByText("Bulgaria"); - expect(record).to.exist; - }); - - it("should open Plain view", async () => { - await navigateBackToView(driver, displayModesText); - const plainButton = await driver.findElementByText("Plain"); - await plainButton.click(); - await driver.wait(1000); - const textField = await driver.findElementByClassName(driver.locators.getElementByName("textfield")); - await textField.sendKeys("Bul"); - const suggestion = await driver.findElementByText("Bulgaria"); - await suggestion.click(); - const record = await driver.findElementByText("Bulgaria"); - expect(record).to.exist; - }); - }); - - describe(tokenLayoutsText, () => { - it("should open 'Switch at runtime' view", async () => { - await navigateBackToHome(driver); - const tokenLayoutsButton = await driver.findElementByText(tokenLayoutsText); - await tokenLayoutsButton.click(); - await driver.wait(1000); - const tokenLayoutsTitle = await driver.findElementByText(tokenLayoutsText); - expect(tokenLayoutsTitle).to.exist; - - const runtimeSwitchButton = await driver.findElementByText("Switch at runtime"); - await runtimeSwitchButton.click(); - await driver.wait(1000); - const textField = await driver.findElementByClassName(driver.locators.getElementByName("textfield")); - await textField.click(); - const addNextTokenButton = await driver.findElementByText("Add next token"); - for (let i = 0; i < 5; i++) { - await addNextTokenButton.click(); - } - const australiaToken = await driver.findElementByText("Australia"); - expect((await australiaToken.location()).x).to.be.least(0); - - const horizontalButton = await driver.findElementByText("Horizontal"); - await horizontalButton.click(); - const australiaTokenHorizontal = await driver.findElementByTextIfExists("Australia"); - expect((await australiaTokenHorizontal.location()).x).to.be.lessThan(0); - }); - - it("should open Horizontal view", async () => { - await navigateBackToView(driver, tokenLayoutsText); - const horizontalButton = await driver.findElementByText("Horizontal"); - await horizontalButton.click(); - await driver.wait(1000); - const textField = await driver.findElementByClassName(driver.locators.getElementByName("textfield")); - await textField.click(); - const addNextTokenButton = await driver.findElementByText("Add next token"); - for (let i = 0; i < 5; i++) { - await addNextTokenButton.click(); - } - const maldivesToken = await driver.findElementByText("Maldives"); - expect((await maldivesToken.location()).x).to.be.least(0); - - const australiaToken = await driver.findElementByTextIfExists("Australia"); - expect((await australiaToken.location()).x).to.be.lessThan(0); - }); - - it("should open Wrap view", async () => { - await navigateBackToView(driver, tokenLayoutsText); - const horizontalButton = await driver.findElementByText("Wrap"); - await horizontalButton.click(); - await driver.wait(1000); - const textField = await driver.findElementByClassName(driver.locators.getElementByName("textfield")); - await textField.click(); - const addNextTokenButton = await driver.findElementByText("Add next token"); - for (let i = 0; i < 5; i++) { - await addNextTokenButton.click(); - } - const australiaToken = await driver.findElementByText("Australia"); - expect((await australiaToken.location()).x).to.be.least(0); - - const maldivesToken = await driver.findElementByText("Maldives"); - expect((await maldivesToken.location()).x).to.be.least(0); - }); - }); - - describe(suggestModeText, () => { - it("should open Append view", async () => { - await navigateBackToHome(driver); - const suggestModeButton = await driver.findElementByText(suggestModeText); - await suggestModeButton.click(); - const suggestModeTitle = await driver.findElementByText(suggestModeText); - expect(suggestModeTitle).to.exist; - - const appendButton = await driver.findElementByText("Append"); - await appendButton.click(); - await driver.wait(1000); - const textField = await driver.findElementByClassName(driver.locators.getElementByName("textfield")); - await textField.sendKeys("B "); - const bulgaria = await driver.findElementByText("Bulgaria"); - expect(bulgaria).to.exist; - }); - it("should open Suggest view", async () => { - await navigateBackToView(driver, suggestModeText); - const suggestButton = await driver.findElementByText("Suggest"); - await suggestButton.click(); - await driver.wait(1000); - const textField = await driver.findElementByClassName(driver.locators.getElementByName("textfield")); - await textField.sendKeys("B"); - const belgiumSuggestion = await driver.findElementByText("Belgium"); - expect(belgiumSuggestion).to.exist; - - const bulgariaSuggestion = await driver.findElementByText("Bulgaria"); - await bulgariaSuggestion.click(); - const bulgaria = await driver.findElementByText("Bulgaria"); - expect(bulgaria).to.exist; - }); - it("should open 'Suggest and Append' view", async () => { - await navigateBackToView(driver, suggestModeText); - const suggestAndAppendButton = await driver.findElementByText("Suggest & Append"); - await suggestAndAppendButton.click(); - await driver.wait(1000); - const textField = await driver.findElementByClassName(driver.locators.getElementByName("textfield")); - await textField.sendKeys("B"); - const bulgariaRecords = await driver.findElementsByText("Bulgaria"); - expect(bulgariaRecords.length).to.equal(2); - - await bulgariaRecords[1].click(); - const bulgaria = await driver.findElementByText("Bulgaria"); - expect(bulgaria).to.exist; - }); - }); - - describe(customizationText, () => { - it("should open Customization view", async () => { - await navigateBackToHome(driver); - const customizationButton = await driver.findElementByText(customizationText); - await customizationButton.click(); - const customizationTitle = await driver.findElementByText(customizationText); - expect(customizationTitle).to.exist; - await driver.wait(1000); - const textField = await driver.findElementByClassName(driver.locators.getElementByName("textfield")); - await textField.sendKeys("Bul"); - const suggestionImage = isAndroid ? - await driver.findElementByClassName("com.telerik.widget.autocomplete.SuggestionItemViewHolder") : - await driver.findElementByAccessibilityId("bulgaria"); - const compareSuggestion = await driver.compareElement(suggestionImage, "customization-suggestion"); - expect(compareSuggestion).to.be.true; - - const suggestionText = await driver.findElementByText("Bulgaria"); - await suggestionText.click(); - const autoCompleteClassName = isAndroid ? "com.telerik.widget.autocomplete.RadAutoCompleteTextView" : driver.locators.getElementByName("scrollview"); - const autoComplete = await driver.findElementByClassName(autoCompleteClassName); - const compareToken = await driver.compareElement(autoComplete, "customization-tokens"); - expect(compareToken).to.be.true; - }); - }); - - describe(eventsText, () => { - it("should open Events view", async () => { - await navigateBackToHome(driver); - await scrollToElement(driver, preselectedItemsText); - const eventsButton = await driver.findElementByText(eventsText); - await eventsButton.click(); - await driver.wait(1000); - const eventsTitle = await driver.findElementByText(eventsText); - expect(eventsTitle).to.exist; - - const textField = await driver.findElementByClassName(driver.locators.getElementByName("textfield")); - await textField.sendKeys("B"); - const bulgariaSuggestion = await driver.findElementByText("Bulgaria"); - await bulgariaSuggestion.click(); - const bulgariaToken = await driver.findElementByText("Bulgaria", SearchOptions.exact); - expect(bulgariaToken).to.exist; - - const event1 = await driver.findElementByText("Text Changed: B"); - expect(event1).to.exist; - - const event2 = await driver.findElementByText("2 Suggestions Visible - First is Bulgaria"); - expect(event2).to.exist; - - const event3 = await driver.findElementByText("DidAutoComplete with text: Bulgaria"); - expect(event3).to.exist; - - const event4 = await driver.findElementByText("Added Token: Bulgaria"); - expect(event4).to.exist; - }); - }); - - describe.skip(asyncDataFetchText, () => { - it("should open Async Data Fetch view", async () => { - await navigateBackToHome(driver); - const asyncDataFetchButton = await driver.findElementByText(asyncDataFetchText); - await asyncDataFetchButton.click(); - await driver.wait(1000); - const asyncDataFetchTitle = await driver.findElementByText(asyncDataFetchText); - expect(asyncDataFetchTitle).to.exist; - - const textField = await driver.findElementByClassName(driver.locators.getElementByName("textfield")); - if (isAndroid) { - await textField.sendKeys("a"); - // await clickBelowElement(textField, driver); - // let aiomeAirport = await driver.findElementByTextIfExists("Aiome", SearchOptions.exact, 500); - // expect(aiomeAirport).not.to.exist; - await driver.wait(5000); - await clickBelowElement(textField, driver); - const aiomeAirport = await driver.findElementByTextIfExists("Aiome"); - expect(aiomeAirport).to.exist; - } - - // Error prompt test - // const textField = await driver.findElementByClassName(driver.locators.getElementByName("textfield")); - // await textField.sendKeys("B"); - // const progressIndicator = await driver.findElementByText("In progress"); - // expect(progressIndicator).to.exist; - // const buttons = await driver.findElementsByClassName(driver.locators.button); - // await buttons[4].click(); - // await driver.wait(1000); - // const returnButton = await driver.findElementByTextIfExists("Return"); - // if(returnButton !== undefined){ - // await driver.driver.hideDeviceKeyboard("Return"); - // await driver.wait(1000); - // } - }); - }); - - describe(readOnlyText, () => { - it("should open Read Only view", async () => { - await navigateBackToHome(driver); - const readOnlyButton = await driver.findElementByText(readOnlyText); - await readOnlyButton.click(); - const readOnlyTitle = await driver.findElementByText(readOnlyText); - expect(readOnlyTitle).to.exist; - await driver.wait(1000); - const textField = await driver.findElementByClassName(driver.locators.getElementByName("textfield")); - await textField.sendKeys("Bul"); - const bulgariaSuggestion = await driver.findElementByText("Bulgaria"); - await bulgariaSuggestion.click(); - const isEnabled = await textField.getAttribute("enabled") === 'true'; - expect(isEnabled).to.be.true; - - const setTrueButton = await driver.findElementByText("Set true"); - await setTrueButton.click(); - const isEnabledChanged = await textField.getAttribute("enabled") === 'true'; - expect(isEnabledChanged).to.be.false; - - const bulgariaToken = await driver.findElementByText("Bulgaria"); - expect(bulgariaToken).to.exist; - }); - }); - - describe(hintText, () => { - it("should open Hint view", async () => { - await navigateBackToHome(driver); - const hintButton = await driver.findElementByText(hintText, SearchOptions.exact); - await hintButton.click(); - await driver.wait(1000); - const hintTitle = await driver.findElementByText(hintText); - expect(hintTitle).to.exist; - - const textFieldHint = await driver.findElementByText("select country"); - expect(textFieldHint).to.exist; - }); - }); - - describe(preselectedItemsText, () => { - it("should open Preselected items view", async () => { - await navigateBackToHome(driver); - const preselectedItemsButton = await driver.findElementByText(preselectedItemsText); - await preselectedItemsButton.click(); - await driver.wait(1000); - const preselectedItemsTitle = await driver.findElementByText(preselectedItemsText); - expect(preselectedItemsTitle).to.exist; - - const australia = await driver.findElementByText("Australia"); - expect(australia).to.exist; - - const austria = await driver.findElementByText("Austria"); - expect(austria).to.exist; - - const addNextTokenButton = await driver.findElementByText("Add next token"); - await addNextTokenButton.click(); - const argentina = await driver.findElementByText("Argentina"); - expect(argentina).to.exist; - }); - }); -}); diff --git a/autocomplete/e2e/tsconfig.json b/autocomplete/e2e/tsconfig.json deleted file mode 100644 index c297b234..00000000 --- a/autocomplete/e2e/tsconfig.json +++ /dev/null @@ -1,18 +0,0 @@ -{ - "compilerOptions": { - "module": "commonjs", - "target": "es6", - "experimentalDecorators": true, - "emitDecoratorMetadata": true, - "importHelpers": false, - "types": [ - "node", - "mocha", - "chai" - ], - "lib": [ - "es2015", - "dom" - ] - } -} \ No newline at end of file