public GiftAidDonation RecordDonation(GiftAidDonation donation)
        {
            var donations = _database.GetCollection <GiftAidDonation>("donations");

            donations.Insert(donation);

            return(donation);
        }
        public void CalledPostWithInvalidData(decimal donationAmount, string name, string postCode)
        {
            var donation = new GiftAidDonation()
            {
                DonationAmount = donationAmount,
                Name           = name,
                PostCode       = postCode
            };

            var result = _controller.Post(donation);

            var badRequestResult = result as BadRequestResult;

            Assert.IsNotNull(badRequestResult);
        }
        public void CalledPostWithValidData()
        {
            var donation = new GiftAidDonation()
            {
                DonationAmount = 10,
                Name           = "name",
                PostCode       = "postCode"
            };

            _donationRepository.RecordDonation(donation).Returns(new GiftAidDonation()
            {
                Id = Guid.NewGuid(),
            });

            var result = _controller.Post(donation);

            var createdRequestResult = result as CreatedResult;

            Assert.IsNotNull(createdRequestResult);
            _donationRepository.Received().RecordDonation(donation);
        }
Beispiel #4
0
        public IActionResult Post([FromBody] GiftAidDonation donation)
        {
            if (donation.DonationAmount < 2 || donation.DonationAmount > 100000)
            {
                return(BadRequest());
            }

            if (string.IsNullOrWhiteSpace(donation.Name))
            {
                return(BadRequest());
            }

            if (string.IsNullOrWhiteSpace(donation.PostCode))
            {
                return(BadRequest());
            }

            var result = _donationRepositroy.RecordDonation(donation);

            return(Created(result.Id.ToString(), result));
        }
        public void InsertsDonationIntoDb()
        {
            var donation = new GiftAidDonation()
            {
                DonationAmount = 17.81m,
                Name           = "TestName",
                PostCode       = "TestPostCode"
            };
            var result = _donationRepository.RecordDonation(donation);

            var collectionExists = _db.CollectionExists("donations");

            Assert.IsTrue(collectionExists);

            var collection = _db.GetCollection <GiftAidDonation>("donations");
            var dbResult   = collection.FindById(result.Id);

            Assert.AreEqual(donation.DonationAmount, dbResult.DonationAmount);
            Assert.AreEqual(donation.Name, dbResult.Name);
            Assert.AreEqual(donation.PostCode, dbResult.PostCode);
        }