public void UpdateReturnsResultWithInvalidCalculationModel()
        {
            var controller = new CalculationsController(_mockLogger.Object, _mockRepository.Object, _mockCalculator.Object, _mockMapper.Object, _mockDbContext.Object);

            controller.ModelState.AddModelError("Type", "Required");
            var modifiedCalculation = new CalculationModel();

            var result = controller.Update(modifiedCalculation.Id, modifiedCalculation).Result;

            Assert.IsType <UnprocessableEntityResult>(result);
        }
        public void UpdateCalculationReturnsNotFound()
        {
            int testUserId = 65555;

            _mockRepository.Setup(rep => rep.FindByIdAsync(testUserId))
            .Returns(null as Task <Calculation>);
            var controller          = new CalculationsController(_mockLogger.Object, _mockRepository.Object, _mockCalculator.Object, _mockMapper.Object, _mockDbContext.Object);
            var modifiedCalculation = new CalculationModel();

            var result = controller.Update(testUserId, modifiedCalculation).Result;

            Assert.IsType <NotFoundResult>(result);
        }
        public void UpdateReturnsResultWithCalculation()
        {
            var testUserId  = 1;
            var calculation = GetTestCalculations().FirstOrDefault(c => c.Id == testUserId);

            _mockRepository.Setup(rep => rep.FindByIdAsync(testUserId).Result)
            .Returns(_mockMapper.Object.Map <Calculation>(calculation));
            var controller          = new CalculationsController(_mockLogger.Object, _mockRepository.Object, _mockCalculator.Object, _mockMapper.Object, _mockDbContext.Object);
            var modifiedCalculation = new CalculationModel();

            var result = controller.Update(testUserId, modifiedCalculation).Result;

            Assert.IsType <NoContentResult>(result);
        }