Refactored (src/topics/suggested.js): Consolidating getSuggestedTopics Paramaters into Array #243
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.
P1B: Starter Task: Refactoring PR
1. Issue
Please provide a link to the associated GitHub issue:
Link to the associated GitHub issue:
#72
Full path to the refactored file:
src/topics/suggested.js
Additional refactored: (refactored to handle parameter change)
test/topics.js
What do you think this file does?
(Your answer does not have to be 100% correct; give a reasonable, evidence‑based guess.)
The file suggested.js looks to be a suggestion feature that will appear on possibly each post. Listing similar topics to the current one clicked on.
What is the scope of your refactoring within that file?
(Name specific functions/blocks/regions touched.)
The changes made in src/topics/suggested.js was for the function getSuggestedTopics. Which consisted of me turning the parameters to an Array.
For the changes in the test/topics.js, I had to alter on how the getSuggestedTopics was being called which included making sure the test parameters were an Array.
Which Qlty‑reported issue did you address?
(Name the rule/metric and include the BEFORE value; e.g., “Cognitive Complexity 18 in render()”.)
Function with many parameters 5 in getSuggestedTopics().
2. Refactoring
How did the specific issue you chose impact the codebase’s adaptability?
The codebase's adaptability was not entirely impacted by the issue as the issue only existed within test. Potentially this issue could have messed with the code coverage of the codebase.
What changes did you make to resolve the issue?
I made sure that the function getSuggestedTopics parameters were made into an array, making them one object. The test file code that called the function was also altered so that the function is properly tested/covered.
How do your changes improve adaptability? Did you consider alternatives?
It maintained the codebases test coverage percentage. It would also be fixed for potential future iterations in which the feature is added and could have a UI component. This function is only used in one other (than the one that it's declared on) so there were only slight changes needed.
3. Validation
How did you trigger the refactored code path from the UI?
This feature is only used in test twice but is never called again in any other file.
Attach a screenshot of the logs and UI demonstrating the trigger.

(Run
./nodebb log; include the relevant UI view. Temporary logs should be removed before final commit.)Attach a screenshot of

qlty smells --no-snippets <full/path/to/file.js>showing fewer reported issues after the changes.