[e2e] Checking Topic creation possibility in case of empty Topic Name (#2888)

* [e2e] Checking Topic creation possibility in case of empty Topic Name

* [e2e] Fix1. createTopicButtonIsEnabled() changed to isCreateTopicButtonEnabled()
This commit is contained in:
Arthur 2022-11-07 12:39:16 +02:00 committed by GitHub
parent 0818bb0144
commit 70cdeea819
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
3 changed files with 56 additions and 15 deletions

View file

@ -8,6 +8,7 @@ import io.qameta.allure.Step;
import static com.codeborne.selenide.Selenide.*; import static com.codeborne.selenide.Selenide.*;
import static com.provectus.kafka.ui.utilities.WebUtils.clickByJavaScript; import static com.provectus.kafka.ui.utilities.WebUtils.clickByJavaScript;
import static com.provectus.kafka.ui.utilities.WebUtils.isEnabled;
import static org.assertj.core.api.Assertions.assertThat; import static org.assertj.core.api.Assertions.assertThat;
public class TopicCreateEditForm { public class TopicCreateEditForm {
@ -269,6 +270,10 @@ public class TopicCreateEditForm {
} }
} }
public boolean isCreateTopicButtonEnabled(){
return isEnabled(createTopicBtn);
}
private TopicCreateEditForm selectFromDropDownByOptionValue(String dropDownElementName, private TopicCreateEditForm selectFromDropDownByOptionValue(String dropDownElementName,
String optionValue) { String optionValue) {
KafkaUISelectElement select = new KafkaUISelectElement(dropDownElementName); KafkaUISelectElement select = new KafkaUISelectElement(dropDownElementName);

View file

@ -46,4 +46,15 @@ public class WebUtils {
return isVisible; return isVisible;
} }
} public static boolean isEnabled(SelenideElement element) {
log.debug("\nisEnabled: {}", element.getSearchCriteria());
boolean isEnabled = false;
try {
element.shouldBe(Condition.enabled);
isEnabled = true;
} catch (Throwable e) {
log.debug("{} is not enabled", element.getSearchCriteria());
}
return isEnabled;
}
}

View file

@ -1,19 +1,5 @@
package com.provectus.kafka.ui.tests; package com.provectus.kafka.ui.tests;
import com.provectus.kafka.ui.base.BaseTest;
import com.provectus.kafka.ui.models.Topic;
import com.provectus.kafka.ui.pages.topic.TopicDetails;
import com.provectus.kafka.ui.utilities.qaseIoUtils.annotations.AutomationStatus;
import com.provectus.kafka.ui.utilities.qaseIoUtils.annotations.Suite;
import com.provectus.kafka.ui.utilities.qaseIoUtils.enums.Status;
import io.qameta.allure.Issue;
import io.qase.api.annotation.CaseId;
import org.assertj.core.api.SoftAssertions;
import org.junit.jupiter.api.*;
import java.util.ArrayList;
import java.util.List;
import static com.provectus.kafka.ui.pages.NaviSideBar.SideMenuOption.TOPICS; import static com.provectus.kafka.ui.pages.NaviSideBar.SideMenuOption.TOPICS;
import static com.provectus.kafka.ui.pages.topic.TopicCreateEditForm.CleanupPolicyValue.COMPACT; import static com.provectus.kafka.ui.pages.topic.TopicCreateEditForm.CleanupPolicyValue.COMPACT;
import static com.provectus.kafka.ui.pages.topic.TopicCreateEditForm.CleanupPolicyValue.DELETE; import static com.provectus.kafka.ui.pages.topic.TopicCreateEditForm.CleanupPolicyValue.DELETE;
@ -23,6 +9,25 @@ import static com.provectus.kafka.ui.utilities.FileUtils.fileToString;
import static org.apache.commons.lang.RandomStringUtils.randomAlphabetic; import static org.apache.commons.lang.RandomStringUtils.randomAlphabetic;
import static org.assertj.core.api.Assertions.assertThat; import static org.assertj.core.api.Assertions.assertThat;
import com.provectus.kafka.ui.base.BaseTest;
import com.provectus.kafka.ui.models.Topic;
import com.provectus.kafka.ui.pages.topic.TopicDetails;
import com.provectus.kafka.ui.utilities.qaseIoUtils.annotations.AutomationStatus;
import com.provectus.kafka.ui.utilities.qaseIoUtils.annotations.Suite;
import com.provectus.kafka.ui.utilities.qaseIoUtils.enums.Status;
import io.qameta.allure.Issue;
import io.qase.api.annotation.CaseId;
import java.util.ArrayList;
import java.util.List;
import org.assertj.core.api.SoftAssertions;
import org.junit.jupiter.api.AfterAll;
import org.junit.jupiter.api.Assertions;
import org.junit.jupiter.api.BeforeAll;
import org.junit.jupiter.api.Disabled;
import org.junit.jupiter.api.DisplayName;
import org.junit.jupiter.api.Test;
import org.junit.jupiter.api.TestInstance;
@TestInstance(TestInstance.Lifecycle.PER_CLASS) @TestInstance(TestInstance.Lifecycle.PER_CLASS)
public class TopicTests extends BaseTest { public class TopicTests extends BaseTest {
private static final long SUITE_ID = 2; private static final long SUITE_ID = 2;
@ -239,6 +244,26 @@ public class TopicTests extends BaseTest {
.withFailMessage("isTopicInConsumersDetailsVisible").isTrue(); .withFailMessage("isTopicInConsumersDetailsVisible").isTrue();
} }
@DisplayName("Checking Topic creation possibility in case of empty Topic Name")
@Suite(suiteId = SUITE_ID, title = SUITE_TITLE)
@AutomationStatus(status = Status.AUTOMATED)
@CaseId(4)
@Test
void checkTopicCreatePossibility() {
naviSideBar
.openSideMenu(TOPICS);
topicsList
.waitUntilScreenReady()
.clickAddTopicBtn();
topicCreateEditForm
.waitUntilScreenReady()
.setTopicName("");
assertThat(topicCreateEditForm.isCreateTopicButtonEnabled()).as("isCreateTopicButtonEnabled()").isFalse();
topicCreateEditForm
.setTopicName("testTopic1");
assertThat(topicCreateEditForm.isCreateTopicButtonEnabled()).as("isCreateTopicButtonEnabled()").isTrue();
}
@AfterAll @AfterAll
public void afterAll() { public void afterAll() {
TOPIC_LIST.forEach(topic -> apiHelper.deleteTopic(CLUSTER_NAME, topic.getName())); TOPIC_LIST.forEach(topic -> apiHelper.deleteTopic(CLUSTER_NAME, topic.getName()));