zhytnytskyi

TodoMvcTestKiss

Jun 28th, 2017
117
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 2.19 KB | None | 0 0
  1. package ua.com.azhytnytskyi.poctask;
  2.  
  3. import com.codeborne.selenide.Configuration;
  4. import com.codeborne.selenide.ElementsCollection;
  5. import com.codeborne.selenide.Selenide;
  6. import org.junit.Test;
  7. import static com.codeborne.selenide.CollectionCondition.exactTexts;
  8. import static com.codeborne.selenide.Condition.cssClass;
  9. import static com.codeborne.selenide.Condition.exactText;
  10. import static com.codeborne.selenide.Selenide.$;
  11. import static com.codeborne.selenide.Selenide.$$;
  12. import static com.codeborne.selenide.Selenide.open;
  13.  
  14. public class TodoMvcTestKiss {
  15.  
  16.     @Test
  17.     public void checkBasicTaskManagementFlow(){
  18.  
  19.         openPage();
  20.  
  21.         add("a", "b", "c", "d");
  22.         assertTasks("a", "b", "c", "d");
  23.  
  24.         edit("a","a edited");
  25.  
  26.         completeAndClear("a edited","b");
  27.         assertTasks("c", "d");
  28.  
  29.         discardEditing("c");
  30.  
  31.         delete("c");
  32.         assertTasks("d");
  33.     }
  34.  
  35.     private static final ElementsCollection tasks = $$("#todo-list>li");
  36.  
  37.     private void openPage(){
  38.         open("http://todomvc4tasj.herokuapp.com/");
  39.         Selenide.sleep(1000);
  40.     }
  41.  
  42.     private void add(String... taskName) {
  43.         for (String task: taskName) {
  44.             $("#new-todo").setValue(task).pressEnter();
  45.         }
  46.     }
  47.  
  48.     private void edit(String oldTaskName, String newTaskName){
  49.         tasks.findBy(exactText(oldTaskName)).doubleClick();
  50.         tasks.findBy(cssClass("editing")).find(".edit").setValue(newTaskName).pressEnter();
  51.     }
  52.  
  53.     private void completeAndClear(String... tasksToComplete){
  54.         for (String task: tasksToComplete){
  55.             tasks.findBy(exactText(task)).find(".toggle").click();
  56.         }
  57.         $("#clear-completed").click();
  58.     }
  59.  
  60.     private void discardEditing(String taskName){
  61.         tasks.findBy(exactText(taskName)).doubleClick();
  62.         tasks.findBy(cssClass("editing")).find(".edit").setValue("to be discarded").pressEscape();
  63.     }
  64.  
  65.     private void delete(String taskToDelete){
  66.         tasks.findBy(exactText(taskToDelete)).hover().find(".destroy").click();
  67.     }
  68.    
  69.     private static void assertTasks(String... taskName) {
  70.         tasks.shouldHave(exactTexts(taskName));
  71.     }
  72. }
Advertisement
Add Comment
Please, Sign In to add comment