julia_v_iluhina

Untitled

Sep 19th, 2016
100
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 3.19 KB | None | 0 0
  1. public class TodoMVCTest {
  2.  
  3.     @Test
  4.     public void testTaskManager(){
  5.     /*
  6.         testTasksLifeCycle
  7.         testTasksManagement
  8.         testTasksCommonFlow
  9.  
  10.         см https://docs.google.com/document/d/10qSwWTQ6pGfVZSwOes-1QSmdflMiGD2U_y53VHq2m20/edit#bookmark=id.txqig9rkgybo
  11.        
  12.         нам, для е2е теста - подойдут имена - описание процесса, который тестируем
  13.        
  14.         Manager - это тестируемый объект, в нашем приложении - нету такого )
  15.         Management, LifeCycle, CommonFlow - тестируемый процесс, процесс - есть
  16.     */
  17.         open("https://todomvc4tasj.herokuapp.com/");
  18.  
  19.         // Create tasks
  20.         $("#new-todo").setValue("task1").pressEnter();
  21.         $("#new-todo").setValue("task2").pressEnter();
  22.         $("#new-todo").setValue("task3").pressEnter();
  23.         $("#new-todo").setValue("task4").pressEnter();
  24.         $$("#todo-list li").shouldHave(exactTexts("task1", "task2", "task3", "task4"));
  25.  
  26.         // Delete task2
  27.         $$("#todo-list li").get(1).hover();
  28.         $$("#todo-list li .destroy").get(1).click();
  29.         /*
  30.             лучше продвигаться от внешнего к внутреннему
  31.             был у нас список тасок "#todo-list li"
  32.             нам нужна - такая-то таска
  33.             и уже внутри нее - кнопка .destroy
  34.            
  35.             такой подход - когда мы продвигаемся именно в таком порядке -
  36.             позводит писать более наглядный, надежный и простой код
  37.            
  38.             далее по коду - похожая ситуация с .toggle
  39.            
  40.             думаю, после просмотра следующего видео - вопросы уйдут            
  41.         */
  42.         $$("#todo-list li").shouldHave(exactTexts("task1","task3", "task4"));
  43.  
  44.         // Mark task4 as completed
  45.         $$("#todo-list li .toggle").get(2).click();
  46.         $$("#todo-list li.completed").shouldHave(exactTexts("task4"));
  47.         /*
  48.             да, я именно про такие проверки писала в прошлом ревью
  49.            
  50.             тоже - просмотр следующего видео добавит понимания про такого рода проверки
  51.         */
  52.  
  53.         // Clear completed
  54.         $("#clear-completed").click();
  55.         $$("#todo-list li").shouldHave(exactTexts("task1","task3"));
  56.  
  57.         // Mark all as completed
  58.         $("#toggle-all").click();
  59.         $$("#todo-list li.completed").shouldHave(exactTexts("task1", "task3"));
  60.  
  61.         // Clear completed
  62.         $("#clear-completed").click();
  63.         $$("#todo-list li").shouldHave(size(0));
  64.         /*
  65.             $$("#todo-list li").shouldHave(size(0));
  66.             технически - верно
  67.            
  68.             но - можно чуть лаконичнее и нагляднее
  69.             $$("#todo-list li").shouldHave(empty);
  70.         */
  71. }
Advertisement
Add Comment
Please, Sign In to add comment