diff --git a/jdi-light-vuetify/src/main/java/com/epam/jdi/light/vuetify/asserts/ChipAssert.java b/jdi-light-vuetify/src/main/java/com/epam/jdi/light/vuetify/asserts/ChipAssert.java index 4fb6f0af18..5d998a0918 100644 --- a/jdi-light-vuetify/src/main/java/com/epam/jdi/light/vuetify/asserts/ChipAssert.java +++ b/jdi-light-vuetify/src/main/java/com/epam/jdi/light/vuetify/asserts/ChipAssert.java @@ -7,6 +7,7 @@ import com.epam.jdi.light.asserts.generic.ColorAssert; import com.epam.jdi.light.vuetify.interfaces.asserts.MeasurementAssert; import com.epam.jdi.light.vuetify.interfaces.asserts.OutlinedAssert; +import com.epam.jdi.light.vuetify.interfaces.asserts.SizeAssert; import com.epam.jdi.light.vuetify.interfaces.asserts.ThemeAssert; import org.hamcrest.Matcher; import org.hamcrest.Matchers; @@ -14,7 +15,9 @@ import static com.epam.jdi.light.asserts.core.SoftAssert.jdiAssert; public class ChipAssert extends UIAssert implements ColorAssert, - OutlinedAssert, ThemeAssert, MeasurementAssert, + OutlinedAssert, ThemeAssert, + MeasurementAssert, + SizeAssert, ITextAssert { @Override @JDIAction(value = "Assert that '{name}' has text '{0}'", isAssert = true) @@ -91,36 +94,6 @@ public ChipAssert image() { return this; } - @JDIAction(value = "Assert that '{name}' size is x-small", isAssert = true) - public ChipAssert xSmallSize() { - jdiAssert(element().hasXSmallSize(), Matchers.is(true), "Chip's size is not x-small"); - return this; - } - - @JDIAction(value = "Assert that '{name}' size is small", isAssert = true) - public ChipAssert smallSize() { - jdiAssert(element().hasSmallSize(), Matchers.is(true), "Chip's size is not small"); - return this; - } - - @JDIAction(value = "Assert that '{name}' size is default", isAssert = true) - public ChipAssert defaultSize() { - jdiAssert(element().hasDefaultSize(), Matchers.is(true), "Chip's size is not default"); - return this; - } - - @JDIAction(value = "Assert that '{name}' size is large", isAssert = true) - public ChipAssert largeSize() { - jdiAssert(element().hasLargeSize(), Matchers.is(true), "Chip's size is not large"); - return this; - } - - @JDIAction(value = "Assert that '{name}' size is x-large", isAssert = true) - public ChipAssert xLargeSize() { - jdiAssert(element().hasXLargeSize(), Matchers.is(true), "Chip's size is not x-large"); - return this; - } - @JDIAction(value = "Assert that '{name}' is removable", isAssert = true) public ChipAssert removable() { jdiAssert(element().isRemovable(), Matchers.is(true), "Chip is not removable"); diff --git a/jdi-light-vuetify/src/main/java/com/epam/jdi/light/vuetify/asserts/VuetifyButtonAssert.java b/jdi-light-vuetify/src/main/java/com/epam/jdi/light/vuetify/asserts/VuetifyButtonAssert.java index 0c921e4257..abfbbccf1f 100644 --- a/jdi-light-vuetify/src/main/java/com/epam/jdi/light/vuetify/asserts/VuetifyButtonAssert.java +++ b/jdi-light-vuetify/src/main/java/com/epam/jdi/light/vuetify/asserts/VuetifyButtonAssert.java @@ -6,11 +6,7 @@ import com.epam.jdi.light.common.JDIAction; import com.epam.jdi.light.vuetify.elements.common.VuetifyButton; import com.epam.jdi.light.asserts.generic.ColorAssert; -import com.epam.jdi.light.vuetify.interfaces.asserts.ElevationAssert; -import com.epam.jdi.light.vuetify.interfaces.asserts.MeasurementAssert; -import com.epam.jdi.light.vuetify.interfaces.asserts.OutlinedAssert; -import com.epam.jdi.light.vuetify.interfaces.asserts.RoundedAssert; -import com.epam.jdi.light.vuetify.interfaces.asserts.ThemeAssert; +import com.epam.jdi.light.vuetify.interfaces.asserts.*; import org.hamcrest.Matchers; @@ -18,7 +14,7 @@ public class VuetifyButtonAssert extends TextAssert implements ThemeAssert, ColorAssert, OutlinedAssert, ElevationAssert, MeasurementAssert, - RoundedAssert { + RoundedAssert, SizeAssert { @Override public VuetifyButton element() { diff --git a/jdi-light-vuetify/src/main/java/com/epam/jdi/light/vuetify/elements/common/Chip.java b/jdi-light-vuetify/src/main/java/com/epam/jdi/light/vuetify/elements/common/Chip.java index 8656992852..1d5e9ec1c7 100644 --- a/jdi-light-vuetify/src/main/java/com/epam/jdi/light/vuetify/elements/common/Chip.java +++ b/jdi-light-vuetify/src/main/java/com/epam/jdi/light/vuetify/elements/common/Chip.java @@ -6,18 +6,14 @@ import com.epam.jdi.light.elements.interfaces.base.HasClick; import com.epam.jdi.light.vuetify.asserts.ChipAssert; import com.epam.jdi.light.elements.interfaces.base.HasColor; -import com.epam.jdi.light.vuetify.interfaces.HasIcon; -import com.epam.jdi.light.vuetify.interfaces.HasImage; -import com.epam.jdi.light.vuetify.interfaces.HasMeasurement; -import com.epam.jdi.light.vuetify.interfaces.HasTheme; -import com.epam.jdi.light.vuetify.interfaces.IsOutlined; +import com.epam.jdi.light.vuetify.interfaces.*; /** * To see an example of Chip web element please visit https://v2.vuetifyjs.com/en/components/chips/ */ public class Chip extends UIBaseElement implements HasClick, HasColor, HasIcon, HasImage, - HasTheme, IsOutlined, HasMeasurement { + HasTheme, IsOutlined, HasMeasurement, HasSize { private static final String CONTENT_LOCATOR = ".v-chip__content"; private static final String CLOSE_BUTTON_LOCATOR = "button.v-chip__close"; @@ -76,7 +72,6 @@ public Image image() { return new Image().setCore(Image.class, core().find(IMAGE_LOCATOR)); } - // @todo #5309 Ass interface for sizes (all small, x-small, default, large, x-large) @JDIAction("Get if '{name}' hss x-small size") public boolean hasXSmallSize() { return core().hasClass("v-size--x-small"); diff --git a/jdi-light-vuetify/src/main/java/com/epam/jdi/light/vuetify/elements/common/VuetifyButton.java b/jdi-light-vuetify/src/main/java/com/epam/jdi/light/vuetify/elements/common/VuetifyButton.java index abd0f1d86e..96c327d541 100644 --- a/jdi-light-vuetify/src/main/java/com/epam/jdi/light/vuetify/elements/common/VuetifyButton.java +++ b/jdi-light-vuetify/src/main/java/com/epam/jdi/light/vuetify/elements/common/VuetifyButton.java @@ -7,12 +7,7 @@ import com.epam.jdi.light.ui.html.elements.common.Button; import com.epam.jdi.light.vuetify.asserts.VuetifyButtonAssert; import com.epam.jdi.light.elements.interfaces.base.HasColor; -import com.epam.jdi.light.vuetify.interfaces.HasElevation; -import com.epam.jdi.light.vuetify.interfaces.HasIcon; -import com.epam.jdi.light.vuetify.interfaces.HasMeasurement; -import com.epam.jdi.light.vuetify.interfaces.HasRounded; -import com.epam.jdi.light.vuetify.interfaces.HasTheme; -import com.epam.jdi.light.vuetify.interfaces.IsOutlined; +import com.epam.jdi.light.vuetify.interfaces.*; import static com.epam.jdi.light.asserts.core.SoftAssert.assertSoft; @@ -22,7 +17,7 @@ */ public class VuetifyButton extends Button implements HasClick, HasIcon, - HasColor, HasTheme, HasElevation, IsOutlined, + HasColor, HasTheme, HasElevation, IsOutlined, HasSize, HasMeasurement, HasRounded { @UI(".v-btn__loader") diff --git a/jdi-light-vuetify/src/main/java/com/epam/jdi/light/vuetify/interfaces/HasSize.java b/jdi-light-vuetify/src/main/java/com/epam/jdi/light/vuetify/interfaces/HasSize.java new file mode 100644 index 0000000000..ba862616b4 --- /dev/null +++ b/jdi-light-vuetify/src/main/java/com/epam/jdi/light/vuetify/interfaces/HasSize.java @@ -0,0 +1,32 @@ +package com.epam.jdi.light.vuetify.interfaces; + +import com.epam.jdi.light.common.JDIAction; +import com.epam.jdi.light.elements.interfaces.base.ICoreElement; + +public interface HasSize extends ICoreElement { + + @JDIAction("Get if '{name}' hss x-small size") + default boolean xSmallSize() { + return core().hasClass("v-size--x-small"); + } + + @JDIAction("Get if '{name}' has small size") + default boolean smallSize() { + return core().hasClass("v-size--small"); + } + + @JDIAction("Get if '{name}' has default size") + default boolean defaultSize() { + return core().hasClass("v-size--default"); + } + + @JDIAction("Get if '{name}' has large size") + default boolean largeSize() { + return core().hasClass("v-size--large"); + } + + @JDIAction("Get if '{name}' has x-large size") + default boolean xLargeSize() { + return core().hasClass("v-size--x-large"); + } +} diff --git a/jdi-light-vuetify/src/main/java/com/epam/jdi/light/vuetify/interfaces/asserts/SizeAssert.java b/jdi-light-vuetify/src/main/java/com/epam/jdi/light/vuetify/interfaces/asserts/SizeAssert.java new file mode 100644 index 0000000000..bc94a51190 --- /dev/null +++ b/jdi-light-vuetify/src/main/java/com/epam/jdi/light/vuetify/interfaces/asserts/SizeAssert.java @@ -0,0 +1,41 @@ +package com.epam.jdi.light.vuetify.interfaces.asserts; + +import com.epam.jdi.light.asserts.generic.IBaseAssert; +import com.epam.jdi.light.common.JDIAction; +import com.epam.jdi.light.vuetify.interfaces.HasSize; +import org.hamcrest.Matchers; + +import static com.epam.jdi.light.asserts.core.SoftAssert.jdiAssert; + +public interface SizeAssert extends IBaseAssert { + + @JDIAction(value = "Assert that '{name}' size is x-small", isAssert = true) + default A xSmallSize() { + jdiAssert(element().xSmallSize(), Matchers.is(true), "Chip's size is not x-small"); + return (A) this; + } + + @JDIAction(value = "Assert that '{name}' size is small", isAssert = true) + default A smallSize() { + jdiAssert(element().smallSize(), Matchers.is(true), "Chip's size is not small"); + return (A) this; + } + + @JDIAction(value = "Assert that '{name}' size is default", isAssert = true) + default A defaultSize() { + jdiAssert(element().defaultSize(), Matchers.is(true), "Chip's size is not default"); + return (A) this; + } + + @JDIAction(value = "Assert that '{name}' size is large", isAssert = true) + default A largeSize() { + jdiAssert(element().largeSize(), Matchers.is(true), "Chip's size is not large"); + return (A) this; + } + + @JDIAction(value = "Assert that '{name}' size is x-large", isAssert = true) + default A xLargeSize() { + jdiAssert(element().xLargeSize(), Matchers.is(true), "Chip's size is not x-large"); + return (A) this; + } +}