ico-arrow-big-left

Topcoder - Unit Testing of Community App

Key Information

Register
Submit
The challenge is finished.
Show Deadlines

Challenge Overview

Lately, Topcoder puts a lot of efforts into a massive update and enhancement of our beloved community platform. A lot of development is going on inside Community App, which is powered by ReactJS / Redux with various bells and whistles, and, what is important for this challenge, unit-tested with Jest. Recent updated of the app have dropped the unit-test coverage to low levels (~25% of code is covered). In this challenge you will increase unit-test coverage up to a solid level (> 80% or higher), following the best practices of unit-testing ReactJS apps with Jest.

You should work out of the latest commit in develop branch of Community App (f0c231cc3fb5d923aa1e401da085575bb1ef1b73 at the moment of writing these specs). Currently there are a few skipped tests, that were broken by recent changes - fix them first. Then go through the unit test coverage report and systematicaly add unit tests everywhere to increase all kinds of coverage (statements / branches / functions / lines). Also pay attention to warnings printed to the console when the tests are running. Some of them point to failing prop types checks: these might be due to wrong types of parameters passed into components during tests, or because of errors in prop types checks - you should fix these problems correctly.

If you feel puzzled how to do some specific kind of testing, do not hesistate to ask / discuss in the challenge forum.

Scoring

For this challenge I have picked up Data Science Subjective scorecard. The idea is to score submissions by the average unit test coverage they have achieved (i.e. submission with the higher test coverage should win). Any incorrectly implemented unit tests should not be accounted in the coverage (I believe, you can skip them when running testing for scoring, and provide an adequate note in the scorecard about which tests and why have not been counted, if any). If some tests have small problems, at discretion of the reviewer, we can still count them, but it will be cool to still have the comment in the scorecard, so we fix the issues later. We will use 80% test coverage level as the threshold - any submissions which have not reached this level will be failed by assigning a score less than 50 in the scorecard.

Final Submission Guidelines

Git patch for the repo, brief verification video showing how the tests are running at your side, and the results you get in the coverage report.

Reliability Rating and Bonus

For challenges that have a reliability bonus, the bonus depends on the reliability rating at the moment of registration for that project. A participant with no previous projects is considered to have no reliability rating, and therefore gets no bonus. Reliability bonus does not apply to Digital Run winnings. Since reliability rating is based on the past 15 projects, it can only have 15 discrete values.
Read more.

ELIGIBLE EVENTS:

2017 TopCoder(R) Open

REVIEW STYLE:

Final Review:

Community Review Board
?

Approval:

User Sign-Off
?

CHALLENGE LINKS:

Review Scorecard

?