Todo repository protocol (#8)
This PR contains the work done to decouple the direct use of the `ModelContext` from `SwiftData` from the view model that uses it. In addition, the project transitioned to use Swift 6 and strict concurrency which brought some issues with the unit tests, so they were amended as well. Reviewed-on: rock-n-code/todos-app#8 Co-authored-by: Javier Cicchelli <javier@rock-n-code.com> Co-committed-by: Javier Cicchelli <javier@rock-n-code.com>
This commit was merged in pull request #8.
This commit is contained in:
@@ -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
|
||||
|
||||
Reference in New Issue
Block a user