Challenge Overview
Challenge objectives
-
Clean up the README on the provided source code.
-
Clean up and update the unit testing code.
-
Build the development environment so we can run unit testing.
Tech stack
-
Node.js
Code access
Repo: https://github.com/tc-bluesource/bluesource-audience-api
Branch: develop
You will find a link to access the repo on the challenge forum (available after you register).
Detailed requirements
Clean up README
You need to clean up the README.md file with proper configuration instructions and instructions on how to start the API and how to run the tests.
Clean up/update the unit test code
You need to:
-
Update all dependencies to the latest version.
-
Replace deprecated dependencies (if needed) with newer ones or alternatives if there are no newer versions.
-
Remove all unnecessary code related to unit testing (if any).
-
Update the code/dependencies so it’s working with the current LTS version of Node.js (V10.x)
-
Make sure all testing related code is placed inside a /test directory instead of mixed with the actual source code of the API.
-
Based on https://github.com/tc-bluesource/bluesource-mock-data, establish a database table environment provided for the e2e test. and the JSON dataset provided for the unit testing. This requires improvements to bluesource-mock-data. Or it might be better to include it directly in the current project.
-
Implement a complete test use case for a service method as a guide for subsequent test cases.
-
Reformat the code to follow https://standardjs.com
-
Make sure we can generate a coverage report
Useful reference
We’ve made the exact same changes on another API. All changes can be found here and can be used as a reference https://github.com/tc-bluesource/consumer-api/commit/7a4db9d69d4e400d6d40fbb2969722154c1e3821