Skip to content
Snippets Groups Projects
Commit 76025e86 authored by Patrik Michal Vlcek's avatar Patrik Michal Vlcek
Browse files

implemented unit tests

parent eea03670
No related branches found
No related tags found
2 merge requests!52Final project MR,!48Implement dao tests
Pipeline #
package cz.muni.fi.pv168.project.db.subtask;
import cz.muni.fi.pv168.project.data.task.SubTask;
import cz.muni.fi.pv168.project.data.task.Task;
import cz.muni.fi.pv168.project.db.category.CategoryDao;
import cz.muni.fi.pv168.project.db.categorytime.CategoryTimeDao;
......@@ -15,7 +16,10 @@ import org.junit.jupiter.api.Test;
import java.sql.SQLException;
import java.time.LocalDate;
import java.util.Arrays;
import java.util.LinkedList;
import static org.assertj.core.api.Assertions.assertThat;
import static org.mockito.Mockito.mock;
class SubTaskDaoTest {
......@@ -46,32 +50,85 @@ class SubTaskDaoTest {
@AfterEach
void cleanUp() {
taskManager.dropTable();
subTaskManager.dropTable();
taskManager.dropTable();
}
@Test
void getAllEntitiesFor() {
void getAllEntitiesFor_ExistingTaskWithSubtasks_SubTasksFromTaskReturned() {
var task = taskBuilder.build();
taskDao.add(task);
var subTasks = setupSubtasks(task.getId());
assertThat(subTaskDao.getAllEntitiesFor(task.getId())).isEqualTo(subTasks);
}
@Test
void deleteAllEntitiesFor() {
void deleteAllEntitiesFor_ExistingTaskWIthSubTasks_AllSubtasksDeleted() {
var task = taskBuilder.build();
taskDao.add(task);
var subTasks = setupSubtasks(task.getId());
subTaskDao.deleteAllEntitiesFor(task.getId());
assertThat(subTaskDao.getAllEntitiesFor(task.getId())).isEmpty();
}
@Test
void addEntityFor() {
void addEntityFor_ExistingTaskWithoutSubTasks_SubTasksAdded() {
var task = taskBuilder.build();
taskDao.add(task);
var subTasks = new LinkedList<SubTask>(Arrays.asList(
new SubTask("A", false),
new SubTask("B", true),
new SubTask("C", false)));
for (var subTask :
subTasks) {
subTaskDao.addEntityFor(task.getId(), subTask);
}
assertThat(subTaskDao.getAllEntitiesFor(task.getId())).isEqualTo(subTasks);
}
@Test
void update() {
void update_ExistingSubTask_SubTaskUpdated() {
var task = taskBuilder.build();
taskDao.add(task);
var subTasks = setupSubtasks(task.getId());
subTasks.get(0).setTitle("New TITLE");
subTasks.get(0).toggleIsCompleted();
subTaskDao.update(subTasks.get(0));
assertThat(subTaskDao.getAllEntitiesFor(task.getId())).isEqualTo(subTasks);
}
@Test
void delete() {
void delete_ExistingSubtask_SubTaskDeleted() {
var task = taskBuilder.build();
taskDao.add(task);
var subTasks = setupSubtasks(task.getId());
subTaskDao.delete(subTasks.get(0));
subTasks.remove(0);
assertThat(subTaskDao.getAllEntitiesFor(task.getId())).isEqualTo(subTasks);
}
@Test
void fetch() {
void fetch_ExistingSubTask_SubTaskFetched() {
var task = taskBuilder.build();
taskDao.add(task);
var subTasks = setupSubtasks(task.getId());
var fetchedSubtask = subTaskDao.fetch(subTasks.get(0).getId());
assertThat(fetchedSubtask).isEqualTo(subTasks.get(0));
}
private LinkedList<SubTask> setupSubtasks(long taskId) {
var subTasks = new LinkedList<SubTask>(Arrays.asList(
new SubTask("Testing subtask", false),
new SubTask("Testing subtask", false),
new SubTask("Testing subtask", false),
new SubTask("Testing subtask", false),
new SubTask("Testing subtask", false))
);
for (var subTask :
subTasks) {
subTaskDao.addEntityFor(taskId, subTask);
}
return subTasks;
}
}
\ No newline at end of file
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment