Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- package ui.net.itlabs.homework3;
- import com.codeborne.selenide.ElementsCollection;
- import com.codeborne.selenide.SelenideElement;
- import org.junit.After;
- import org.junit.Before;
- import org.junit.Test;
- import org.openqa.selenium.By;
- import static com.codeborne.selenide.CollectionCondition.empty;
- import static com.codeborne.selenide.CollectionCondition.exactTexts;
- import static com.codeborne.selenide.Condition.*;
- import static com.codeborne.selenide.Selenide.*;
- /**
- * Created by Tetiana on 7/1/2016.
- */
- public class TodoMVCTest {
- @Before
- public void openPage() {
- open("https://todomvc4tasj.herokuapp.com");
- }
- @After
- public void clearData() {
- executeJavaScript("localStorage.clear()");
- }
- @Test
- public void testTasksWorkflow() {
- add("a");
- toggle("a"); //complete
- assertTasks("a");
- filterActive();
- assertNoVisibleTasks();
- add("b");
- assertVisibleTasks("b");
- toggleAll(); //complete all
- assertNoVisibleTasks();
- filterCompleted();
- assertTasks("a", "b");
- toggle("b");//reopen
- assertVisibleTasks("a");
- assertItemsLeft(1);
- clearCompleted();
- assertNoVisibleTasks();
- filterAll();
- delete("b");
- assertNoTasks();
- }
- @Test
- public void testTodoMVCEdit() {
- add("a");//precondition
- startEdit("a", "a edited").pressEnter();
- assertTasks("a edited");
- assertItemsLeft(1);
- }
- @Test
- public void testTodoMVCCancelEdit() {
- add("a");//precondition
- startEdit("a", "a edit canceled").pressEscape();
- assertTasks("a");
- assertItemsLeft(1);
- }
- public void add(String... taskTexts) {
- for (String tasksText : taskTexts) {
- $("#new-todo").setValue(tasksText).pressEnter();
- }
- }
- ElementsCollection tasks = $$("#todo-list>li");
- public SelenideElement startEdit(String oldTaskText, String newTaskText) {
- tasks.find(exactText(oldTaskText)).doubleClick();
- return tasks.find(cssClass("editing")).find(".edit").setValue(newTaskText);
- }
- public void delete(String taskText) {
- tasks.find(exactText(taskText)).hover().$(".destroy").click();
- }
- public void toggle(String taskText) {
- tasks.find(exactText(taskText)).$(".toggle").click();
- }
- public void toggleAll() {
- $("#toggle-all").click();
- }
- public void clearCompleted() {
- $("#clear-completed").click();
- }
- public void filterActive() {
- $(By.linkText("Active")).click();
- }
- public void filterCompleted() {
- $(By.linkText("Completed")).click();
- }
- public void filterAll() {
- $(By.linkText("All")).click();
- }
- public void assertTasks(String... taskTexts) {
- tasks.shouldHave(exactTexts(taskTexts));
- }
- public void assertVisibleTasks(String... taskTexts) {
- tasks.filter(visible).shouldHave(exactTexts(taskTexts));
- }
- public void assertNoTasks() {
- tasks.shouldBe(empty);
- }
- public void assertNoVisibleTasks() {
- tasks.filter(visible).shouldBe(empty);
- }
- public void assertItemsLeft(Integer count) {
- $("#todo-count>strong").shouldBe(exactText(count.toString()));
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement