julia_v_iluhina

Untitled

Oct 5th, 2016
101
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 3.50 KB | None | 0 0
  1. public class ToDoMVCTest {
  2. /*
  3.     это ок)
  4. */
  5.  
  6.     @Test
  7.     public void tasksLifeCycle() {
  8.     /*
  9.         и это ок)
  10.     */
  11.         open("https://todomvc4tasj.herokuapp.com/");
  12.         /*
  13.             используй пропуски строк - для того, чтоб сделать код понятнее -
  14.             при необходимости разбивай его на логические блоки
  15.             вот тут стоило пропустить строку
  16.         */
  17.         create("task1");
  18.         create("task2");
  19.         create("task3");
  20.         create("task4");
  21.         $$("#todo-list li").shouldHave(exactTexts("task1", "task2", "task3", "task4"));
  22.         /*
  23.             и вот тут тоже стоило пропустить строку)
  24.         */
  25.         delete("task2");
  26.         $$("#todo-list li").shouldHave(exactTexts("task1", "task3", "task4"));
  27.         /*
  28.             и вот тут стоило пропустить строку
  29.  
  30.             в нашем случае блок = действие(или действия) + проверка
  31.         */
  32.         changeStatus("task4");
  33.         /*
  34.             ага, в целом мысль про имя метода уловила верно)
  35.             но есть термин получше)
  36.             toggle("task4");
  37.             посмотри перевод этого слова с английского
  38.  
  39.             такой вариант лучше - т к мы термин взяли с самого приложения
  40.             если такая возможность есть - используй
  41.             это в данном случае - самый однозначный термин
  42.            
  43.             как правильно переимоновать
  44.             https://docs.google.com/document/d/10qSwWTQ6pGfVZSwOes-1QSmdflMiGD2U_y53VHq2m20/edit#bookmark=id.ou1n1quh5d3e
  45.         */
  46.         $$("#todo-list li").shouldHave(exactTexts("task1", "task3", "task4"));
  47.         /*
  48.             раз после закомпличивания - проверяем
  49.             то ту пропустим строку)
  50.  
  51.             да, тоже все ок)
  52.         */
  53.         clearCompleted();
  54.         $$("#todo-list li").shouldHave(exactTexts("task1", "task3"));
  55.         /*
  56.             пропускаем снова строку
  57.         */
  58.         $("#toggle-all").click();
  59.         clearCompleted();
  60.         $$("#todo-list li").shouldHaveSize(0);
  61.         /*
  62.             вот эту проверку можно переписать как
  63.             $$("#todo-list li").shouldBe(empty);
  64.  
  65.             технически это одно и то же
  66.             просто так - нагляднее и лаконичнее
  67.         */
  68.     }
  69.  
  70.     public void create(String taskName) {
  71.         $("#new-todo").setValue(taskName).pressEnter();
  72.     }
  73.  
  74.     public void delete(String taskName) {
  75.         $$("#todo-list li").findBy(exactText(taskName)).hover().find(".destroy").click();
  76.     }
  77.  
  78.     public void changeStatus(String taskName) {
  79.         $$("#todo-list li").findBy(exactText(taskName)).find("[type=checkbox]").click();
  80.         /*
  81.             у чекбокса есть понагляднее селектор
  82.             обрати внимание на его class
  83.             http://joxi.ru/v29WjP9hGeVnLr
  84.         */
  85.     }
  86.  
  87.     public void clearCompleted() {
  88.         $("#clear-completed").click();
  89.     }
  90.  
  91. }
Advertisement
Add Comment
Please, Sign In to add comment