Refactor CollectionsControllerTest for Improved Readability and Maintainability #499
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.
This pull request refactors the
CollectionsControllerTest
to enhance its readability and maintainability. The changes include consolidating stubs, usinglet
andbefore
hooks, improving readability through helper methods, and making use of more descriptive assertions.Grouped repeated stub setups into separate methods.
Utilized
let
andbefore
hooks for simplified setup and user login.Improved readability with helper methods for repeated logic.
Added descriptive methods for verifying expectations.
Ensured all original test cases and functionalities are intact.
Added
default_headers
method for common request headers.Added
setup_show_stubs
,setup_granule_not_found_stubs
,setup_granule_revision_stubs
, andsetup_create_stubs
methods to reduce redundancy in stub setups.Added
assert_collection_and_granule_saved_correctly
andassert_iso_record_saved_correctly
methods for clearer assertions.Used
assert_redirected_to
andassert_equal
for more explicit assertions.This refactor aims to make the test suite easier to understand, maintain, and extend in the future.
All existing tests have been run and verified to ensure they pass with the refactored code.