Improved some tests cases for the NewTaskViewModelTests and the TaskGroupListViewModelTests tests in the unit tests target.

This commit is contained in:
2026-02-10 03:48:05 +01:00
parent 0b8e5d8bd0
commit 50455ffe8f
2 changed files with 44 additions and 28 deletions
@@ -37,11 +37,10 @@ struct TaskGroupListViewModelTests {
)
func countWhenEmptyData(for group: TodoGroup) throws {
// GIVEN
let tasks: [Todo] = []
let viewModel = TaskGroupListView.ViewModel()
// WHEN
let count = viewModel.count(tasks, for: group)
let count = viewModel.count(emptyTasks, for: group)
// THEN
#expect(count == 0)
@@ -53,13 +52,33 @@ struct TaskGroupListViewModelTests {
)
func countWhenFilledData(for group: TodoGroup) throws {
// GIVEN
let viewModel = TaskGroupListView.ViewModel()
// WHEN
let count = viewModel.count(sampleTasks, for: group)
// THEN
#expect(count == 2)
}
}
// MARK: - Helpers
private extension TaskGroupListViewModelTests {
// MARK: Computed
var emptyTasks: [Todo] { [] }
var sampleTasks: [Todo] {
let today: Date = .now
let tomorrow = calendar.date(byAdding: .day, value: 1, to: today) ?? today
let yesterday = calendar.date(byAdding: .day, value: -1, to: today) ?? today
let nextWeek = calendar.date(byAdding: .day, value: 7, to: today) ?? today
let lastWeek = calendar.date(byAdding: .day, value: -7, to: today) ?? today
let tasks = [
return [
Todo(title: "Today task #1", due: today),
Todo(title: "Today task #2", due: today),
Todo(title: "Tomorrow task #1", due: tomorrow),
@@ -67,16 +86,8 @@ struct TaskGroupListViewModelTests {
Todo(title: "Yesterday task #1", due: yesterday),
Todo(title: "Last week task #1", due: lastWeek),
Todo(title: "Completed task #1", due: tomorrow, completed: today),
Todo(title: "Completed task #2", due: yesterday, completed: today)
Todo(title: "Completed task #2", due: yesterday, completed: today),
]
let viewModel = TaskGroupListView.ViewModel()
// WHEN
let count = viewModel.count(tasks, for: group)
// THEN
#expect(count == 2)
}
}