Challenge Overview
CHALLENGE OBJECTIVES
-
Add unit tests for components to our existing ReactNative based prototype code.
PROJECT BACKGROUND
-
We believe that our customers have more important things to do than wrestle with complex products or spend valuable time administering their banking arrangements. We recognize that professional and personal lives often overlap and our mission is to help empower our customers to achieve their ambitions by serving all their banking needs.
-
Banking customers are looking for a bank that can help them make their deal happen in an efficient, secure, fast, and flexible way as much as it can.
-
We understand different people want different things from "Relationship management"
-
We expect a counter-trend of “committed” relationships as customers react to digitization in our services.
-
Our goal in this project is to create strong direct relationships with our customers. We want to provide everything - a blended bank, preferential banking for their family, and open to non-banking services via our digital app (Responsive Web App and Mobile Hybrid App)
TECHNOLOGY STACK
-
React Native
-
Redux
-
Bootstrap
-
HTML5
-
CSS3
-
Typescript
-
JSON
-
Router
-
iOS
-
Android
-
Jest
CHALLENGE REQUIREMENTS
-
You must unit test all the components in the code base, with a coverage of over 90%. This is considered a major requirement in the scorecard since unit testing is all this challenge is about
-
Make sure you cover all the components in these folders:
-
src/AppModules
-
src/UILayer
-
-
End-to-end testing is NOT in scope
-
Your submission must add a command to run the tests and generate a coverage report
-
No existing code should be modified and no existing features should be broken
-
There should be no linting errors or warnings with the unit tests code
-
Production build of the prototype must not be broken
References
Here are a few quick references if unit testing is new to you:
LICENSES & ATTRIBUTION
-
Licenses to be followed in development:
-
Apache License 2.0
-
MIT License
-
Common Development and Distribution License
-
Eclipse Public License version 2.0
-
-
Sufficient information regarding third-party assets must be present in your documentation. This includes the author, license info, and a direct link to the asset online.
BROWSER REQUIREMENTS
-
iOS 10+ (iPhones in portrait mode only)
-
Android 5+ (phones in portrait mode only)
Final Submission Guidelines
FINAL DELIVERABLES
-
Full code that covers all the requirements.
-
A detailed README file including information on how to set up, run, and verify your application.