예제 #1
0
        public void SubtractPastMin()
        {
            var request = new SubtractRequestDto()
            {
                Start = decimal.MinValue, Amount = 100
            };

            var result           = controller.Subtract(request);
            var controllerResult = result as ObjectResult;

            // assert
            Assert.NotNull(controllerResult);
            Assert.Equal(500, controllerResult.StatusCode);
        }
예제 #2
0
        public void SubtractValidNumbers(decimal start, decimal amount, decimal expected)
        {
            // act
            var request = new SubtractRequestDto()
            {
                Start = start, Amount = amount
            };
            var result   = controller.Subtract(request);
            var okResult = result as OkObjectResult;

            // assert
            Assert.NotNull(okResult);
            Assert.Equal(200, okResult.StatusCode);
            Assert.Equal(expected, okResult.Value);
        }
        public IActionResult Subtract(SubtractRequestDto request)
        {
            var operation = $"{request.Start} - { request.Amount}";

            try
            {
                logger.LogInformation($"Subtract request received: {operation}");
                var result = calcService.Subtract(request.Start, request.Amount);
                logger.LogInformation($"Result for {operation} = {result}");
                return(Ok(result));
            }
            catch (Exception ex)
            {
                logger.LogError(ex, $"Error processing {operation}");
                return(StatusCode(500, "Error: " + ex.Message));
            }
        }