Created: 2011-07-07 11:46
Updated: 2019-02-18 11:59


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 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!

Cookies help us deliver our services. By using our services, you agree to our use of cookies Learn more