Skip to content

Commit 7838367

Browse files
authored
Merge pull request #5299 from jdi-testing/fix_todo_1
Fix vue: ListItem, ListItemGroup
2 parents ed480ce + 019a656 commit 7838367

File tree

14 files changed

+313
-364
lines changed

14 files changed

+313
-364
lines changed

jdi-light-bootstrap/src/main/java/com/epam/jdi/light/ui/bootstrap/elements/complex/RadioButtons.java

Lines changed: 2 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -16,15 +16,13 @@ public class RadioButtons extends com.epam.jdi.light.ui.html.elements.complex.Ra
1616

1717
@Override
1818
public WebList list() {
19-
WebList radioBtnWebList = new WebList(base()).setup(b -> b.setSearchRule("Any", ANY_ELEMENT))
19+
return new WebList(base()).setup(b -> b.setSearchRule("Any", ANY_ELEMENT))
2020
.setUIElementName(LABEL);
21-
return radioBtnWebList;
2221
}
2322

2423
public WebList list(JFunc1<WebElement, Boolean> searchRule, ElementArea elementArea) {
25-
WebList radioBtnWebList = new WebList(base()).setup(jdiB -> jdiB.setSearchRule("UNDEFINED", searchRule))
24+
return new WebList(base()).setup(jdiB -> jdiB.setSearchRule("UNDEFINED", searchRule))
2625
.setUIElementName(LABEL);
27-
return radioBtnWebList;
2826
}
2927

3028
}

jdi-light-vuetify-tests/src/main/java/io/github/com/pages/ItemGroupsPage.java

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -10,6 +10,7 @@
1010

1111
public class ItemGroupsPage extends VuetifyPage {
1212

13+
// @todo v-card is locator for the Card class
1314
@UI("#ActiveClassItemGroup .v-card")
1415
public static PrimaryItemGroup activeClassItemGroup;
1516

jdi-light-vuetify-tests/src/main/java/io/github/com/pages/ListItemGroupsPage.java

Lines changed: 16 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -2,30 +2,32 @@
22

33
import com.epam.jdi.light.elements.pageobjects.annotations.locators.UI;
44
import com.epam.jdi.light.vuetify.elements.common.VueCheckbox;
5-
import com.epam.jdi.light.vuetify.elements.complex.ListItemGroups;
5+
import com.epam.jdi.light.vuetify.elements.complex.ListItemGroup;
66

77
import java.util.List;
88

99
public class ListItemGroupsPage extends VuetifyPage {
10+
/*
11+
* @todo #5298 Clean up the page, check the tests
12+
*/
13+
@UI("#ActiveClassListItemGroup .v-list-item-group")
14+
public static ListItemGroup activeClassListItemGroup;
1015

11-
@UI("#ActiveClassListItemGroup .v-list-item")
12-
public static List<ListItemGroups> activeClassListItemGroup;
16+
@UI("#MandatoryListItemGroup .v-list-item-group")
17+
public static ListItemGroup mandatoryListItemGroup;
1318

14-
@UI("#MandatoryListItemGroup .v-list-item")
15-
public static List<ListItemGroups> mandatoryListItemGroup;
19+
@UI("#MultipleListItemGroup .v-list-item-group")
20+
public static ListItemGroup multipleListItemGroup;
1621

17-
@UI("#MultipleListItemGroup .v-list-item")
18-
public static List<ListItemGroups> multipleListItemGroup;
22+
@UI("#FlatListListItemGroup .v-list-item-group")
23+
public static ListItemGroup flatListItemGroup;
1924

20-
@UI("#FlatListListItemGroup .v-list-item")
21-
public static List<ListItemGroups> flatListItemGroup;
22-
23-
@UI("#SelectionControlsListItemGroup .v-list-item")
24-
public static List<ListItemGroups> selectionControlsListItemGroup;
25+
@UI("#SelectionControlsListItemGroup .v-list-item-group")
26+
public static ListItemGroup selectionControlsListItemGroup;
2527

2628
@UI("#SelectionControlsListItemGroup div[role='option']")
2729
public static List<VueCheckbox> selectionControlsListItemGroupCheckbox;
2830

29-
@UI("#WithSubgroupListItemGroup .v-list-item,#WithSubgroupListItemGroup .v-list-group")
30-
public static List<ListItemGroups> withSubgroupListItemGroup;
31+
@UI("#WithSubgroupListItemGroup .v-list-item-group")
32+
public static ListItemGroup withSubgroupListItemGroup;
3133
}

jdi-light-vuetify-tests/src/test/java/io/github/epam/vuetify/tests/complex/ItemGroupsTests.java

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -136,6 +136,7 @@ public void maxChipsItemGroupTest() {
136136
//On our test-site max=3
137137
chipsItemGroup.is().displayed();
138138
chipsItemGroup.list().forEach(HasClick::click);
139+
chipsItemGroup.selected();
139140
long selectedItems = chipsItemGroup.list().stream().filter(el -> el.hasClass("v-item--active")).count();
140141
Assert.assertEquals(selectedItems, 3, "");
141142
}
Lines changed: 64 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,64 @@
1+
package io.github.epam.vuetify.tests.complex;
2+
3+
import com.epam.jdi.light.vuetify.elements.common.ListItem;
4+
import io.github.epam.TestsInit;
5+
import org.testng.annotations.BeforeClass;
6+
import org.testng.annotations.Test;
7+
8+
import java.util.Arrays;
9+
import java.util.List;
10+
11+
import static com.jdiai.tools.Timer.waitCondition;
12+
import static io.github.com.StaticSite.listItemGroupsPage;
13+
import static io.github.com.pages.ListItemGroupsPage.activeClassListItemGroup;
14+
import static io.github.com.pages.ListItemGroupsPage.flatListItemGroup;
15+
16+
public class ListItemGroupTests extends TestsInit {
17+
@BeforeClass
18+
public void setup() {
19+
listItemGroupsPage.open();
20+
waitCondition(() -> listItemGroupsPage.isOpened());
21+
listItemGroupsPage.checkOpened();
22+
23+
}
24+
25+
@Test(description = "Test checks if list item is active or not")
26+
public void activeClassListItemGroupTest() {
27+
ListItem item = activeClassListItemGroup.items().get(0);
28+
item.click();
29+
item.is().active();
30+
item.click();
31+
item.is().notActive();
32+
}
33+
34+
@Test(description = "Test checks if list item has border or not")
35+
public void borderListItemGroupTest() {
36+
ListItem item = activeClassListItemGroup.items().get(2);
37+
item.click();
38+
item.has().border();
39+
item.click();
40+
item.has().noBorder();
41+
}
42+
43+
@Test(description = "Test checks list items texts")
44+
public void textListItemGroupTest() {
45+
List<String> expectedTitles = Arrays.asList("Wifi", "Bluetooth", "Data Usage");
46+
for (int i = 0; i < expectedTitles.size(); i++) {
47+
activeClassListItemGroup.items().get(i).is().text(expectedTitles.get(i));
48+
}
49+
}
50+
51+
@Test(description = "Test checks that list item group has icon")
52+
public void iconListItemGroup() {
53+
flatListItemGroup.show();
54+
flatListItemGroup.items().stream().forEach(e -> e.has().icon());
55+
}
56+
57+
@Test(description = "Test checks list item group's theme : Theme (dark/light)")
58+
public void themeListItemGroup() {
59+
activeClassListItemGroup.show();
60+
activeClassListItemGroup.has().theme("theme--dark");
61+
flatListItemGroup.show();
62+
flatListItemGroup.has().theme("theme--light");
63+
}
64+
}

jdi-light-vuetify-tests/src/test/java/io/github/epam/vuetify/tests/complex/ListItemGroupsTests.java

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

jdi-light-vuetify/src/main/java/com/epam/jdi/light/vuetify/asserts/ListItemAssert.java

Lines changed: 32 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,8 @@
1212
/**
1313
* Assertions for {@link ListItem}
1414
*/
15-
public class ListItemAssert extends UIAssert<ListItemAssert, ListItem> implements ITextAssert<ListItemAssert> {
15+
public class ListItemAssert extends UIAssert<ListItemAssert, ListItem>
16+
implements ITextAssert<ListItemAssert> {
1617

1718
@Override
1819
@JDIAction(value = "Assert that '{name}' is displayed", isAssert = true)
@@ -123,4 +124,34 @@ public ListItemAssert subtitle(String expSubtitle) {
123124
jdiAssert(element().subtitle().text(), Matchers.is(expSubtitle));
124125
return this;
125126
}
127+
128+
@JDIAction(value = "Assert that '{name}' has border", isAssert = true)
129+
public ListItemAssert border() {
130+
jdiAssert(element().hasBorder(), Matchers.is(true), "ListItem has no border");
131+
return this;
132+
}
133+
134+
@JDIAction(value = "Assert that '{name}' has not border", isAssert = true)
135+
public ListItemAssert noBorder() {
136+
jdiAssert(element().hasBorder(), Matchers.is(false), "ListItem has border");
137+
return this;
138+
}
139+
140+
@JDIAction(value = "Assert that '{name}' has icon", isAssert = true)
141+
public ListItemAssert icon() {
142+
jdiAssert(element().hasIcon(), Matchers.is(true), "ListItem does not have icon");
143+
return this;
144+
}
145+
146+
@JDIAction(value = "Assert that '{name}' has no icon", isAssert = true)
147+
public ListItemAssert noIcon() {
148+
jdiAssert(element().hasIcon(), Matchers.is(false), "ListItem has icon");
149+
return this;
150+
}
151+
152+
@JDIAction(value = "Assert that '{name}' theme is {0}", isAssert = true)
153+
public ListItemAssert theme(String theme) {
154+
jdiAssert(element().theme(), Matchers.is(theme));
155+
return this;
156+
}
126157
}

0 commit comments

Comments
 (0)