diff --git a/msportalfx-test/msportalfx-test-tests.ts b/msportalfx-test/msportalfx-test-tests.ts index 4bf402d1b..98f86dcd4 100644 --- a/msportalfx-test/msportalfx-test-tests.ts +++ b/msportalfx-test/msportalfx-test-tests.ts @@ -34,6 +34,7 @@ function TestPortal() { 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'); } function TestBlades() { @@ -41,14 +42,16 @@ function TestBlades() { blade.clickCommand('Delete'); var createBlade = new testFx.Blades.CreateBlade(bladeTitle); - voidPromise = createBlade.actionBar.clickCreate(); - voidPromise = createBlade.actionBar.clickDelete(); + 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'); } function TestParts() { @@ -60,6 +63,9 @@ function TestParts() { var resourceSummary = new testFx.Parts.ResourceSummaryPart(summaryBlade.getLocator()); var count = resourceSummary.properties.length; + + var pricingTier = new testFx.Parts.PricingTierPart(summaryBlade.getLocator()); + voidPromise = pricingTier.click(); } function TestControls() { @@ -75,7 +81,13 @@ function TestControls() { } function TestActionBars() { - var bar = new testFx.ActionBars.ActionBar(summaryBlade.getLocator()); - voidPromise = bar.clickCreate(); - voidPromise = bar.clickDelete(); + 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(); } \ No newline at end of file diff --git a/msportalfx-test/msportalfx-test.d.ts b/msportalfx-test/msportalfx-test.d.ts index cb0d6de41..5ba413484 100644 --- a/msportalfx-test/msportalfx-test.d.ts +++ b/msportalfx-test/msportalfx-test.d.ts @@ -38,16 +38,35 @@ declare module MsPortalTestFx { 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 ActionBar extends MsPortalTestFx.PortalElement { + 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); - clickCreate(): Q.Promise; - clickDelete(): Q.Promise; } } @@ -60,7 +79,7 @@ declare module MsPortalTestFx { } export class CreateBlade extends Blade { - public actionBar: ActionBars.ActionBar; + public actionBar: ActionBars.CreateActionBar; } export class BrowseResourceBlade extends Blade { @@ -70,9 +89,12 @@ declare module MsPortalTestFx { } export class PickerBlade extends Blade { - constructor(title: string); pickItem(item: string): Q.Promise; } + + export class SpecPickerBlade extends Blade { + pickSpec(specCode: string): Q.Promise; + } } export module Controls { @@ -137,6 +159,9 @@ declare module MsPortalTestFx { constructor(parentLocator?: Locators.Locator); } + class PricingTierPart extends Part { + } + export class Tile extends MsPortalTestFx.PortalElement { public progressLocator: Locators.Locator; @@ -201,6 +226,7 @@ declare module MsPortalTestFx { getAttribute(locator: Locators.Locator, attributeName: string, 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; takeScreenshot(filePrefix?: string): Q.Promise; goHome(timeout?: number): Q.Promise;