filabreu / cgtrader-test

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

CGTrader Level System

The goal of this task is to test your ability to test, refactor and implement new functionality on a given system. Note that this repository does not represent the actual code of CGTrader, but only acts as a testing ground.

Tasks

  1. Make sure test suite runs through all of the tests successfully. Hint: it won't at first.
  2. Refactor implementation code and tests where you see fit. You have as much freedom here as you wish.
  3. Implement new functionality. More details below.

New Functionality

Imagine the situation where management assigns you a task. Management wants that the system would automatically reward users or reduce their tax rate when they level up. Users are supposed to have a combination of rewards and privileges based on their user level. The only privilege in this case is tax reduction. However, management is not sure if that will always be the case, so you, as a developer, should make changes with the idea that requirements for this may change and the functionality should be flexible.

Notes & Requirements

  • Try not to spend more than 4 hours on this task. This will constrain you not to spend too much time on trivial details (sometimes you have to make compromises in order to deliver fast).
  • You may refactor not only the code in the models, but in tests too. Keep in mind that test code is still code that needs to be maintained.
  • Use git to track your changes.
  • When finished, simply zip the project and send it via e-mail.

Good luck!

About

License:MIT License


Languages

Language:CSS 48.1%Language:HTML 41.6%Language:Ruby 10.1%Language:Dockerfile 0.2%