From 2f51938daee455443269fc60b4df2fc816a30b27 Mon Sep 17 00:00:00 2001 From: Andrew Roan Date: Wed, 22 Mar 2023 23:18:53 -0500 Subject: [PATCH 1/2] Update dependencies swift-5.8-and-update-dependencies --- Package.resolved | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/Package.resolved b/Package.resolved index 56ae6e5..5ad877a 100644 --- a/Package.resolved +++ b/Package.resolved @@ -6,8 +6,8 @@ "repositoryURL": "https://github.com/CombineCommunity/CombineExt.git", "state": { "branch": null, - "revision": "dcfb8a8208ed21c2267ffd93f4ab38743a9aedd7", - "version": "1.6.0" + "revision": "d7b896fa9ca8b47fa7bcde6b43ef9b70bf8c1f56", + "version": "1.8.1" } }, { @@ -15,8 +15,8 @@ "repositoryURL": "https://github.com/pointfreeco/swift-custom-dump.git", "state": { "branch": null, - "revision": "c4f78db9b90ca57b7b6abc2223e235242739ea3c", - "version": "0.4.0" + "revision": "de8ba65649e7ee317b9daf27dd5eebf34bd4be57", + "version": "0.9.1" } }, { @@ -24,8 +24,8 @@ "repositoryURL": "https://github.com/pointfreeco/xctest-dynamic-overlay", "state": { "branch": null, - "revision": "50a70a9d3583fe228ce672e8923010c8df2deddd", - "version": "0.2.1" + "revision": "ab8c9f45843694dd16be4297e6d44c0634fd9913", + "version": "0.8.4" } } ] From 80f33d9e02abed0eef6aa2fd15e9e0d4fe8109d8 Mon Sep 17 00:00:00 2001 From: Andrew Roan Date: Wed, 22 Mar 2023 23:19:15 -0500 Subject: [PATCH 2/2] Run swiftformat swift-5.8-and-update-dependencies --- .../CoreDataRepository+Aggregate.swift | 2 +- .../CoreDataRepository+Batch.swift | 2 +- .../CoreDataRepository+CRUD.swift | 2 +- .../CoreDataRepository+Fetch.swift | 2 +- .../CoreDataRepository.swift | 2 +- .../CoreDataRepositoryError.swift | 2 +- .../FetchSubscription.swift | 2 +- .../NSManagedObject+CRUDHelpers.swift | 2 +- .../NSManagedObjectContext+CRUDHelpers.swift | 2 +- .../NSManagedObjectContext+Child.swift | 2 +- .../NSManagedObjectContext+Scratchpad.swift | 2 +- .../CoreDataRepository/ReadSubscription.swift | 2 +- .../RepositoryManagedModel.swift | 2 +- .../Result+CRUDHelpers.swift | 2 +- .../SubscriptionProvider.swift | 2 +- .../CoreDataRepository/UnmanagedModel.swift | 2 +- Sources/CoreDataRepository/_Result.swift | 2 +- .../AggregateRepositoryTests.swift | 12 ++--- .../BatchRepositoryTests.swift | 14 ++--- .../CRUDRepositoryTests.swift | 54 +++++++++---------- .../CoreDataStack.swift | 2 +- .../CoreDataXCTestCase.swift | 4 +- .../FetchRepositoryTests.swift | 12 ++--- Tests/CoreDataRepositoryTests/Movie.swift | 2 +- 24 files changed, 67 insertions(+), 67 deletions(-) diff --git a/Sources/CoreDataRepository/CoreDataRepository+Aggregate.swift b/Sources/CoreDataRepository/CoreDataRepository+Aggregate.swift index 4eba438..d5dd8f8 100644 --- a/Sources/CoreDataRepository/CoreDataRepository+Aggregate.swift +++ b/Sources/CoreDataRepository/CoreDataRepository+Aggregate.swift @@ -4,7 +4,7 @@ // // MIT License // -// Copyright © 2022 Andrew Roan +// Copyright © 2023 Andrew Roan import Combine import CoreData diff --git a/Sources/CoreDataRepository/CoreDataRepository+Batch.swift b/Sources/CoreDataRepository/CoreDataRepository+Batch.swift index c22852a..79a7247 100644 --- a/Sources/CoreDataRepository/CoreDataRepository+Batch.swift +++ b/Sources/CoreDataRepository/CoreDataRepository+Batch.swift @@ -4,7 +4,7 @@ // // MIT License // -// Copyright © 2022 Andrew Roan +// Copyright © 2023 Andrew Roan import Combine import CoreData diff --git a/Sources/CoreDataRepository/CoreDataRepository+CRUD.swift b/Sources/CoreDataRepository/CoreDataRepository+CRUD.swift index 10d9d36..dc227f7 100644 --- a/Sources/CoreDataRepository/CoreDataRepository+CRUD.swift +++ b/Sources/CoreDataRepository/CoreDataRepository+CRUD.swift @@ -4,7 +4,7 @@ // // MIT License // -// Copyright © 2022 Andrew Roan +// Copyright © 2023 Andrew Roan import Combine import CoreData diff --git a/Sources/CoreDataRepository/CoreDataRepository+Fetch.swift b/Sources/CoreDataRepository/CoreDataRepository+Fetch.swift index 0db95e7..815fcf9 100644 --- a/Sources/CoreDataRepository/CoreDataRepository+Fetch.swift +++ b/Sources/CoreDataRepository/CoreDataRepository+Fetch.swift @@ -4,7 +4,7 @@ // // MIT License // -// Copyright © 2022 Andrew Roan +// Copyright © 2023 Andrew Roan import Combine import CombineExt diff --git a/Sources/CoreDataRepository/CoreDataRepository.swift b/Sources/CoreDataRepository/CoreDataRepository.swift index 46607e9..87590c5 100644 --- a/Sources/CoreDataRepository/CoreDataRepository.swift +++ b/Sources/CoreDataRepository/CoreDataRepository.swift @@ -4,7 +4,7 @@ // // MIT License // -// Copyright © 2022 Andrew Roan +// Copyright © 2023 Andrew Roan import Combine import CoreData diff --git a/Sources/CoreDataRepository/CoreDataRepositoryError.swift b/Sources/CoreDataRepository/CoreDataRepositoryError.swift index 24a7190..834d85e 100644 --- a/Sources/CoreDataRepository/CoreDataRepositoryError.swift +++ b/Sources/CoreDataRepository/CoreDataRepositoryError.swift @@ -4,7 +4,7 @@ // // MIT License // -// Copyright © 2022 Andrew Roan +// Copyright © 2023 Andrew Roan import Foundation diff --git a/Sources/CoreDataRepository/FetchSubscription.swift b/Sources/CoreDataRepository/FetchSubscription.swift index 9081672..9d3bfeb 100644 --- a/Sources/CoreDataRepository/FetchSubscription.swift +++ b/Sources/CoreDataRepository/FetchSubscription.swift @@ -4,7 +4,7 @@ // // MIT License // -// Copyright © 2022 Andrew Roan +// Copyright © 2023 Andrew Roan import Combine import CoreData diff --git a/Sources/CoreDataRepository/NSManagedObject+CRUDHelpers.swift b/Sources/CoreDataRepository/NSManagedObject+CRUDHelpers.swift index 43ddef7..f268ebf 100644 --- a/Sources/CoreDataRepository/NSManagedObject+CRUDHelpers.swift +++ b/Sources/CoreDataRepository/NSManagedObject+CRUDHelpers.swift @@ -4,7 +4,7 @@ // // MIT License // -// Copyright © 2022 Andrew Roan +// Copyright © 2023 Andrew Roan import CoreData import Foundation diff --git a/Sources/CoreDataRepository/NSManagedObjectContext+CRUDHelpers.swift b/Sources/CoreDataRepository/NSManagedObjectContext+CRUDHelpers.swift index 26c34df..e60a760 100644 --- a/Sources/CoreDataRepository/NSManagedObjectContext+CRUDHelpers.swift +++ b/Sources/CoreDataRepository/NSManagedObjectContext+CRUDHelpers.swift @@ -4,7 +4,7 @@ // // MIT License // -// Copyright © 2022 Andrew Roan +// Copyright © 2023 Andrew Roan import CoreData import Foundation diff --git a/Sources/CoreDataRepository/NSManagedObjectContext+Child.swift b/Sources/CoreDataRepository/NSManagedObjectContext+Child.swift index 2569768..47c7c32 100644 --- a/Sources/CoreDataRepository/NSManagedObjectContext+Child.swift +++ b/Sources/CoreDataRepository/NSManagedObjectContext+Child.swift @@ -4,7 +4,7 @@ // // MIT License // -// Copyright © 2022 Andrew Roan +// Copyright © 2023 Andrew Roan import CoreData import Foundation diff --git a/Sources/CoreDataRepository/NSManagedObjectContext+Scratchpad.swift b/Sources/CoreDataRepository/NSManagedObjectContext+Scratchpad.swift index 6be8619..fc16522 100644 --- a/Sources/CoreDataRepository/NSManagedObjectContext+Scratchpad.swift +++ b/Sources/CoreDataRepository/NSManagedObjectContext+Scratchpad.swift @@ -4,7 +4,7 @@ // // MIT License // -// Copyright © 2022 Andrew Roan +// Copyright © 2023 Andrew Roan import Combine import CoreData diff --git a/Sources/CoreDataRepository/ReadSubscription.swift b/Sources/CoreDataRepository/ReadSubscription.swift index 4dc223a..22edb1f 100644 --- a/Sources/CoreDataRepository/ReadSubscription.swift +++ b/Sources/CoreDataRepository/ReadSubscription.swift @@ -4,7 +4,7 @@ // // MIT License // -// Copyright © 2022 Andrew Roan +// Copyright © 2023 Andrew Roan import Combine import CoreData diff --git a/Sources/CoreDataRepository/RepositoryManagedModel.swift b/Sources/CoreDataRepository/RepositoryManagedModel.swift index a4378b4..9671612 100644 --- a/Sources/CoreDataRepository/RepositoryManagedModel.swift +++ b/Sources/CoreDataRepository/RepositoryManagedModel.swift @@ -4,7 +4,7 @@ // // MIT License // -// Copyright © 2022 Andrew Roan +// Copyright © 2023 Andrew Roan import CoreData diff --git a/Sources/CoreDataRepository/Result+CRUDHelpers.swift b/Sources/CoreDataRepository/Result+CRUDHelpers.swift index 5515c6e..1f66a07 100644 --- a/Sources/CoreDataRepository/Result+CRUDHelpers.swift +++ b/Sources/CoreDataRepository/Result+CRUDHelpers.swift @@ -4,7 +4,7 @@ // // MIT License // -// Copyright © 2022 Andrew Roan +// Copyright © 2023 Andrew Roan import CoreData import Foundation diff --git a/Sources/CoreDataRepository/SubscriptionProvider.swift b/Sources/CoreDataRepository/SubscriptionProvider.swift index dbfc404..e96df89 100644 --- a/Sources/CoreDataRepository/SubscriptionProvider.swift +++ b/Sources/CoreDataRepository/SubscriptionProvider.swift @@ -4,7 +4,7 @@ // // MIT License // -// Copyright © 2022 Andrew Roan +// Copyright © 2023 Andrew Roan public protocol SubscriptionProvider { var id: AnyHashable { get } diff --git a/Sources/CoreDataRepository/UnmanagedModel.swift b/Sources/CoreDataRepository/UnmanagedModel.swift index 24d388d..52edfc4 100644 --- a/Sources/CoreDataRepository/UnmanagedModel.swift +++ b/Sources/CoreDataRepository/UnmanagedModel.swift @@ -4,7 +4,7 @@ // // MIT License // -// Copyright © 2022 Andrew Roan +// Copyright © 2023 Andrew Roan import CoreData import Foundation diff --git a/Sources/CoreDataRepository/_Result.swift b/Sources/CoreDataRepository/_Result.swift index 09fd055..160895a 100644 --- a/Sources/CoreDataRepository/_Result.swift +++ b/Sources/CoreDataRepository/_Result.swift @@ -4,7 +4,7 @@ // // MIT License // -// Copyright © 2022 Andrew Roan +// Copyright © 2023 Andrew Roan import Foundation diff --git a/Tests/CoreDataRepositoryTests/AggregateRepositoryTests.swift b/Tests/CoreDataRepositoryTests/AggregateRepositoryTests.swift index 55af3d3..1cf7456 100644 --- a/Tests/CoreDataRepositoryTests/AggregateRepositoryTests.swift +++ b/Tests/CoreDataRepositoryTests/AggregateRepositoryTests.swift @@ -4,7 +4,7 @@ // // MIT License // -// Copyright © 2022 Andrew Roan +// Copyright © 2023 Andrew Roan import Combine import CoreData @@ -30,7 +30,7 @@ final class AggregateRepositoryTests: CoreDataXCTestCase { override func setUpWithError() throws { try super.setUpWithError() try repositoryContext().performAndWait { - objectIDs = try movies.map { $0.asRepoManaged(in: try self.repositoryContext()).objectID } + objectIDs = try movies.map { try $0.asRepoManaged(in: self.repositoryContext()).objectID } try repositoryContext().save() } } @@ -56,7 +56,7 @@ final class AggregateRepositoryTests: CoreDataXCTestCase { let result: Result<[[String: Decimal]], CoreDataRepositoryError> = try await repository().sum( predicate: NSPredicate(value: true), entityDesc: RepoMovie.entity(), - attributeDesc: try XCTUnwrap( + attributeDesc: XCTUnwrap( RepoMovie.entity().attributesByName.values .first(where: { $0.name == "boxOffice" }) ) @@ -74,7 +74,7 @@ final class AggregateRepositoryTests: CoreDataXCTestCase { let result: Result<[[String: Decimal]], CoreDataRepositoryError> = try await repository().average( predicate: NSPredicate(value: true), entityDesc: RepoMovie.entity(), - attributeDesc: try XCTUnwrap( + attributeDesc: XCTUnwrap( RepoMovie.entity().attributesByName.values .first(where: { $0.name == "boxOffice" }) ) @@ -96,7 +96,7 @@ final class AggregateRepositoryTests: CoreDataXCTestCase { let result: Result<[[String: Decimal]], CoreDataRepositoryError> = try await repository().min( predicate: NSPredicate(value: true), entityDesc: RepoMovie.entity(), - attributeDesc: try XCTUnwrap( + attributeDesc: XCTUnwrap( RepoMovie.entity().attributesByName.values .first(where: { $0.name == "boxOffice" }) ) @@ -118,7 +118,7 @@ final class AggregateRepositoryTests: CoreDataXCTestCase { let result: Result<[[String: Decimal]], CoreDataRepositoryError> = try await repository().max( predicate: NSPredicate(value: true), entityDesc: RepoMovie.entity(), - attributeDesc: try XCTUnwrap( + attributeDesc: XCTUnwrap( RepoMovie.entity().attributesByName.values .first(where: { $0.name == "boxOffice" }) ) diff --git a/Tests/CoreDataRepositoryTests/BatchRepositoryTests.swift b/Tests/CoreDataRepositoryTests/BatchRepositoryTests.swift index 062fa47..4c4f350 100644 --- a/Tests/CoreDataRepositoryTests/BatchRepositoryTests.swift +++ b/Tests/CoreDataRepositoryTests/BatchRepositoryTests.swift @@ -4,7 +4,7 @@ // // MIT License // -// Copyright © 2022 Andrew Roan +// Copyright © 2023 Andrew Roan import Combine import CoreData @@ -40,7 +40,7 @@ final class BatchRepositoryTests: CoreDataXCTestCase { func mapDictToRepoMovie(_ dict: [String: Any]) throws -> RepoMovie { try mapDictToMovie(dict) - .asRepoManaged(in: try repositoryContext()) + .asRepoManaged(in: repositoryContext()) } func mapDictToMovie(_ dict: [String: Any]) throws -> Movie { @@ -57,7 +57,7 @@ final class BatchRepositoryTests: CoreDataXCTestCase { XCTAssertEqual(count, 0, "Count of objects in CoreData should be zero at the start of each test.") } - let request = NSBatchInsertRequest(entityName: try XCTUnwrap(RepoMovie.entity().name), objects: movies) + let request = try NSBatchInsertRequest(entityName: XCTUnwrap(RepoMovie.entity().name), objects: movies) let result: Result = try await repository().insert(request) switch result { @@ -84,8 +84,8 @@ final class BatchRepositoryTests: CoreDataXCTestCase { XCTAssertEqual(count, 0, "Count of objects in CoreData should be zero at the start of each test.") } - let request = NSBatchInsertRequest( - entityName: try XCTUnwrap(RepoMovie.entity().name), + let request = try NSBatchInsertRequest( + entityName: XCTUnwrap(RepoMovie.entity().name), objects: failureInsertMovies ) let result: Result = try await repository().insert(request) @@ -163,7 +163,7 @@ final class BatchRepositoryTests: CoreDataXCTestCase { } let predicate = NSPredicate(value: true) - let request = NSBatchUpdateRequest(entityName: try XCTUnwrap(RepoMovie.entity().name)) + let request = try NSBatchUpdateRequest(entityName: XCTUnwrap(RepoMovie.entity().name)) request.predicate = predicate request.propertiesToUpdate = ["title": "Updated!", "boxOffice": 1] @@ -216,7 +216,7 @@ final class BatchRepositoryTests: CoreDataXCTestCase { } let request = - NSBatchDeleteRequest(fetchRequest: NSFetchRequest(entityName: try XCTUnwrap( + try NSBatchDeleteRequest(fetchRequest: NSFetchRequest(entityName: XCTUnwrap( RepoMovie .entity().name ))) diff --git a/Tests/CoreDataRepositoryTests/CRUDRepositoryTests.swift b/Tests/CoreDataRepositoryTests/CRUDRepositoryTests.swift index 1917141..40cdf74 100644 --- a/Tests/CoreDataRepositoryTests/CRUDRepositoryTests.swift +++ b/Tests/CoreDataRepositoryTests/CRUDRepositoryTests.swift @@ -4,7 +4,7 @@ // // MIT License // -// Copyright © 2022 Andrew Roan +// Copyright © 2023 Andrew Roan import Combine import CoreData @@ -31,14 +31,14 @@ final class CRUDRepositoryTests: CoreDataXCTestCase { func testReadSuccess() async throws { let movie = Movie(id: UUID(), title: "Read Success", releaseDate: Date(), boxOffice: 100) let createdMovie: Movie = try await repositoryContext().perform(schedule: .immediate) { - let object = RepoMovie(context: try self.repositoryContext()) + let object = try RepoMovie(context: self.repositoryContext()) object.create(from: movie) try self.repositoryContext().save() return object.asUnmanaged } let result: Result = try await repository() - .read(try XCTUnwrap(createdMovie.url)) + .read(XCTUnwrap(createdMovie.url)) guard case let .success(resultMovie) = result else { XCTFail("Not expecting a failed result") @@ -57,21 +57,21 @@ final class CRUDRepositoryTests: CoreDataXCTestCase { func testReadFailure() async throws { let movie = Movie(id: UUID(), title: "Read Failure", releaseDate: Date(), boxOffice: 100) let createdMovie: Movie = try await repositoryContext().perform { - let object = RepoMovie(context: try self.repositoryContext()) + let object = try RepoMovie(context: self.repositoryContext()) object.create(from: movie) try self.repositoryContext().save() return object.asUnmanaged } _ = try await repositoryContext().perform { let objectID = try self.repositoryContext().persistentStoreCoordinator? - .managedObjectID(forURIRepresentation: try XCTUnwrap(createdMovie.url)) - let object = try self.repositoryContext().existingObject(with: try XCTUnwrap(objectID)) + .managedObjectID(forURIRepresentation: XCTUnwrap(createdMovie.url)) + let object = try self.repositoryContext().existingObject(with: XCTUnwrap(objectID)) try self.repositoryContext().delete(object) try self.repositoryContext().save() } let result: Result = try await repository() - .read(try XCTUnwrap(createdMovie.url)) + .read(XCTUnwrap(createdMovie.url)) switch result { case .success: @@ -84,7 +84,7 @@ final class CRUDRepositoryTests: CoreDataXCTestCase { func testUpdateSuccess() async throws { var movie = Movie(id: UUID(), title: "Update Success", releaseDate: Date(), boxOffice: 100) let createdMovie: Movie = try await repositoryContext().perform(schedule: .immediate) { - let object = RepoMovie(context: try self.repositoryContext()) + let object = try RepoMovie(context: self.repositoryContext()) object.create(from: movie) try self.repositoryContext().save() return object.asUnmanaged @@ -93,7 +93,7 @@ final class CRUDRepositoryTests: CoreDataXCTestCase { movie.title = "Update Success - Edited" let result: Result = try await repository() - .update(try XCTUnwrap(createdMovie.url), with: movie) + .update(XCTUnwrap(createdMovie.url), with: movie) guard case let .success(resultMovie) = result else { XCTFail("Not expecting a failed result") @@ -112,7 +112,7 @@ final class CRUDRepositoryTests: CoreDataXCTestCase { func testUpdateFailure() async throws { var movie = Movie(id: UUID(), title: "Update Success", releaseDate: Date(), boxOffice: 100) let createdMovie: Movie = try await repositoryContext().perform(schedule: .immediate) { - let object = RepoMovie(context: try self.repositoryContext()) + let object = try RepoMovie(context: self.repositoryContext()) object.create(from: movie) try self.repositoryContext().save() return object.asUnmanaged @@ -120,8 +120,8 @@ final class CRUDRepositoryTests: CoreDataXCTestCase { _ = try await repositoryContext().perform { let objectID = try self.repositoryContext().persistentStoreCoordinator? - .managedObjectID(forURIRepresentation: try XCTUnwrap(createdMovie.url)) - let object = try self.repositoryContext().existingObject(with: try XCTUnwrap(objectID)) + .managedObjectID(forURIRepresentation: XCTUnwrap(createdMovie.url)) + let object = try self.repositoryContext().existingObject(with: XCTUnwrap(objectID)) try self.repositoryContext().delete(object) try self.repositoryContext().save() } @@ -129,7 +129,7 @@ final class CRUDRepositoryTests: CoreDataXCTestCase { movie.title = "Update Success - Edited" let result: Result = try await repository() - .update(try XCTUnwrap(createdMovie.url), with: movie) + .update(XCTUnwrap(createdMovie.url), with: movie) switch result { case .success: @@ -142,14 +142,14 @@ final class CRUDRepositoryTests: CoreDataXCTestCase { func testDeleteSuccess() async throws { let movie = Movie(id: UUID(), title: "Delete Success", releaseDate: Date(), boxOffice: 100) let createdMovie: Movie = try await repositoryContext().perform(schedule: .immediate) { - let object = RepoMovie(context: try self.repositoryContext()) + let object = try RepoMovie(context: self.repositoryContext()) object.create(from: movie) try self.repositoryContext().save() return object.asUnmanaged } let result: Result = try await repository() - .delete(try XCTUnwrap(createdMovie.url)) + .delete(XCTUnwrap(createdMovie.url)) switch result { case .success: @@ -162,7 +162,7 @@ final class CRUDRepositoryTests: CoreDataXCTestCase { func testDeleteFailure() async throws { let movie = Movie(id: UUID(), title: "Delete Failure", releaseDate: Date(), boxOffice: 100) let createdMovie: Movie = try await repositoryContext().perform(schedule: .immediate) { - let object = RepoMovie(context: try self.repositoryContext()) + let object = try RepoMovie(context: self.repositoryContext()) object.create(from: movie) try self.repositoryContext().save() return object.asUnmanaged @@ -170,14 +170,14 @@ final class CRUDRepositoryTests: CoreDataXCTestCase { _ = try await repositoryContext().perform { let objectID = try self.repositoryContext().persistentStoreCoordinator? - .managedObjectID(forURIRepresentation: try XCTUnwrap(createdMovie.url)) - let object = try self.repositoryContext().existingObject(with: try XCTUnwrap(objectID)) + .managedObjectID(forURIRepresentation: XCTUnwrap(createdMovie.url)) + let object = try self.repositoryContext().existingObject(with: XCTUnwrap(objectID)) try self.repositoryContext().delete(object) try self.repositoryContext().save() } let result: Result = try await repository() - .delete(try XCTUnwrap(createdMovie.url)) + .delete(XCTUnwrap(createdMovie.url)) switch result { case .success: @@ -191,14 +191,14 @@ final class CRUDRepositoryTests: CoreDataXCTestCase { var movie = Movie(id: UUID(), title: "Read Success", releaseDate: Date(), boxOffice: 100) let count: Int = try await repositoryContext().perform { [self] in - try self.repositoryContext().count(for: RepoMovie.fetchRequest()) + try repositoryContext().count(for: RepoMovie.fetchRequest()) } XCTAssertEqual(count, 0, "Count of objects in CoreData should be zero at the start of each test.") let repoMovieUrl: URL = try await repositoryContext().perform { [self] in - let repoMovie = movie.asRepoManaged(in: try self.repositoryContext()) - try self.repositoryContext().save() + let repoMovie = try movie.asRepoManaged(in: repositoryContext()) + try repositoryContext().save() return repoMovie.objectID.uriRepresentation() } @@ -215,7 +215,7 @@ final class CRUDRepositoryTests: CoreDataXCTestCase { let secondExp = expectation(description: "Read a movie again after CoreData context is updated") var resultCount = 0 let result: AnyPublisher = try repository() - .readSubscription(try XCTUnwrap(movie.url)) + .readSubscription(XCTUnwrap(movie.url)) result.subscribe(on: backgroundQueue) .receive(on: mainQueue) .sink(receiveCompletion: { completion in @@ -242,11 +242,11 @@ final class CRUDRepositoryTests: CoreDataXCTestCase { .store(in: &cancellables) wait(for: [firstExp], timeout: 5) try repositoryContext().performAndWait { [self] in - let coordinator = try XCTUnwrap(try self.repositoryContext().persistentStoreCoordinator) - let objectId = try XCTUnwrap(coordinator.managedObjectID(forURIRepresentation: try XCTUnwrap(movie.url))) - let object = try XCTUnwrap(try repositoryContext().existingObject(with: objectId) as? RepoMovie) + let coordinator = try XCTUnwrap(repositoryContext().persistentStoreCoordinator) + let objectId = try XCTUnwrap(coordinator.managedObjectID(forURIRepresentation: XCTUnwrap(movie.url))) + let object = try XCTUnwrap(repositoryContext().existingObject(with: objectId) as? RepoMovie) object.update(from: editedMovie) - try self.repositoryContext().save() + try repositoryContext().save() } wait(for: [secondExp], timeout: 5) } diff --git a/Tests/CoreDataRepositoryTests/CoreDataStack.swift b/Tests/CoreDataRepositoryTests/CoreDataStack.swift index f256143..6cca8fe 100644 --- a/Tests/CoreDataRepositoryTests/CoreDataStack.swift +++ b/Tests/CoreDataRepositoryTests/CoreDataStack.swift @@ -4,7 +4,7 @@ // // MIT License // -// Copyright © 2022 Andrew Roan +// Copyright © 2023 Andrew Roan import CoreData diff --git a/Tests/CoreDataRepositoryTests/CoreDataXCTestCase.swift b/Tests/CoreDataRepositoryTests/CoreDataXCTestCase.swift index 103fcf7..20b4637 100644 --- a/Tests/CoreDataRepositoryTests/CoreDataXCTestCase.swift +++ b/Tests/CoreDataRepositoryTests/CoreDataXCTestCase.swift @@ -4,7 +4,7 @@ // // MIT License // -// Copyright © 2022 Andrew Roan +// Copyright © 2023 Andrew Roan import Combine import CoreData @@ -39,7 +39,7 @@ class CoreDataXCTestCase: XCTestCase { _repositoryContext = container.newBackgroundContext() _repositoryContext?.automaticallyMergesChangesFromParent = true } - _repository = CoreDataRepository(context: try repositoryContext()) + _repository = try CoreDataRepository(context: repositoryContext()) try super.setUpWithError() } diff --git a/Tests/CoreDataRepositoryTests/FetchRepositoryTests.swift b/Tests/CoreDataRepositoryTests/FetchRepositoryTests.swift index 0307c64..3931fba 100644 --- a/Tests/CoreDataRepositoryTests/FetchRepositoryTests.swift +++ b/Tests/CoreDataRepositoryTests/FetchRepositoryTests.swift @@ -4,7 +4,7 @@ // // MIT License // -// Copyright © 2022 Andrew Roan +// Copyright © 2023 Andrew Roan import Combine import CoreData @@ -30,7 +30,7 @@ final class FetchRepositoryTests: CoreDataXCTestCase { override func setUpWithError() throws { try super.setUpWithError() expectedMovies = try repositoryContext().performAndWait { - _ = try self.movies.map { $0.asRepoManaged(in: try repositoryContext()) } + _ = try self.movies.map { try $0.asRepoManaged(in: repositoryContext()) } try self.repositoryContext().save() return try self.repositoryContext().fetch(fetchRequest).map(\.asUnmanaged) } @@ -84,17 +84,17 @@ final class FetchRepositoryTests: CoreDataXCTestCase { }) .store(in: &cancellables) wait(for: [firstExp], timeout: 5) - let crudRepository = CoreDataRepository(context: try repositoryContext()) + let crudRepository = try CoreDataRepository(context: repositoryContext()) _ = try await repositoryContext().perform { [self] in let url = try XCTUnwrap(expectedMovies.last?.url) - let coordinator = try XCTUnwrap(try repositoryContext().persistentStoreCoordinator) + let coordinator = try XCTUnwrap(repositoryContext().persistentStoreCoordinator) let objectId = try XCTUnwrap(coordinator.managedObjectID(forURIRepresentation: url)) let object = try repositoryContext().existingObject(with: objectId) try repositoryContext().delete(object) try repositoryContext().save() } - let _: Result = await crudRepository - .delete(try XCTUnwrap(expectedMovies.last?.url)) + let _: Result = try await crudRepository + .delete(XCTUnwrap(expectedMovies.last?.url)) wait(for: [secondExp], timeout: 5) } } diff --git a/Tests/CoreDataRepositoryTests/Movie.swift b/Tests/CoreDataRepositoryTests/Movie.swift index 4d31aa3..2c53791 100644 --- a/Tests/CoreDataRepositoryTests/Movie.swift +++ b/Tests/CoreDataRepositoryTests/Movie.swift @@ -4,7 +4,7 @@ // // MIT License // -// Copyright © 2022 Andrew Roan +// Copyright © 2023 Andrew Roan import CoreData import CoreDataRepository