testcases
import org.testng.Assert;
import org.testng.annotations.AfterMethod;
import org.testng.annotations.BeforeMethod;
import org.testng.annotations.Test;
import pages.Todos;
import supports.Browser;
import java.util.UUID;
public class TodoMVC {
private Browser browser;
private Todos todoMvc;
@BeforeMethod
void beforeEach() {
browser = Browser.newBrowser();
todoMvc = new Todos(browser);
todoMvc.navigateTo();
}
@AfterMethod
void afterEach() {
browser.quit();
}
@Test(description = "Creates Todo with given name")
void createsTodo() {
String todoName = randomTodoName();
todoMvc.createTodo(todoName);
Assert.assertEquals(1, todoMvc.getTodosLeft());
Assert.assertTrue(todoMvc.todoExists(todoName));
}
@Test(description = "Edits inline double-clicked Todo")
void editsTodo() {
String todoName = randomTodoName();
String newTodoName = randomTodoName();
todoMvc.createTodo(todoName);
todoMvc.renameTodo(todoName, newTodoName);
Assert.assertTrue(todoMvc.todoExists(newTodoName));
}
@Test(description = "Removes selected Todo")
void removesTodo() {
String todoName = randomTodoName();
todoMvc.createTodo(todoName);
todoMvc.removeTodo(todoName);
Assert.assertFalse(todoMvc.todoExists(todoName));
}
@Test(description = "Toggles selected Todo as completed")
void togglesTodoCompleted() {
String todoName = randomTodoName();
todoMvc.createTodos(todoName, randomTodoName());
todoMvc.completeTodo(todoName);
Assert.assertEquals(1, todoMvc.getTodosLeft());
todoMvc.showCompleted();
Assert.assertEquals(1, todoMvc.getTodoCount());
todoMvc.showActive();
Assert.assertEquals(1, todoMvc.getTodoCount());
}
@Test(description = "Toggles all Todos as completed")
void togglesAllTodosCompleted() {
todoMvc.createTodos(randomTodoName(), randomTodoName());
todoMvc.completeAllTodos();
Assert.assertEquals(0, todoMvc.getTodosLeft());
todoMvc.showCompleted();
Assert.assertEquals(2, todoMvc.getTodoCount());
todoMvc.showActive();
Assert.assertEquals(0, todoMvc.getTodoCount());
}
@Test(description = "Clears all completed Todos")
void clearsCompletedTodos() {
todoMvc.createTodos(randomTodoName(), randomTodoName());
todoMvc.completeAllTodos();
todoMvc.createTodo(randomTodoName());
todoMvc.clearCompleted();
Assert.assertEquals(1, todoMvc.getTodosLeft());
todoMvc.showCompleted();
Assert.assertEquals(0, todoMvc.getTodoCount());
todoMvc.showActive();
Assert.assertEquals(1, todoMvc.getTodoCount());
}
@Test(description = "Creates Todos all with the same name")
void createsTodosWithSameName() {
String todoName = randomTodoName();
todoMvc.createTodos(todoName, todoName, todoName);
Assert.assertEquals(3, todoMvc.getTodosLeft());
todoMvc.showActive();
Assert.assertEquals(3, todoMvc.getTodoCount());
}
private String randomTodoName() {
return "My Todo " + UUID.randomUUID().toString();
}
}
Last updated
Was this helpful?