wwt / SwiftCurrent

A library for managing complex workflows in Swift
https://wwt.github.io/SwiftCurrent/
Apache License 2.0
307 stars 19 forks source link

Updates SwiftUI app to match the demo video #145

Closed Richard-Gist closed 2 years ago

Richard-Gist commented 2 years ago

Linked Issue:

Checklist:

Richard-Gist commented 2 years ago

I'm in process of making the demo app testable but I have hit 1 main roadblock.

1) The modifiers we're putting on the PasswordWorkflow make it uncastable in ViewInspector thus failing.

For 1, I love the flexibility that it showcases with embedding things in a NavigationView, so I'm reluctant to change the prod code for testability.

codecov-commenter commented 2 years ago

Codecov Report

Merging #145 (1b4f8db) into main (e256818) will decrease coverage by 1.65%. The diff coverage is 86.72%.

Impacted file tree graph

@@            Coverage Diff             @@
##             main     #145      +/-   ##
==========================================
- Coverage   92.90%   91.25%   -1.66%     
==========================================
  Files          79       92      +13     
  Lines        1918     2356     +438     
==========================================
+ Hits         1782     2150     +368     
- Misses        136      206      +70     
Impacted Files Coverage Δ
ExampleApps/SwiftUIExample/Views/ContentView.swift 92.30% <ø> (ø)
...Example/Views/QRScanner/QRScannerFeatureView.swift 90.90% <ø> (ø)
Sources/SwiftCurrent/Models/Workflow.swift 100.00% <ø> (ø)
...ces/SwiftCurrent/Protocols/FlowRepresentable.swift 85.00% <ø> (ø)
...t_UIKit/Extensions/UIViewControllerAdditions.swift 100.00% <ø> (ø)
...ps/SwiftUIExample/Views/Design/PrimaryButton.swift 44.44% <44.44%> (ø)
.../SwiftUIExample/Views/Design/SecondaryButton.swift 44.44% <44.44%> (ø)
...SwiftUIExample/Views/Design/PrimaryTextField.swift 66.66% <66.66%> (ø)
...SwiftUIExample/Views/Profile/ChangeEmailView.swift 73.33% <73.33%> (ø)
...s/SwiftUIExample/Views/GenericOnboardingView.swift 73.52% <73.52%> (ø)
... and 19 more

Continue to review full report at Codecov.

Legend - Click here to learn more Δ = absolute <relative> (impact), ø = not affected, ? = missing data Powered by Codecov. Last update c0acb4c...1b4f8db. Read the comment docs.

Richard-Gist commented 2 years ago

So we had a little chat and I'm going to reorient my approach to our example apps.

From now on, our example apps will focus on a production-worthy app that uses SwiftCurrent to achieve its goals. The testing for these apps would reflect how we would do our own testing for a production app, moving away from testing specifically for SwiftCurrent. In addition, because these would be prod apps now, we'll want to move out the hosting application for library testing into a new target to keep test code out of prod.