diff --git a/notNeededPackages.json b/notNeededPackages.json index dfdb71a081..fd4f1c01f4 100644 --- a/notNeededPackages.json +++ b/notNeededPackages.json @@ -2502,6 +2502,12 @@ "sourceRepoURL": "https://github.com/mqttjs/MQTT.js", "asOfVersion": "2.5.0" }, + { + "libraryName": "msportalfx-test", + "typingsPackageName": "msportalfx-test", + "sourceRepoURL": "https://msazure.visualstudio.com/DefaultCollection/AzureUX/_git/portalfx-msportalfx-test", + "asOfVersion": "0.7.2" + }, { "libraryName": "multimatch", "typingsPackageName": "multimatch", diff --git a/types/msportalfx-test/index.d.ts b/types/msportalfx-test/index.d.ts deleted file mode 100644 index b7432ba973..0000000000 --- a/types/msportalfx-test/index.d.ts +++ /dev/null @@ -1,311 +0,0 @@ -// Type definitions for msportalfx-test -// Project: https://msazure.visualstudio.com/DefaultCollection/AzureUX/_git/portalfx-msportalfx-test -// Definitions by: Julio Casal -// Definitions: https://github.com/DefinitelyTyped/DefinitelyTyped -// TypeScript Version: 2.3 - -import * as Q from "q"; - -export = MsPortalTestFx; - -declare namespace MsPortalTestFx { - - export module Locators { - export class Locator { - seleniumLocator: any; - findElements(context: any): any; - toString(): string; - } - - export class ContentLocator extends Locator { - locators: Array; - constructor(innerLocators: Locator[]); - findElements(context: any): any; - toString(): string; - } - - export class ChainedLocator extends Locator { - locators: Array; - constructor(innerLocators: Locator[]); - findElements(context: any): any; - toString(): string; - } - - export class By { - static className(value: string): Locator; - static css(value: string): Locator; - static id(value: string): Locator; - static js(script: any, ...var_args: any[]): Locator; - static linkText(value: string): Locator; - static name(value: string): Locator; - static partialLinkText(value: string): Locator; - static tagName(value: string): Locator; - static xpath(value: string): Locator; - static text(value: string): Locator; - static chained(...values: Locator[]): Locator; - static content(...values: Locator[]): Locator; - } - } - - export module ActionBars { - export class ActionBarButton extends PortalElement { - constructor(parentLocator?: Locators.Locator, baseLocator?: Locators.Locator); - click(): Q.Promise; - } - - export class CreateActionBar extends PortalElement { - public createButton: ActionBarButton; - - constructor(parentLocator?: Locators.Locator); - } - - export class DeleteActionBar extends PortalElement { - public deleteButton: ActionBarButton; - public cancelButton: ActionBarButton; - - constructor(parentLocator?: Locators.Locator); - } - - export class PickerActionBar extends PortalElement { - public selectButton: ActionBarButton; - - constructor(parentLocator?: Locators.Locator); - } - } - - export module Blades { - export class Blade extends MsPortalTestFx.PortalElement { - public title: string; - - constructor(title: string); - clickCommand(commandText: string): Q.Promise; - getTiles(): Q.Promise; - } - - export class CreateBlade extends Blade { - public actionBar: ActionBars.CreateActionBar; - } - - export class BrowseResourceBlade extends Blade { - constructor(title: string); - selectResource(resourceName: string): Q.Promise; - filterItems(filter: string): Q.Promise; - } - - export class PickerBlade extends Blade { - pickItem(item: string): Q.Promise; - } - - export class SpecPickerBlade extends Blade { - pickSpec(specCode: string): Q.Promise; - } - - export class QuickStartBlade extends Blade { - constructor(); - clickLink(linkText: string): Q.Promise; - } - - export class UsersBlade extends Blade { - constructor(); - } - } - - export module Controls { - export class FormElement extends MsPortalTestFx.PortalElement { - protected label: string; - - constructor(baseLocator: Locators.Locator, parentLocator?: Locators.Locator, label?: string); - } - - export class CheckBoxField extends FormElement { - constructor(parentLocator?: Locators.Locator, label?: string); - } - - export class SelectorField extends FormElement { - constructor(parentLocator?: Locators.Locator, label?: string); - openPicker(): Q.Promise; - } - - export class CreatorAndSelectorField extends FormElement { - constructor(parentLocator?: Locators.Locator, selectModeLabel?: string, createModeLabel?: string); - openPicker(): Q.Promise; - clickCreateNew(): Q.Promise; - enterNewValue(...var_args: string[]): Q.Promise; - } - - export class GridCell extends MsPortalTestFx.PortalElement { - constructor(text: string, parentLocator?: Locators.Locator); - getLocator(): Locators.Locator; - } - - export class TextField extends FormElement { - constructor(parentLocator?: Locators.Locator, label?: string, baseLocator?: Locators.Locator); - sendKeys(...var_args: string[]): Q.Promise; - } - - export class ResourceFilterTextField extends TextField { - constructor(parentLocator?: Locators.Locator); - } - - export class HotSpot extends PortalElement { - constructor(parentLocator?: Locators.Locator, baseLocator?: Locators.Locator); - isSelected(): Q.Promise; - } - } - - export module Parts { - export class Part extends MsPortalTestFx.PortalElement { - public innerText: string; - - constructor(parentLocator?: Locators.Locator, innerText?: string, baseLocator?: Locators.Locator); - isSelected(): Q.Promise; - isLoaded(): Q.Promise; - waitUntilLoaded(timeout?: number): Q.Promise; - isClickable(): Q.Promise; - hasError(): Q.Promise; - } - - export class PartProperty extends MsPortalTestFx.PortalElement { - public name: string; - - constructor(name: string, parentLocator?: Locators.Locator); - getValue(): Q.Promise; - } - - export class ResourceSummaryPart extends Part { - public properties: Array; - public resourceGroupProperty: PartProperty; - public quickStartHotSpot: Controls.HotSpot; - public accessHotSpot: Controls.HotSpot; - - constructor(parentLocator?: Locators.Locator); - } - - class PricingTierPart extends Part { - } - - export class Tile extends MsPortalTestFx.PortalElement { - public progressLocator: Locators.Locator; - - constructor(parentLocator?: Locators.Locator); - tryPin(): Q.Promise; - getPart(): Part; - waitUntilLoaded(timeout?: number): Q.Promise; - } - } - - export module Commands { - export class ContextMenu extends PortalElement { - constructor(); - public hasItem(text: string): Q.Promise; - public clickItem(text: string): Q.Promise; - } - - export class ContextMenuItem extends PortalElement { - constructor(parentLocator: Locators.Locator, text?: string); - } - } - - export module Notifications { - export class Notification extends PortalElement { - constructor(); - getTitle(): Q.Promise; - getDescription(): Q.Promise; - } - - export class NotificationsMenu extends PortalElement { - constructor(); - waitForNewNotification(title?: string, description?: string, timeout?: number): Q.Promise; - } - } - - export module Tests { - export module Parts { - export function canPinAllBladeParts(targetBladeDeepLink: string, targetBladeTitle: string, timeout?: number): Q.Promise; - } - } - - export class PortalElement { - public baseLocator: Locators.Locator; - protected parentLocator: Locators.Locator; - - constructor(baseLocator: Locators.Locator, parentLocator?: Locators.Locator); - click(): Q.Promise; - rightClick(): Q.Promise; - getAttribute(attributeName: string): Q.Promise; - sendKeys(...var_args: string[]): Q.Promise; - getText(): Q.Promise; - isPresent(): Q.Promise; - isElementPresent(subLocator: Locators.Locator): Q.Promise; - isDisplayed(): Q.Promise; - getLocator(): Locators.Locator; - } - - export interface TestExtension { - name: string; - uri: string; - } - - export interface Feature { - name: string; - value: string; - } - - export interface PortalContext { - capabilities: { - browserName: string; - chromeOptions: { - args: string[] - } - }, - chromeDriverPath?: string, - portalUrl: string; - signInUrl?: string; - signInEmail?: string; - signInPassword?: string; - features?: Feature[]; - testExtensions?: TestExtension[]; - } - - export enum LogLevel { - All, - Debug, - Info, - Warning, - Severe, - Off - } - - export class Portal { - portalContext: PortalContext; - - goHome(timeout?: number): Q.Promise; - openGalleryCreateBlade(galleryPackageName: string, bladeTitle: string, timeout?: number): Q.Promise; - openBrowseBlade(resourceProvider: string, resourceType: string, bladeTitle: string, timeout?: number): Q.Promise; - openResourceBlade(resourceId: string, bladeTitle: string, timeout?: number): Q.Promise; - navigateToDeepLink(deepLink: string, timeout?: number): Q.Promise; - waitForElementVisible(locator: Locators.Locator, timeout?: number): Q.Promise; - waitForElementNotVisible(locator: Locators.Locator, timeout?: number): Q.Promise; - waitUntilElementContainsAttribute(locator: Locators.Locator, attributeName: string, attributeValue: string, timeout?: number): Q.Promise; - waitUntilElementDoesNotContainAttribute(locator: Locators.Locator, attributeName: string, attributeValue: string, timeout?: number): Q.Promise; - waitForElementLocated(locator: Locators.Locator, timeout?: number): Q.Promise; - waitForElementsLocated(locator: Locators.Locator, timeout?: number): Q.Promise; - takeScreenshot(filePrefix?: string): Q.Promise; - getBrowserLogs(level: LogLevel): Q.Promise; - executeScript(script: string): Q.Promise; - applyFeature(name: string, value: string): void; - getCurrentUrl(): Q.Promise; - quit(): Q.Promise; - } - - export class SplashScreen extends PortalElement { - clickUntrustedExtensionsOkButton(): Q.Promise; - } - - export class StartBoard extends PortalElement { - constructor(); - getTiles(): Q.Promise; - } - - export var portal: Portal; -} diff --git a/types/msportalfx-test/msportalfx-test-tests.ts b/types/msportalfx-test/msportalfx-test-tests.ts deleted file mode 100644 index 7da9325068..0000000000 --- a/types/msportalfx-test/msportalfx-test-tests.ts +++ /dev/null @@ -1,140 +0,0 @@ -import * as Q from 'q'; -import testFx = require('msportalfx-test'); - -var galleryPackageName = "My.Package"; -var bladeTitle = "A Service"; -var resourceProvider = 'My.Provider'; -var resourceType = 'myResourceType'; -var resourceName = 'myResource'; -var userName = 'johndoe@johndoe.com'; -var password = '123'; -var resourceId = '/subscriptions/123/resourceGroups/456/providers/My.Provider/myResourceType/myResource'; -var extensionName = 'LocalExtension'; -var label = 'Field label'; -var extensionUrl = 'https://localhost:44300/'; -var voidPromise: Q.Promise; -var boolPromise: Q.Promise; -var anyPromise: Q.Promise; -var stringPromise: Q.Promise; - -var summaryBlade = new testFx.Blades.Blade(resourceName); - -function TestPortal() { - testFx.portal.portalContext.signInEmail = userName; - testFx.portal.portalContext.signInPassword = password; - testFx.portal.portalContext.features = [{ name: "greatfeature", value: "true" }]; - testFx.portal.portalContext.testExtensions = [{ name: extensionName, uri: extensionUrl }]; - - anyPromise = testFx.portal.waitForElementLocated(summaryBlade.getLocator(), 30000); - anyPromise = testFx.portal.quit(); - var createBladePromise = testFx.portal.openGalleryCreateBlade(galleryPackageName, bladeTitle, 20000); - var browseResourcePromise = testFx.portal.openBrowseBlade(resourceProvider, resourceType, bladeTitle, 20000); - var bladePromise = testFx.portal.openResourceBlade(resourceId, summaryBlade.title, 20000) - var stringPromise = testFx.portal.takeScreenshot("TestPortal"); - var stringArrayPromise = testFx.portal.getBrowserLogs(testFx.LogLevel.All); - anyPromise = testFx.portal.waitUntilElementDoesNotContainAttribute(testFx.Locators.By.className('part'), 'class', 'invalid'); - voidPromise = testFx.portal.goHome(); - boolPromise = testFx.portal.waitForElementVisible(summaryBlade.getLocator()); - var anyArrayPromise = testFx.portal.waitForElementsLocated(summaryBlade.getLocator()); - var voidPromise = testFx.portal.executeScript("console.log('hello from script');"); - stringPromise = testFx.portal.getCurrentUrl(); -} - -function TestBlades() { - var blade = new testFx.Blades.Blade(resourceName); - var bladePromise = blade.clickCommand('Delete'); - var tilesPromise = blade.getTiles(); - - var createBlade = new testFx.Blades.CreateBlade(bladeTitle); - voidPromise = createBlade.actionBar.createButton.click(); - - var browseBlade = new testFx.Blades.BrowseResourceBlade(bladeTitle); - voidPromise = browseBlade.selectResource(resourceName); - - var pickerBlade = new testFx.Blades.PickerBlade(bladeTitle); - pickerBlade.pickItem('abc'); - - var specPickerBlade = new testFx.Blades.SpecPickerBlade(bladeTitle); - specPickerBlade.pickSpec('S2'); - - var quickStartBlade = new testFx.Blades.QuickStartBlade(); - voidPromise = quickStartBlade.clickLink('Learn more'); - - var usersBlade = new testFx.Blades.UsersBlade(); -} - -function TestParts() { - var part = new testFx.Parts.Part(summaryBlade.getLocator(), "Roles"); - voidPromise = part.click(); - boolPromise = part.isSelected(); - boolPromise = part.waitUntilLoaded(); - boolPromise = part.isLoaded(); - boolPromise = part.isClickable(); - boolPromise = part.hasError(); - - var resourceSummary = new testFx.Parts.ResourceSummaryPart(summaryBlade.getLocator()); - var count = resourceSummary.properties.length; - voidPromise = resourceSummary.quickStartHotSpot.click(); - voidPromise = resourceSummary.accessHotSpot.click(); - - var pricingTier = new testFx.Parts.PricingTierPart(summaryBlade.getLocator()); - voidPromise = pricingTier.click(); - - var tile = new testFx.Parts.Tile(summaryBlade.getLocator()); - voidPromise = tile.tryPin(); - var part: testFx.Parts.Part = tile.getPart(); - voidPromise = tile.waitUntilLoaded(); -} - -function TestControls() { - var selector = new testFx.Controls.SelectorField(summaryBlade.getLocator(), label); - voidPromise = selector.openPicker(); - - var creatorAndSelector = new testFx.Controls.CreatorAndSelectorField(summaryBlade.getLocator(), label, label); - var creatorAndSelectorPromise = creatorAndSelector.clickCreateNew(); - creatorAndSelectorPromise = creatorAndSelector.enterNewValue('XYZ'); - - var textField = new testFx.Controls.TextField(summaryBlade.getLocator(), "Resource name"); - var textFieldPromise = textField.sendKeys(resourceName); - - var hotSpot = new testFx.Controls.HotSpot(summaryBlade.getLocator()); - boolPromise = hotSpot.isSelected(); -} - -function TestActionBars() { - var createBar = new testFx.ActionBars.CreateActionBar(summaryBlade.getLocator()); - voidPromise = createBar.createButton.click(); - - var deleteBar = new testFx.ActionBars.DeleteActionBar(summaryBlade.getLocator()); - voidPromise = deleteBar.deleteButton.click(); - voidPromise = deleteBar.cancelButton.click(); - - var pickerBar = new testFx.ActionBars.PickerActionBar(summaryBlade.getLocator()); - voidPromise = pickerBar.selectButton.click(); -} - -function TestCommands() { - var menu = new testFx.Commands.ContextMenu(); - var itemName = "Pin"; - boolPromise = menu.hasItem(itemName); - voidPromise = menu.clickItem(itemName); - - var item = new testFx.Commands.ContextMenuItem(menu.getLocator(), itemName); - voidPromise = item.click(); -} - -function TestStartBoard() { - var board = new testFx.StartBoard(); - var tilesPromise = board.getTiles(); -} - -function TestNotifications() { - var menu = new testFx.Notifications.NotificationsMenu(); - menu.waitForNewNotification("success").then((notification) => { - stringPromise = notification.getDescription(); - }); -} - -function TestTests() { - boolPromise = testFx.Tests.Parts.canPinAllBladeParts(resourceId, bladeTitle); -} \ No newline at end of file diff --git a/types/msportalfx-test/tsconfig.json b/types/msportalfx-test/tsconfig.json deleted file mode 100644 index 4df355d685..0000000000 --- a/types/msportalfx-test/tsconfig.json +++ /dev/null @@ -1,28 +0,0 @@ -{ - "compilerOptions": { - "module": "commonjs", - "lib": [ - "es6" - ], - "noImplicitAny": true, - "noImplicitThis": true, - "strictNullChecks": false, - "strictFunctionTypes": true, - "baseUrl": "../", - "typeRoots": [ - "../" - ], - "paths": { - "q": [ - "q/v0" - ] - }, - "types": [], - "noEmit": true, - "forceConsistentCasingInFileNames": true - }, - "files": [ - "index.d.ts", - "msportalfx-test-tests.ts" - ] -} \ No newline at end of file diff --git a/types/msportalfx-test/tslint.json b/types/msportalfx-test/tslint.json deleted file mode 100644 index 3d59f55fda..0000000000 --- a/types/msportalfx-test/tslint.json +++ /dev/null @@ -1,80 +0,0 @@ -{ - "extends": "dtslint/dt.json", - "rules": { - "adjacent-overload-signatures": false, - "array-type": false, - "arrow-return-shorthand": false, - "ban-types": false, - "callable-types": false, - "comment-format": false, - "dt-header": false, - "npm-naming": false, - "eofline": false, - "export-just-namespace": false, - "import-spacing": false, - "interface-name": false, - "interface-over-type-literal": false, - "jsdoc-format": false, - "max-line-length": false, - "member-access": false, - "new-parens": false, - "no-any-union": false, - "no-boolean-literal-compare": false, - "no-conditional-assignment": false, - "no-consecutive-blank-lines": false, - "no-construct": false, - "no-declare-current-package": false, - "no-duplicate-imports": false, - "no-duplicate-variable": false, - "no-empty-interface": false, - "no-for-in-array": false, - "no-inferrable-types": false, - "no-internal-module": false, - "no-irregular-whitespace": false, - "no-mergeable-namespace": false, - "no-misused-new": false, - "no-namespace": false, - "no-object-literal-type-assertion": false, - "no-padding": false, - "no-redundant-jsdoc": false, - "no-redundant-jsdoc-2": false, - "no-redundant-undefined": false, - "no-reference-import": false, - "no-relative-import-in-test": false, - "no-self-import": false, - "no-single-declare-module": false, - "no-string-throw": false, - "no-unnecessary-callback-wrapper": false, - "no-unnecessary-class": false, - "no-unnecessary-generics": false, - "no-unnecessary-qualifier": false, - "no-unnecessary-type-assertion": false, - "no-useless-files": false, - "no-var-keyword": false, - "no-var-requires": false, - "no-void-expression": false, - "no-trailing-whitespace": false, - "object-literal-key-quotes": false, - "object-literal-shorthand": false, - "one-line": false, - "one-variable-per-declaration": false, - "only-arrow-functions": false, - "prefer-conditional-expression": false, - "prefer-const": false, - "prefer-declare-function": false, - "prefer-for-of": false, - "prefer-method-signature": false, - "prefer-template": false, - "radix": false, - "semicolon": false, - "space-before-function-paren": false, - "space-within-parens": false, - "strict-export-declare-modifiers": false, - "trim-file": false, - "triple-equals": false, - "typedef-whitespace": false, - "unified-signatures": false, - "void-return": false, - "whitespace": false - } -}