-
Notifications
You must be signed in to change notification settings - Fork 6
Feature/swift testing #37
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Conversation
feature/swift-testing
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Pull Request Overview
This PR updates the swift tools and package configuration to leverage new Swift 5.10 features, introduces benchmark and testing targets, and adds example projects for demonstrating CoreDataRepository usage.
- Updates Package.swift to use Swift 5.10, a shared platform definition, and new swift settings.
- Adds new example apps and views to showcase repository usage and integrates benchmark targets when enabled.
- Updates CI/CD workflows, dependabot settings, and test plans.
Reviewed Changes
Copilot reviewed 117 out of 118 changed files in this pull request and generated 1 comment.
Show a summary per file
| File | Description |
|---|---|
| Package.swift | Updates swift-tools-version, platforms, dependencies, and adds conditional benchmark configurations. |
| Examples/Relationships/RelationshipsExampleApp.swift | Introduces a SwiftUI app entry point using CoreDataRepository. |
| Examples/Relationships/RelationshipsExample/FileCabinetsView.swift | Implements a file cabinet view with asynchronous actions and state management. |
| Examples/Relationships/RelationshipsExample/FileCabinetDetailView.swift | Provides a detail view for file cabinets including drawer creation. |
| Examples/Relationships/RelationshipsExample/FileCabinet.swift | Defines the FileCabinet model and its Core Data mapping. |
| Examples/Relationships/RelationshipsExample/FileCabinet+Drawer.swift | Extends drawer model functionality with Core Data integration. |
| Examples/Relationships/RelationshipsExample/Document.swift | Defines the Document model and its Core Data conversion methods. |
| Examples/Relationships/RelationshipsExample/CoreDataStack.swift | Configures Core Data stack and persistent container creation. |
| CI/CD and other configuration files | Updates workflow, test plan, SwiftFormat, and dependabot configurations. |
Files not reviewed (1)
- Examples/Relationships/RelationshipsExample/RelationshipsExample.xcodeproj/project.xcworkspace/contents.xcworkspacedata: Language not supported
Comments suppressed due to low confidence (1)
Examples/Relationships/RelationshipsExample/Document.swift:38
- The 'content' property of Document is not updated in the updating(managed:) method; consider adding an assignment for managed.content to ensure the managed representation stays in sync.
managed.id = id
feature/swift-testing
feature/swift-testing
feature/swift-testing
Codecov ReportAttention: Patch coverage is
Additional details and impacted files@@ Coverage Diff @@
## 3.0-preview #37 +/- ##
===============================================
- Coverage 84.26% 83.57% -0.69%
===============================================
Files 35 66 +31
Lines 2936 7604 +4668
===============================================
+ Hits 2474 6355 +3881
- Misses 462 1249 +787 ☔ View full report in Codecov by Sentry. 🚀 New features to boost your workflow:
|
…r and tests for CoreDataTestSuite feature/swift-testing
feature/swift-testing
r-jarvis
left a comment
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Just curious, why did you choose a nested @Suite setup here? I understand wanting .serialized at the parent level, but what does the child Suite in the extension add?
The top level suite ensures all tests are serialized. Child suites just breakup the tests into related chunks. But really, it was just the most straightforward translation of the XCTest setup. |
Feature/transactions (Depends on PR #37)
There is room for the tests to be improved, but I wanted this PR to be as 1-to-1 as reasonable. Further improvements will be done later.