Extract common Unified Settings code and tests #6446
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Bug
Fixes: NuGet/Home#14293
Description
I'm extracting a base class for the Unified Settings pages to implement. This will make each page smaller and cleaner, while maintaining a single source for the most common boilerplate code for the Unified Settings API. Tests also get a new base class which allows each page to be tested without copy/pasting tests from the base class.
src/
code (just from the General/Configuration Files pages)ExternalSettingsUtility
as all logic is now part of the base class.Future Considerations
SetValueAsync
tests. Could have a base test that invokes it for known Monikers or could have each test class test its own calls directly.PackageRestoreConsent
, so the Mock Settings will have to fully implement what's necessary for that type.PR Checklist
Link to an issue or pull request to update docs if this PR changes settings, environment variables, new feature, etc.