From 546985bd9868853306c96761368e431e2507b1ef Mon Sep 17 00:00:00 2001 From: Javier Cicchelli Date: Wed, 11 Feb 2026 19:15:56 +0100 Subject: [PATCH] Fixed issues encountered in the unit tests target after the project transitioned to Swift 6 and strict concurrency. --- .../Tests/Enumerations/TodoGroupTests.swift | 16 ++++++++++------ .../TodoFetchDescriptor+InitsTests.swift | 10 ++++------ .../View Models/ContentViewModelTests.swift | 1 + .../View Models/NewTaskViewModelTests.swift | 1 + .../TaskGroupListViewModelTests.swift | 5 +++-- .../View Models/TaskListViewModelTests.swift | 9 +++++---- 6 files changed, 24 insertions(+), 18 deletions(-) diff --git a/UnitTests/Tests/Enumerations/TodoGroupTests.swift b/UnitTests/Tests/Enumerations/TodoGroupTests.swift index ea134a3..d264d4f 100644 --- a/UnitTests/Tests/Enumerations/TodoGroupTests.swift +++ b/UnitTests/Tests/Enumerations/TodoGroupTests.swift @@ -3,6 +3,7 @@ import Testing @testable import Todos +@MainActor @Suite("TodoGroup enumeration tests") struct TodoGroupTests { @@ -11,7 +12,7 @@ struct TodoGroupTests { @Test( "canShowCompleted returns correct values", arguments: zip( - TodoGroup.allCases, + [TodoGroup.today, .upcoming, .overdue, .completed], [true, true, true, false] ) ) @@ -30,7 +31,7 @@ struct TodoGroupTests { @Test( "canReorder returns correct values", arguments: zip( - TodoGroup.allCases, + [TodoGroup.today, .upcoming, .overdue, .completed], [true, true, true, false] ) ) @@ -49,7 +50,7 @@ struct TodoGroupTests { @Test( "group color match expected values", arguments: zip( - TodoGroup.allCases, + [TodoGroup.today, .upcoming, .overdue, .completed], [Color.blue, .green, .red, .gray] ) ) @@ -68,7 +69,7 @@ struct TodoGroupTests { @Test( "group icon names match expected values", arguments: zip( - TodoGroup.allCases, + [TodoGroup.today, .upcoming, .overdue, .completed], ["calendar.badge.clock", "calendar", "calendar.badge.exclamationmark", "checkmark.circle.fill"] ) ) @@ -87,7 +88,7 @@ struct TodoGroupTests { @Test( "group titles match expected values", arguments: zip( - TodoGroup.allCases, + [TodoGroup.today, .upcoming, .overdue, .completed], ["today", "upcoming", "overdue", "completed"] ) ) @@ -123,7 +124,10 @@ struct TodoGroupTests { // MARK: Identifiable Tests - @Test("id returns an identity of a case", arguments: TodoGroup.allCases) + @Test( + "id returns an identity of a case", + arguments: [TodoGroup.today, .upcoming, .overdue, .completed] + ) func id(for group: TodoGroup) { // GIVEN // WHEN diff --git a/UnitTests/Tests/Extensions/TodoFetchDescriptor+InitsTests.swift b/UnitTests/Tests/Extensions/TodoFetchDescriptor+InitsTests.swift index 6703150..b62748f 100644 --- a/UnitTests/Tests/Extensions/TodoFetchDescriptor+InitsTests.swift +++ b/UnitTests/Tests/Extensions/TodoFetchDescriptor+InitsTests.swift @@ -4,6 +4,7 @@ import Testing @testable import Todos +@MainActor @Suite("TodoFetchDescriptor+Inits extension tests") struct TodoFetchDescriptor_InitsTests { @@ -11,9 +12,8 @@ struct TodoFetchDescriptor_InitsTests { @Test( "initialization when empty tasks", - arguments: TodoGroup.allCases + arguments: [TodoGroup.today, .upcoming, .overdue, .completed] ) - @MainActor func initializationWhenEmptyTasks(for group: TodoGroup) throws { // GIVEN let container = try modelContainer @@ -32,9 +32,8 @@ struct TodoFetchDescriptor_InitsTests { @Test( "initialization with show completed disabled", - arguments: TodoGroup.allCases + arguments: [TodoGroup.today, .upcoming, .overdue, .completed] ) - @MainActor func initializationWithNoShowCompleted(for group: TodoGroup) throws { // GIVEN let container = try modelContainer @@ -70,9 +69,8 @@ struct TodoFetchDescriptor_InitsTests { @Test( "initialization with show completed enabled", - arguments: TodoGroup.allCases + arguments: [TodoGroup.today, .upcoming, .overdue, .completed] ) - @MainActor func initializationWithShowCompleted(for group: TodoGroup) throws { // GIVEN let container = try modelContainer diff --git a/UnitTests/Tests/View Models/ContentViewModelTests.swift b/UnitTests/Tests/View Models/ContentViewModelTests.swift index 2a8e0eb..677520a 100644 --- a/UnitTests/Tests/View Models/ContentViewModelTests.swift +++ b/UnitTests/Tests/View Models/ContentViewModelTests.swift @@ -2,6 +2,7 @@ import Testing @testable import Todos +@MainActor @Suite("ContentView view model tests") struct ContentViewModelTests { diff --git a/UnitTests/Tests/View Models/NewTaskViewModelTests.swift b/UnitTests/Tests/View Models/NewTaskViewModelTests.swift index b438c16..40cdf44 100644 --- a/UnitTests/Tests/View Models/NewTaskViewModelTests.swift +++ b/UnitTests/Tests/View Models/NewTaskViewModelTests.swift @@ -3,6 +3,7 @@ import Testing @testable import Todos +@MainActor @Suite("NewTaskView view model tests") struct NewTaskViewModelTests { diff --git a/UnitTests/Tests/View Models/TaskGroupListViewModelTests.swift b/UnitTests/Tests/View Models/TaskGroupListViewModelTests.swift index 2069adf..0def748 100644 --- a/UnitTests/Tests/View Models/TaskGroupListViewModelTests.swift +++ b/UnitTests/Tests/View Models/TaskGroupListViewModelTests.swift @@ -3,6 +3,7 @@ import Testing @testable import Todos +@MainActor @Suite("TaskGroupListView view model tests") struct TaskGroupListViewModelTests { @@ -32,7 +33,7 @@ struct TaskGroupListViewModelTests { @Test( "count returns zero when empty data", - arguments: TodoGroup.allCases + arguments: [TodoGroup.today, .upcoming, .overdue, .completed] ) func countWhenEmptyData(for group: TodoGroup) throws { // GIVEN @@ -47,7 +48,7 @@ struct TaskGroupListViewModelTests { @Test( "count returns correct count when filled data", - arguments: TodoGroup.allCases + arguments: [TodoGroup.today, .upcoming, .overdue, .completed] ) func countWhenFilledData(for group: TodoGroup) throws { // GIVEN diff --git a/UnitTests/Tests/View Models/TaskListViewModelTests.swift b/UnitTests/Tests/View Models/TaskListViewModelTests.swift index ba2016b..9409e46 100644 --- a/UnitTests/Tests/View Models/TaskListViewModelTests.swift +++ b/UnitTests/Tests/View Models/TaskListViewModelTests.swift @@ -3,6 +3,7 @@ import Testing @testable import Todos +@MainActor @Suite("TaskList view model tests") struct TaskListViewModelTests { @@ -10,7 +11,7 @@ struct TaskListViewModelTests { @Test( "properties are set correctly during initialization", - arguments: TodoGroup.allCases + arguments: [TodoGroup.today, .upcoming, .overdue, .completed] ) func initialization(for group: TodoGroup) { // GIVEN @@ -26,7 +27,7 @@ struct TaskListViewModelTests { @Test( "buttonCompleted returns correct values when showCompleted is true", - arguments: TodoGroup.allCases, [true, false] + arguments: [TodoGroup.today, .upcoming, .overdue, .completed], [true, false] ) func buttonCompleted( for group: TodoGroup, @@ -54,7 +55,7 @@ struct TaskListViewModelTests { @Test( "canShowCompleted returns correct value for each group", arguments: zip( - TodoGroup.allCases, + [TodoGroup.today, .upcoming, .overdue, .completed], [true, true, true, false] ) ) @@ -74,7 +75,7 @@ struct TaskListViewModelTests { @Test( "navigationTitle returns correct view title for each group", - arguments: TodoGroup.allCases + arguments: [TodoGroup.today, .upcoming, .overdue, .completed] ) func navigationTitle(for group: TodoGroup) { // GIVEN