Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- package ua.com.azhytnytskyi.refactoringtask;
- import com.codeborne.selenide.Configuration;
- import com.codeborne.selenide.ElementsCollection;
- import com.codeborne.selenide.Selenide;
- import com.codeborne.selenide.SelenideElement;
- import org.junit.Test;
- import static com.codeborne.selenide.CollectionCondition.exactTexts;
- import static com.codeborne.selenide.Condition.cssClass;
- import static com.codeborne.selenide.Condition.exactText;
- import static com.codeborne.selenide.Selenide.$;
- import static com.codeborne.selenide.Selenide.$$;
- import static com.codeborne.selenide.Selenide.open;
- @Test
- public void checkBasicTasksManagementFlow() {
- open("http://todomvc4tasj.herokuapp.com/");
- Selenide.sleep(1000);
- // Add new tasks
- add("a", "b", "c", "d");
- assertTasks("a", "b", "c", "d");
- // Editing check
- startEdit("a", "a edited").pressEnter();
- // Mark as completed and press Clear Completed button
- toggleTasks("a edited", "b");
- $("#clear-completed").click();
- assertTasks("c", "d");
- // Discard editing
- startEdit("c", "to be discarded").pressEscape();
- // Delete task
- findByExactText("c").hover().find(".destroy").click();
- assertTasks("d");
- }
- private final ElementsCollection tasks = $$("#todo-list>li");
- private void add(String... taskName) {
- for (String task: taskName) {
- $("#new-todo").setValue(task).pressEnter();
- }
- }
- private void assertTasks(String... taskName) {
- tasks.shouldHave(exactTexts(taskName));
- }
- private void toggleTasks(String... taskName){
- for (String task: taskName){
- findByExactText(task).find(".toggle").click();
- }
- }
- private SelenideElement startEdit(String oldTaskName, String newTaskName){
- findByExactText(oldTaskName).doubleClick();
- return tasks.findBy(cssClass("editing")).find(".edit").setValue(newTaskName);
- }
- private SelenideElement findByExactText(String taskName){
- return tasks.findBy(exactText(taskName));
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement