public IActionResult CreateDonationDeclaration(CreateDeclarationRequest request) { if (!ModelState.IsValid) { return(BadRequest()); } var validationResult = ValidateOperation(request.DonationAmount); if (validationResult.StatusCode != 200) { return(validationResult); } var donationDeclaration = new DonationDeclaration { Name = request.Name, PostCode = request.PostCode, DonationAmount = request.DonationAmount }; var response = new CreateDeclarationResponse { DeclarationId = _donationDeclarationService.Insert(donationDeclaration).ToString(), GiftAidAmount = _giftAidCalculator.CalculateGiftAid(request.DonationAmount) }; return(Ok(response)); }
public string Insert(DonationDeclaration donationDeclaration) { ObjectId id; lock (_liteDb) { id = _liteDb.GetCollection <DonationDeclaration>("DonationDeclaration").Insert(donationDeclaration); } return(id.ToString()); }
public void ShouldInsertSuccessfully() { var testDeclarationRequest = new DonationDeclaration { Name = "Nerijus", PostCode = "12345", DonationAmount = 800, }; var expectedObjectId = "5fc74923d9392f07c47d1b87"; _liteDbMock.Setup(x => x.Database.GetCollection <DonationDeclaration>(It.IsAny <string>(), BsonAutoId.ObjectId).Insert(testDeclarationRequest)) .Returns(new ObjectId("5fc74923d9392f07c47d1b87")); _donationService = new DonationDeclarationService(_liteDbMock.Object); var response = _donationService.Insert(testDeclarationRequest); Assert.AreEqual(expectedObjectId, response); }
public void ShouldGetDonationDeclaration() { var testObjectId = new ObjectId("5fc74923d9392f07c47d1b87"); var expectedDonationDeclarationResponse = new DonationDeclaration { Id = testObjectId, Name = "Nerijus", PostCode = "12345", DonationAmount = 800, }; _liteDbMock.Setup(x => x.Database.GetCollection <DonationDeclaration>(It.IsAny <string>(), BsonAutoId.ObjectId).FindOne(x => x.Id == testObjectId)) .Returns(new DonationDeclaration { Id = testObjectId, Name = "Nerijus", PostCode = "12345", DonationAmount = 800 }); _donationService = new DonationDeclarationService(_liteDbMock.Object); var response = _donationService.Get(testObjectId); Assert.AreEqual(expectedDonationDeclarationResponse.ToString(), response.ToString()); }