julia_v_iluhina

Untitled

Oct 28th, 2016
90
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 4.82 KB | None | 0 0
  1. public class TodoMVCTest {
  2.  
  3.   @Test
  4.   public void createTasksAndDeleteTasks() {
  5.   /*
  6.     далеко не все перечислил)
  7.     тут мы делаем create, delete, complete, complete all, clear completed
  8.     createDeleteCompleteCompleteAllAndClearCompletedTasks() - безумно )
  9.     и совершенно ненаглядно
  10.  
  11.     писала в http://pastebin.com/ieY3rwh2
  12.     для этого применяют такой прием
  13.         https://docs.google.com/document/d/10qSwWTQ6pGfVZSwOes-1QSmdflMiGD2U_y53VHq2m20/edit#bookmark=id.txqig9rkgybo
  14.     речь про этот раздел, и его советы  http://joxi.ru/82QYoQyI1QK1P2
  15.  
  16.     будет ок -
  17.     tasksLifeCycle, tasksCommonFlow
  18.     ну или
  19.     testTasksLifeCycle, testTasksCommonFlow
  20.     в зависимости от того, какого варианта правил насчет нейминга тест-методов будешь придерживаться
  21.   */
  22.  
  23.     open("https://todomvc4tasj.herokuapp.com/");
  24.  
  25. //    task creation
  26.     $("#new-todo").setValue("task1").pressEnter();
  27.     $("#new-todo").setValue("task2").pressEnter();
  28.     $("#new-todo").setValue("task3").pressEnter();
  29.     $("#new-todo").setValue("task4").pressEnter();
  30.     $$("#todo-list li").shouldHave(exactTexts("task1", "task2", "task3", "task4"));
  31.  
  32. //    delete task2
  33.     $("#todo-list li:nth-of-type(2)").hover();
  34.     $("#todo-list li:nth-of-type(2) .destroy").click();
  35.     $$("#todo-list li").shouldHave(exactTexts("task1", "task3", "task4"));
  36.  
  37. //    mark task4 as completed
  38.     $("#todo-list li:nth-of-type(3) .toggle").click();
  39. //    clear completed
  40.     $("#clear-completed").click();
  41.     $$("#todo-list li").shouldHave(exactTexts("task1", "task3"));
  42.  
  43. //    mark all as completed
  44.     $("#toggle-all").click();
  45. //    clear completed
  46.     $("#clear-completed").click();
  47.     $$("#todo-list li").shouldHave(size(0));
  48.     /*
  49.         эту проверку можно переписать как
  50.         $$("#todo-list li").shouldBe(empty);
  51.  
  52.         технически - єто одно и то же
  53.  
  54.         вариант кондишена size(0) и empty - выполняют одно и то же
  55.         и методы shouldHave и shouldBe - это синонимы
  56.  
  57.         просто - используем тот вариант, который обеспечивает наиболее натуральную фразу
  58.         должен иметь размер (shouldHave(size(0)))
  59.         должен быть пустым (shouldBe(empty))
  60.  
  61.     */
  62.  
  63.   }
  64. }
  65. ***************************************************************
  66. /*
  67.     приведу твой же код, но с немного подправленным форматированием
  68.    
  69.     я в прошлый раз писала - что от некоторых комментариев стоит уже избавиться -
  70.     т к они уже ничего не поясняют - код и так понятен
  71.    
  72.     обрати внимание и на формулировки в комментариях - лаконично и точно
  73.     если можно написать короче без потери точности - надо так написать
  74.     и про выравнивание комментариев
  75.    
  76.     отступы для комментариев - тоже изменила
  77.    
  78.     казалось бы - подправлены мелочи
  79.     код остался тем же по сути
  80.     а легче его воспринимать
  81.    
  82.     с этим тоже - на курсе будем постоянно работать
  83.    
  84.     в приведенном коде - поправила только оформление
  85.     выше описанное - надо поправить
  86. */
  87. public class TodoMVCTest {
  88.  
  89.   @Test
  90.   public void createTasksAndDeleteTasks() {
  91.  
  92.     open("https://todomvc4tasj.herokuapp.com/");
  93.  
  94.     //create tasks
  95.     $("#new-todo").setValue("task1").pressEnter();
  96.     $("#new-todo").setValue("task2").pressEnter();
  97.     $("#new-todo").setValue("task3").pressEnter();
  98.     $("#new-todo").setValue("task4").pressEnter();
  99.     $$("#todo-list li").shouldHave(exactTexts("task1", "task2", "task3", "task4"));
  100.  
  101.     //delete task2
  102.     $("#todo-list li:nth-of-type(2)").hover();
  103.     $("#todo-list li:nth-of-type(2) .destroy").click();
  104.     $$("#todo-list li").shouldHave(exactTexts("task1", "task3", "task4"));
  105.  
  106.     //complete task4 & clear
  107.     $("#todo-list li:nth-of-type(3) .toggle").click();
  108.     $("#clear-completed").click();
  109.     $$("#todo-list li").shouldHave(exactTexts("task1", "task3"));
  110.  
  111.     //complete all & clear
  112.     $("#toggle-all").click();
  113.     $("#clear-completed").click();
  114.     $$("#todo-list li").shouldHave(size(0));
  115.  
  116.   }
  117. }
Advertisement
Add Comment
Please, Sign In to add comment