Register
Submit a solution
The challenge is finished.

Challenge Overview

Note - This challenge has shorter review and appeals phases

The Role-Based Curriculum App (RBC App) is a tool created to automate the processes of role-based curriculum checklist management. The Role-Based Curriculum App is utilized to track the overall proficiency and capabilities of associates to perform role-based tasks.
 

We've launched multiple backend, frontend and integration challenges to build this app. In this challenge, we are looking to implement the missing backend tests for various entities. The earlier backend tests challenge focused on 
Users, Teams, Checklists and Scores. Please run the existing tests to familiarise yourself.

In this challenge we will implement tests that primarily test the following:

  • Does the endpoint perform the required actions (functional) - for each of the endpoints in scope we need tests that verify the endpoint makes the correct changes to the database and return the correct data in response.

  • Does it respect role based access and restrictions - we have six roles in the app (User, RoleMentor, Learning Catalyst, Manager, Admin, App Admin) and each of them can call different endpoints. For example both Manager and admin roles can add users to a team, but manager can do that only for teams that he is manager of, while admin can do it for all teams. We have a roles matrix in the attached document - a table detailing what each of the roles can and can not do in the system. Tests should cover success/failure tests for each role. If there are bugs in the current code that cause these tests to fail, fixing them is in scope (it's just simple role checks).

Scope

Endpoints in scope for this challenge are


- Heatmap
- Calendar
- Training plan
- RBC Request
- Score type,
- Lookup


Guidelines

. Using Spring TestContext framework is mandatory and annotation based configuration is preferred over xml
. Make sure all your tests are well documented
. Create separate tests for various error conditions as needed
. Make sure to cover various roles in your tests

. In general, please follow the existing tests as a convention

Provided Artefacts
- Backend code
- Swagger & API mapping document for various pages
- Frontend code
 frontend repo (please see forums for how to access) - just for reference
- RBC App Business Requirements - document containing the role matrix



Final Submission Guidelines

Submit the updated backend code
Submit a deployment/verification guide
Submit a brief video showing how to run your tests
 

 

ELIGIBLE EVENTS:

2018 Topcoder(R) Open

Review style

Final Review

Community Review Board

Approval

User Sign-Off

ID: 30063352