Giter Site home page Giter Site logo

donnationcalcualtor's Introduction

Intro

A big part of what we do at JustGiving is reclaim the Gift Aid on donations made to charities. This saves them a lot of time and processing overheads.

This assignment is a very small task to create a Gift Aid calculator.

For reference, Gift Aid is calculated as follows:

[Donation Amount] * ( [TaxRate] / (100 - [TaxRate]) )

  • This assignment takes an average of about 30 minutes.
  • We use NUnit and Moq at JustGiving, references have been added using NuGet Packages. Everything is in place for you to just write the code (no "File > New Project" required).
  • Please DO NOT fork this project on Github, as we want to be sure candidates' test submissions are original.

Task requirements

  • All stories to be completed with an appropriate level of testing.
  • No actual database implementation is required, feel free to stub it out.
  • Your code should trend towards being SOLID.
  • Please download the Recruitment-Test repository, complete the tasks as you see fit.
  • Send us a Dropbox/Skydrive/whatever link to your zipped code to [email protected] but please do not send attached zip files via email!

Task Stories

Please complete each story in order.


Story 1

As a donor
I want to see my gift aid calculated according to the current tax rate
So that I know how much extra cash the charity will make

Acceptance criteria

  • Gift aid calculated at a tax rate of 20%.
  • Supported by unit tests.

Story 2

As a site administrator
I want to be able to change the applicable tax rate
So that I don't need to change the code when the tax rate changes

Acceptance criteria

  • Current Tax Rate is retrieved from data store.
  • Gift Aid amount is calculated based on the current amount in the data store.

Story 3

As a donor
I want to see my gift aid amount rounded correctly to 2 decimal places
So that I'm not confused about how much will be paid to the charity

Acceptance criteria

  • Gift aid amount correctly rounded to 2 decimal places (1.316 should round to 1.32).

Story 4

As an events promoter
I want to supplement gift aid payments based on event type
So that people will feel inspired to donate to these event types

Acceptance criteria

  • 5% supplement added for donations to "running" events.
  • 3% supplement added for donations to "swimming" events.
  • No supplement should be applied for other events.

Thanks for your time, we look forward to hearing from you!

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.