Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
Expand Up @@ -5,11 +5,12 @@
import io.github.com.pages.AngularPage;
import io.github.com.pages.AutocompletePage;
import io.github.com.pages.BadgePage;
import io.github.com.pages.InputPage;
import io.github.com.pages.ButtonTogglePage;
import io.github.com.pages.ButtonsPage;
import io.github.com.pages.CheckBoxPage;
import io.github.com.pages.DialogPage;
import io.github.com.pages.DividerPage;
import io.github.com.pages.InputPage;
import io.github.com.pages.ProgressBarPage;
import io.github.com.pages.ProgressSpinnerPage;
import io.github.com.pages.RadioButtonPage;
Expand All @@ -36,11 +37,14 @@ public class StaticSite {
@Url("badges")
public static BadgePage badgePage;

@Url("dialog")
public static DialogPage dialogPage;

@Url("buttons_toggle")
public static ButtonTogglePage buttonTogglePage;
public static ButtonTogglePage buttonTogglePage;

@Url("divider")
public static DividerPage dividerPage;
public static DividerPage dividerPage;

@Url("autocompletes")
public static AutocompletePage autocompletePage;
Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,21 @@
package io.github.com.custom.elements.dialog;

import com.epam.jdi.light.angular.elements.common.Button;
import com.epam.jdi.light.angular.elements.complex.Dialog;

public class ActionDialog extends Dialog {

public String title() {
return core().find("mat-dialog-title").getText();
}


public Button installButton() {
return new Button().setCore(Button.class, core().find(".mat-mdc-dialog-actions button:last-child"));
}

public Button cancelButton() {
return new Button().setCore(Button.class, core().find(".mat-mdc-dialog-actions button:first-child"));
}

}
Original file line number Diff line number Diff line change
@@ -0,0 +1,24 @@
package io.github.com.custom.elements.dialog;

import com.epam.jdi.light.angular.elements.common.Button;
import com.epam.jdi.light.angular.elements.common.Input;
import com.epam.jdi.light.angular.elements.complex.Dialog;

public class OverviewDialog extends Dialog {

public String title() {
return core().find("mat-dialog-title").getText();
}

public Input inputField() {
return new Input().setCore(Input.class, core().find("input"));
}

public Button okButton() {
return new Button().setCore(Button.class, core().find(".mat-mdc-dialog-actions button:last-child"));
}

public Button noThanksButton() {
return new Button().setCore(Button.class, core().find(".mat-mdc-dialog-actions button:first-child"));
}
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,67 @@
package io.github.com.pages;

import com.epam.jdi.light.angular.elements.common.Button;
import com.epam.jdi.light.angular.elements.common.Input;
import com.epam.jdi.light.angular.elements.complex.AutoComplete;
import com.epam.jdi.light.angular.elements.complex.Dialog;
import com.epam.jdi.light.elements.pageobjects.annotations.locators.UI;
import com.epam.jdi.light.ui.html.elements.common.Text;
import io.github.com.custom.elements.dialog.ActionDialog;
import io.github.com.custom.elements.dialog.OverviewDialog;

public class DialogPage extends NewAngularPage {

@UI(".mat-mdc-input-element")
public static Input nameFormFields;

@UI("#dialog")
public static Button dialogOverviewButton;

@UI("#dialog-animations-open-dialog-btn-without-animation")
public static Button dialogWithoutAnimationsButton;

@UI("#dialog-animations-open-dialog-btn-with-animation")
public static Button dialogWithAnimationsButton;

@UI("mat-dialog-container")
public static OverviewDialog nameDialog;

@UI("dialog-overview-example li:last-child")
public static Text youChooseText;

@UI("#dialog-animations-open-dialog-btn-without-animation")
public static Button withoutAnimationButton;

@UI("#dialog-animations-open-dialog-btn-with-animation")
public static Button withAnimationButton;

@UI("mat-dialog-container")
public static Dialog withoutAnimationDialog;

@UI("mat-dialog-container")
public static Dialog withAnimationDialog;

@UI("mat-form-field.ng-tns-c17-1")
public static AutoComplete alignAction;

@UI("mat-form-field.ng-tns-c17-7")
public static AutoComplete disableCloseAction;

@UI("mat-form-field.ng-tns-c17-15")
public static AutoComplete maxHeightAutocomplete;

@UI("mat-form-field.ng-tns-c17-17")
public static AutoComplete minHeightAutocomplete;

@UI("mat-form-field.ng-tns-c17-19")
public static AutoComplete maxWidthAutocomplete;

@UI("mat-form-field.ng-tns-c17-21")
public static AutoComplete minWidthAutocomplete;

@UI("mat-dialog-container")
public static ActionDialog customizableDialog;

@UI("#dialog-scrollable-content-open-btn")
public static Button dialogActionButton;
}
Original file line number Diff line number Diff line change
Expand Up @@ -2,33 +2,89 @@

import io.github.epam.TestsInit;
import org.testng.annotations.BeforeClass;
import org.testng.annotations.Ignore;
import org.testng.annotations.Test;

import static io.github.com.StaticSite.angularPage;
import static io.github.com.pages.AngularPage.dialog;
import static io.github.epam.site.steps.States.shouldBeLoggedIn;
import static com.epam.jdi.light.angular.elements.enums.DialogPosition.CENTER;
import static com.jdiai.tools.Timer.waitCondition;
import static io.github.com.StaticSite.checkBoxPage;
import static io.github.com.StaticSite.dialogPage;
import static io.github.com.pages.DialogPage.alignAction;
import static io.github.com.pages.DialogPage.customizableDialog;
import static io.github.com.pages.DialogPage.dialogActionButton;
import static io.github.com.pages.DialogPage.dialogOverviewButton;
import static io.github.com.pages.DialogPage.minHeightAutocomplete;
import static io.github.com.pages.DialogPage.minWidthAutocomplete;
import static io.github.com.pages.DialogPage.nameDialog;
import static io.github.com.pages.DialogPage.nameFormFields;
import static io.github.com.pages.DialogPage.withAnimationButton;
import static io.github.com.pages.DialogPage.withAnimationDialog;
import static io.github.com.pages.DialogPage.withoutAnimationButton;
import static io.github.com.pages.DialogPage.withoutAnimationDialog;
import static io.github.com.pages.DialogPage.youChooseText;

// TODO Move to the new page
@Ignore
public class DialogTests extends TestsInit {

@BeforeClass(alwaysRun = true)
public void before() {
shouldBeLoggedIn();
angularPage.shouldBeOpened();
dialog.show();
dialogPage.open();
waitCondition((() -> checkBoxPage.isOpened()));
dialogPage.checkOpened();
}

@Test
public void basicDialogTest() {
dialog.sendKeysToNameFormField("EPAM Systems");
dialog.open();
dialog.is().opened();
dialog.is().nameText("EPAM Systems");
dialog.sendKeysToAnswerFormField("Lion");
dialog.submitAnswer();
dialog.is().closed();
dialog.is().answerText("Lion");
@Test(description = "Test checks opening and closing a dialog")
public void baseTest() {
nameFormFields.input("EPAM Systems");
dialogOverviewButton.click();
nameDialog.is().opened();
nameDialog.close();
nameDialog.is().closed();
}


@Test(description = "Test checks opening and closing a dialog")
public void dialogOverviewTest() {
nameFormFields.input("EPAM Systems");
dialogOverviewButton.click();
nameDialog.is().opened();
nameDialog.inputField().input("Lion");
nameDialog.okButton().click();
nameDialog.is().closed();
youChooseText.is().text("You choose: Lion");
}

@Test(description = "Test checks the dialog animation")
public void animationTest() {
withoutAnimationButton.click();
withoutAnimationDialog.is().opened();
withoutAnimationDialog.has().animationDuration("0ms");
withoutAnimationDialog.close();

withAnimationButton.click();
withAnimationDialog.is().opened();
withAnimationDialog.has().animationDuration("3000ms");
withAnimationDialog.close();
}

@Test(description = "Test checks the align of action buttons")
public void actionAlignTest() {
alignAction.select("Center");
dialogActionButton.click();
customizableDialog.is().opened();
customizableDialog.has().position(CENTER);
customizableDialog.close();
}

@Test(description = "Test checks the height and width")
public void sizeTest() {
minHeightAutocomplete.select("500px");
minWidthAutocomplete.select("500px");
dialogActionButton.click();
customizableDialog.is().opened();
customizableDialog.has().maxHeight("1000px");
customizableDialog.has().minHeight("500px");
customizableDialog.has().maxWidth("1000px");
customizableDialog.has().minWidth("500px");
customizableDialog.close();
}

}
Original file line number Diff line number Diff line change
@@ -1,6 +1,7 @@
package com.epam.jdi.light.angular.asserts;

import com.epam.jdi.light.angular.elements.complex.Dialog;
import com.epam.jdi.light.angular.elements.enums.DialogPosition;
import com.epam.jdi.light.asserts.generic.UIAssert;
import com.epam.jdi.light.common.JDIAction;
import org.hamcrest.Matchers;
Expand All @@ -14,21 +15,63 @@ public DialogAssert opened() {
return this;
}

@JDIAction(value = "Assert that '{name}' closed", isAssert = true)
@JDIAction(value = "Assert that '{name}' closed")
public DialogAssert closed() {
jdiAssert(element().isClosed(), Matchers.is(true), "ERROR MESSAGE IS REQUIRED");
jdiAssert(element().isClosed(), Matchers.is(false), "ERROR MESSAGE IS REQUIRED");
return this;
}

@JDIAction(value = "Assert that '{name}' name is {0}", isAssert = true)
public DialogAssert nameText(String name) {
jdiAssert(element().nameText(name), Matchers.is(true), "ERROR MESSAGE IS REQUIRED");
// @JDIAction(value = "Assert that '{name}' has title", isAssert = true)
// public DialogAssert title() {
// jdiAssert(element().hasTitle(), Matchers.is(true), "ERROR MESSAGE IS REQUIRED");
// return this;
// }

@JDIAction(value = "Assert that '{name}' ", isAssert = true)
public DialogAssert position(DialogPosition position) {
jdiAssert(element().dialogActionsAlign(), Matchers.is(position));
return this;
}

@JDIAction(value = "Assert that '{name}'", isAssert = true)
public DialogAssert maxHeight(String value) {
jdiAssert(element().maxHeight(), Matchers.is(value), "ERROR MESSAGE IS REQUIRED");
return this;
}

@JDIAction(value = "Assert that '{name}'", isAssert = true)
public DialogAssert minHeight(String value) {
jdiAssert(element().minHeight(), Matchers.is(value), "ERROR MESSAGE IS REQUIRED");
return this;
}

@JDIAction(value = "Assert that '{name}'", isAssert = true)
public DialogAssert maxWidth(String value) {
jdiAssert(element().maxWidth(), Matchers.is(value), "ERROR MESSAGE IS REQUIRED");
return this;
}

@JDIAction(value = "Assert that '{name}'", isAssert = true)
public DialogAssert minWidth(String value) {
jdiAssert(element().minHeight(), Matchers.is(value), "ERROR MESSAGE IS REQUIRED");
return this;
}

@JDIAction(value = "Assert that '{name}' answer is {0}", isAssert = true)
public DialogAssert answerText(String answer) {
jdiAssert(element().answerText(answer), Matchers.is(true), "ERROR MESSAGE IS REQUIRED");
@JDIAction(value = "Assert that '{name}'", isAssert = true)
public DialogAssert animationDuration(String value) {
jdiAssert(element().animationDuration(), Matchers.is(value));
return this;
}
//
// @JDIAction(value = "Assert that '{name}' has content", isAssert = true)
// public DialogAssert content() {
// jdiAssert(element().hasContent(), Matchers.is(true), "ERROR MESSAGE IS REQUIRED");
// return this;
// }
//
// @JDIAction(value = "Assert that '{name}' has action", isAssert = true)
// public DialogAssert action() {
// jdiAssert(element().hasAction(), Matchers.is(true), "ERROR MESSAGE IS REQUIRED");
// return this;
// }
}
Original file line number Diff line number Diff line change
Expand Up @@ -61,6 +61,7 @@ public void select(String value) {
if (value == null) {
return;
}
click();
WebList options = getOptions(optionsCss);
options.get(value).click();
}
Expand Down
Loading