Challenge Overview
Challenge Objectives
-
Fix tests
Project Background
-
Submission API consists of 4 resources - submission, review, review types and review summations.
-
This is Topcoder’s internal API
Technology Stack
-
Nodejs (version 8)
-
ElasticSearch
-
Kafka
-
Dynamodb
Code Access
-
You can find the code here. Kindly use the “tests” branch as your base branch
Individual Requirements
Fix Tests (Major Requirement)
-
Deploy the app locally following the instructions in the README
-
After deployment, run the tests - both unit and end to end.
-
You will see that the tests fail.
-
As part of this contest, you need to update the tests so that they run successfully.
-
You need to update both unit and e2e tests
-
You also need to update the tests such that the code coverage should be more than 85%
Deployment Guide and Validation Document
-
Kindly update the README file with any additional points as relevant for this contest.
Important Notes
-
A bit of a background to help you with this contest. We had the branch that introduced tracing and this was a stale branch - about a year old and unmaintained. We merged the changes of this branch with the stable develop branch. While the merge was a success, we realized that our tests were outdated and in some instances, the merge introduced bugs. We resolved the bugs that we were able to identify and want to ensure that we do not have any more bugs. Hence, we want to update our tests.
-
You can use the two branches linked above in case you wish to compare if there is an issue with the code itself or if the tests need to be updated.
-
Ensure there are no lint errors in your code
-
Follow existing conventions used in the app.
-
Note that we don’t use async await but instead use yield generators. You need to follow the same approach.
-
You are allowed to make updates to the initial data insertion script (you most likely have to) along with updates to the test data.
-
You will NOT be testing the tracing code itself. This is disabled by default in the configuration and you don’t have to test it. You will only test the submission api.
Final Submission Guidelines
Kindly submit a git patch of your changes.