Skip to content

Commit 9a846af

Browse files
author
Konstantin Bulavin
committed
rebase
1 parent c8fdb1e commit 9a846af

File tree

7 files changed

+140
-263
lines changed

7 files changed

+140
-263
lines changed

jdi-light-angular-tests/src/test/java/io/github/epam/angular/tests/elements/complex/ChipsTests.java

Lines changed: 53 additions & 20 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,6 @@
11
package io.github.epam.angular.tests.elements.complex;
22

3+
import com.epam.jdi.light.angular.elements.enums.AngularColors;
34
import io.github.com.pages.ChipsPage;
45
import io.github.epam.TestsInit;
56
import org.testng.annotations.BeforeMethod;
@@ -12,8 +13,10 @@
1213
import static com.jdiai.tools.Timer.waitCondition;
1314
import static io.github.com.StaticSite.chipsPage;
1415
import static io.github.com.pages.ChipsPage.autocompleteChips;
16+
import static io.github.com.pages.ChipsPage.avatarChips;
1517
import static io.github.com.pages.ChipsPage.basicChips;
1618
import static io.github.com.pages.ChipsPage.disabledChips;
19+
import static io.github.com.pages.ChipsPage.errorChips;
1720
import static io.github.com.pages.ChipsPage.inputChips;
1821
import static io.github.com.pages.ChipsPage.multipleChips;
1922
import static io.github.com.pages.ChipsPage.stackedChips;
@@ -43,7 +46,7 @@ public void before() {
4346
chipsPage.checkOpened();
4447
}
4548

46-
@Test
49+
@Test(description = "Test verifies that chip group is selectable")
4750
public void basicChipsTest() {
4851
basicChips.show();
4952
basicChips.is().displayed();
@@ -54,7 +57,7 @@ public void basicChipsTest() {
5457
ChipsPage.basicSelectedValue.has().text(format("You clicked: %s", WARNFISH));
5558
}
5659

57-
@Test
60+
@Test(description = "Test verifies that chip group is vertical")
5861
public void stackedChipsTest() {
5962
stackedChips.show();
6063
stackedChips.is().displayed();
@@ -67,32 +70,39 @@ public void stackedChipsTest() {
6770
stackedSelectedValue.has().text(format("You clicked: %s", WARN));
6871
}
6972

70-
@Test
73+
@Test(description = "Test check chips colors")
74+
public void chipsColorTest() {
75+
stackedChips.show();
76+
stackedChips.is().displayed();
77+
stackedChips.getElement(PRIMARY).is().color(AngularColors.MAT_PRIMARY);
78+
stackedChips.getElement(ACCENT).is().color(AngularColors.MAT_ACCENT);
79+
stackedChips.getElement(WARN).is().color(AngularColors.MAT_WARN);
80+
}
81+
82+
@Test(description = "Test checks the operation of the autocomplete in chips group")
7183
public void chipsAutocompleteTest() {
7284
String[] expectedValuesArray = {
7385
"Apple", "Lemon", "Lime", "Orange", "Strawberry"};
7486
List<String> expectedValues = Arrays.asList(expectedValuesArray);
87+
7588
autocompleteChips.show();
7689
autocompleteChips.is().displayed();
77-
autocompleteChips.has().assertChipsHasPlaceholder("New Fruit...");
78-
autocompleteChips.has().assertChipsHasOptions(expectedValues);
90+
autocompleteChips.has().placeholder("New Fruit...");
91+
autocompleteChips.has().options(expectedValues);
7992

80-
autocompleteChips.setValue(LEMON);
93+
autocompleteChips.select(LEMON);
8194
autocompleteChips.collapseField();
8295
autocompleteChips.is().hasElement(LEMON);
83-
autocompleteChips.setValue(APPLE);
96+
autocompleteChips.select(APPLE);
8497
autocompleteChips.collapseField();
8598
autocompleteChips.is().hasElement(APPLE);
86-
autocompleteChips.setValue(LIME);
87-
autocompleteChips.collapseField();
88-
autocompleteChips.is().hasElement(LIME);
8999
}
90100

91-
@Test
101+
@Test(description = "Test checks the input field in chips group")
92102
public void chipsWithInputTest() {
93103
inputChips.show();
94104
inputChips.is().displayed();
95-
inputChips.has().assertChipsHasPlaceholder(PLACEHOLDER);
105+
inputChips.has().placeholder(PLACEHOLDER);
96106
inputChips.input("Kiwi" + "\n");
97107
inputChips.input("Melon");
98108
inputChips.clearInputField();
@@ -101,24 +111,39 @@ public void chipsWithInputTest() {
101111
inputChips.is().hasElement("Rockmelon");
102112
}
103113

104-
@Test
114+
@Test(description = "Test checks that chips can be removed")
105115
public void chipsRemovableTest() {
106116
inputChips.show();
107117
inputChips.is().displayed();
108118
inputChips.getElement("Lemon").is().removable();
109119
inputChips.getElement("Lemon").close();
110-
inputChips.getElement("Lemon");
111120
}
112121

113-
@Test
114-
public void chipDisabledTest() {
115-
disabledChips.groupElements().get(0).is().disabled();
116-
disabledChips.groupElements().get(1).is().disabled();
117-
disabledChips.groupElements().get(2).is().disabled();
122+
@Test(description = "Test checks that chips can be focused")
123+
public void chipFocusedTest() {
124+
inputChips.show();
125+
inputChips.is().displayed();
126+
inputChips.getElement("Apple").click();
127+
inputChips.getElement("Apple").is().focused();
128+
inputChips.getElement("Lime").click();
129+
inputChips.getElement("Lime").is().focused();
130+
}
118131

132+
@Test(description = "Test checks that chips has avatar image")
133+
public void chipAvatarTest() {
134+
String expectedSrc = "https://material.angular.io/assets/img/examples/shiba1.jpg";
135+
avatarChips.show();
136+
avatarChips.getElement("Dog one").leadingIcon().is().src(expectedSrc);
119137
}
120138

121-
@Test
139+
@Test(description = "Test checks that chips can be disabled")
140+
public void chipDisabledTest() {
141+
disabledChips.show();
142+
disabledChips.is().displayed();
143+
disabledChips.is().disabled();
144+
}
145+
146+
@Test(description = "Test checks chips multiply selection")
122147
public void chipsMultipleSelectionTest() {
123148
multipleChips.show();
124149
multipleChips.is().displayed();
@@ -128,4 +153,12 @@ public void chipsMultipleSelectionTest() {
128153
multipleChips.getElement("multiple color none").is().selected();
129154
multipleChips.getElement("multiple color Primary").is().selected();
130155
}
156+
157+
@Test(description = "Test checks that chips has error state")
158+
public void chipsErrorState() {
159+
errorChips.show();
160+
errorChips.is().displayed();
161+
errorChips.input("Kiwi" + "\n");
162+
errorChips.has().errorState();
163+
}
131164
}
Lines changed: 13 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,7 @@
11
package com.epam.jdi.light.angular.asserts;
22

33
import com.epam.jdi.light.angular.elements.common.Chip;
4+
import com.epam.jdi.light.angular.elements.enums.AngularColors;
45
import com.epam.jdi.light.asserts.generic.UIAssert;
56
import com.epam.jdi.light.common.JDIAction;
67
import org.hamcrest.Matchers;
@@ -9,16 +10,26 @@
910

1011
public class ChipAssert extends UIAssert<ChipAssert, Chip> {
1112

12-
@JDIAction("Assert that '{name}' enabled")
13+
@JDIAction("Assert that '{name}' is enabled")
1314
public ChipAssert selected() {
1415
jdiAssert(element().selected(), Matchers.is(true));
1516
return this;
1617
}
1718

18-
@JDIAction("Assert that '{name}' ")
19+
@JDIAction("Assert that '{name}' is removable ")
1920
public ChipAssert removable() {
2021
jdiAssert(element().removable(), Matchers.is(true));
2122
return this;
2223
}
2324

25+
@JDIAction("Assert that '{name}' has '{0}' color")
26+
public ChipAssert color(AngularColors color) {
27+
return cssClass(color.getColor());
28+
}
29+
30+
@JDIAction("Assert that '{name}' is focused ")
31+
public ChipAssert focused() {
32+
jdiAssert(element().focused(), Matchers.is(true));
33+
return this;
34+
}
2435
}

jdi-light-angular/src/main/java/com/epam/jdi/light/angular/asserts/ChipGroupAssert.java

Lines changed: 25 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -11,39 +11,53 @@
1111

1212
public class ChipGroupAssert extends UIAssert<ChipGroupAssert, ChipGroup> {
1313

14-
@JDIAction("")
15-
public ChipGroupAssert vertical(){
16-
jdiAssert(element().getOrientation(), Matchers.is("vertical"));
14+
@Override
15+
@JDIAction("Assert that '{name}' is displayed")
16+
public ChipGroupAssert displayed() {
17+
jdiAssert(element().isDisplayed() ? "displayed" : "hidden", Matchers.is("displayed"));
18+
return this;
19+
}
20+
21+
@Override
22+
@JDIAction("Assert that '{name}' is enabled")
23+
public ChipGroupAssert enabled() {
24+
jdiAssert(element().isEnabled() ? "enabled" : "disabled", Matchers.is("enabled"));
25+
return this;
26+
}
27+
28+
@JDIAction("Assert that '{name}' aria-orientation is vertical")
29+
public ChipGroupAssert vertical() {
30+
jdiAssert(element().isVertical(), Matchers.is(true));
1731
return this;
1832
}
1933

2034
@JDIAction("Assert that '{name}' has placeholder '{0}'")
21-
public ChipGroupAssert assertChipsHasPlaceholder(String expected) {
35+
public ChipGroupAssert placeholder(String expected) {
2236
jdiAssert(element().getPlaceholderForChips(), Matchers.is(expected));
2337
return this;
2438
}
2539

2640
@JDIAction("Assert that '{name}' has options")
27-
public ChipGroupAssert assertChipsHasOptions(List<String> options) {
41+
public ChipGroupAssert options(List<String> options) {
2842
jdiAssert(element().options(), Matchers.is(options));
2943
return this;
3044
}
3145

46+
@JDIAction("Assert that '{name}' has multiple select options")
3247
public ChipGroupAssert multiselectable() {
33-
jdiAssert(element().isMultiselectable(), Matchers.is("true"));
48+
jdiAssert(element().multiselectable(), Matchers.is("true"));
3449
return this;
3550
}
3651

52+
@JDIAction("Assert that '{name}' has '{0}' element")
3753
public ChipGroupAssert hasElement(String expected) {
3854
jdiAssert(element().hasElement(expected), Matchers.is(true));
3955
return this;
4056
}
4157

42-
@JDIAction("Assert that '{name}' is displayed")
43-
public ChipGroupAssert displayed() {
44-
jdiAssert(element().isDisplayed() ? "displayed" : "hidden", Matchers.is("displayed"));
58+
@JDIAction("Assert that '{name}' has error state")
59+
public ChipGroupAssert errorState() {
60+
jdiAssert(element().errorState(), Matchers.is(true));
4561
return this;
4662
}
47-
48-
4963
}

jdi-light-angular/src/main/java/com/epam/jdi/light/angular/asserts/ChipsAssertDELETE.java

Lines changed: 0 additions & 33 deletions
This file was deleted.

jdi-light-angular/src/main/java/com/epam/jdi/light/angular/elements/common/Chip.java

Lines changed: 18 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -7,40 +7,49 @@
77
import com.epam.jdi.light.common.JDIAction;
88
import com.epam.jdi.light.elements.base.UIBaseElement;
99
import com.epam.jdi.light.elements.interfaces.base.HasClick;
10+
import com.epam.jdi.light.ui.html.elements.common.Image;
1011

1112
public class Chip extends UIBaseElement<ChipAssert> implements HasClick, HasColor, HasIcon, HasImage {
1213

14+
15+
@JDIAction("Get if '{name} is selected'")
16+
public boolean selected() {
17+
return hasClass("mat-mdc-chip-selected");
18+
}
19+
1320
@JDIAction("Close '{name}'")
1421
public void close() {
15-
find("matChipRemove").click();
22+
find("[matChipRemove]").click();
1623
}
1724

1825
@JDIAction("Get if '{name}' is removable")
1926
public boolean removable() {
20-
return hasAttribute("matchipremove");
27+
return find("[matChipRemove]").isDisplayed();
28+
}
29+
30+
@JDIAction("Get if '{name}' background-color")
31+
public String getBackgroundColor() {
32+
return css("background-color");
2133
}
2234

2335
@JDIAction("Get if '{name} is focused'")
2436
public boolean focused() {
2537
return hasClass("cdk-focused");
2638
}
2739

28-
@JDIAction("Get if '{name} is selected'")
29-
public boolean selected() {
30-
return hasClass("mat-mdc-chip-selected");
31-
}
32-
3340
@JDIAction("Get if '{name} checkmark is visible'")
3441
public boolean showCheckMark() {
3542
return find("mdc-evolution-chip__checkmark").isVisible();
3643
}
3744

45+
@JDIAction("Get '{name} label text")
3846
public String getText() {
3947
return find(".mdc-evolution-chip__text-label").getText();
4048
}
4149

42-
public void click() {
43-
core().click();
50+
@JDIAction("Get '{name} avatar image")
51+
public Image leadingIcon() {
52+
return new Image().setCore(Image.class, find("[matchipavatar]"));
4453
}
4554

4655
@Override

0 commit comments

Comments
 (0)