Переглянути джерело

[e2e]SchemasTests.updateSchemaAvro : Update schema avro ( REFACTORED WITH NEW ASSERTIONS) (#2992)

* Added softAssertions and few methods for assert

* Refactored softAssertions and few methods for assert

(cherry picked from commit 86c72d7d8527e00aaa5ac45a04a8909e7a6a21fb)
Alexandr Nezboretskiy 2 роки тому
батько
коміт
51b5b3339f

+ 18 - 4
kafka-ui-e2e-checks/src/main/java/com/provectus/kafka/ui/pages/schema/SchemaCreateForm.java

@@ -11,6 +11,8 @@ import com.provectus.kafka.ui.api.model.SchemaType;
 import com.provectus.kafka.ui.pages.BasePage;
 import io.qameta.allure.Step;
 import java.util.List;
+import java.util.stream.Collectors;
+import java.util.stream.Stream;
 
 public class SchemaCreateForm extends BasePage {
 
@@ -21,6 +23,7 @@ public class SchemaCreateForm extends BasePage {
     protected SelenideElement schemaTypeDdl = $x("//ul[@name='schemaType']");
     protected SelenideElement compatibilityLevelList = $x("//ul[@name='compatibilityLevel']");
     protected SelenideElement newSchemaTextArea = $x("//div[@id='newSchema']");
+    protected SelenideElement latestSchemaTextArea = $x("//div[@id='latestSchema']");
     protected SelenideElement schemaVersionDdl = $$x("//ul[@role='listbox']/li[text()='Version 2']").first();
     protected List<SelenideElement> visibleMarkers = $$x("//div[@class='ace_scroller']//div[contains(@class,'codeMarker')]");
     protected List<SelenideElement> elementsCompareVersionDdl = $$x("//ul[@role='listbox']/ul/li");
@@ -96,14 +99,25 @@ public class SchemaCreateForm extends BasePage {
     }
 
     @Step
-    public boolean isSchemaDropDownDisabled(){
-        boolean disabled = false;
+    public List<SelenideElement> getAllDetailsPageElements() {
+      return Stream.of(compatibilityLevelList, newSchemaTextArea, latestSchemaTextArea, submitBtn, schemaTypeDdl)
+          .collect(Collectors.toList());
+    }
+
+    @Step
+    public boolean isSubmitBtnEnabled(){
+      return isEnabled(submitBtn);
+    }
+
+    @Step
+    public boolean isSchemaDropDownEnabled(){
+        boolean enabled = true;
         try{
             String attribute = schemaTypeDdl.getAttribute("disabled");
-            disabled = true;
+            enabled = false;
         }
         catch (Throwable ignored){
         }
-        return disabled;
+        return enabled;
     }
 }

+ 8 - 1
kafka-ui-e2e-checks/src/test/java/com/provectus/kafka/ui/suite/schemas/SchemasTests.java

@@ -4,6 +4,7 @@ import static com.provectus.kafka.ui.pages.NaviSideBar.SideMenuOption.SCHEMA_REG
 import static com.provectus.kafka.ui.settings.Source.CLUSTER_NAME;
 import static com.provectus.kafka.ui.utilities.FileUtils.fileToString;
 
+import com.codeborne.selenide.Condition;
 import com.provectus.kafka.ui.api.model.CompatibilityLevel;
 import com.provectus.kafka.ui.base.BaseTest;
 import com.provectus.kafka.ui.models.Schema;
@@ -93,7 +94,13 @@ public class SchemasTests extends BaseTest {
                 .openEditSchema();
         schemaCreateForm
                 .waitUntilScreenReady();
-        Assertions.assertTrue(schemaCreateForm.isSchemaDropDownDisabled(),"isSchemaDropDownDisabled()");
+        SoftAssertions softly = new SoftAssertions();
+        schemaCreateForm.getAllDetailsPageElements()
+            .forEach(element -> softly.assertThat(element.is(Condition.visible))
+                .as(element.getSearchCriteria() + " isVisible").isTrue());
+        softly.assertThat(schemaCreateForm.isSubmitBtnEnabled()).as("isSubmitBtnEnabled()").isFalse();
+        softly.assertThat(schemaCreateForm.isSchemaDropDownEnabled()).as("isSchemaDropDownEnabled()").isFalse();
+        softly.assertAll();
         schemaCreateForm
                 .selectCompatibilityLevelFromDropdown(CompatibilityLevel.CompatibilityEnum.NONE)
                 .setNewSchemaValue(fileToString(AVRO_API.getValuePath()))