Esempio n. 1
0
        public void MethodPost_Fail()
        {
            lock (_syncLock)
            {
                // Arrange
                _logger.LogInformation($"test MethodPost_Fail()");
                CalculationsController controller = BuildController(false);

                try
                {
                    int i = 0;
                    foreach (var op in TD_MethodPost_Fail)
                    {
                        _logger.LogInformation($"TD[{i}] = {JsonConvert.SerializeObject(op)}");
                        i++;

                        // Act
                        var actual = controller.Post(op.DtoIn);

                        // Assert
                        AssertActionResult <Dto.CResultDto>(op.expectedData, op.expectedCode, actual);                        // 400 Bad Request
                    }
                }
                finally
                {
                    var actual = controller.Delete();
                }
            }
        }
        public void DeleteReturnsBadRequestResultWhenIdIsNull()
        {
            var controller = new CalculationsController(_mockLogger.Object, _mockRepository.Object, _mockCalculator.Object, _mockMapper.Object, _mockDbContext.Object);

            var result = controller.Delete(null).Result;

            Assert.IsType <BadRequestResult>(result);
        }
        public void DeleteReturnsNotFoundResultWhenCalculationNotFound()
        {
            int testCalcId = 8;

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

            var result = controller.Delete(testCalcId).Result;

            Assert.IsType <NotFoundResult>(result);
        }
Esempio n. 4
0
        public void MethodGet_Fail()
        {
            lock (_syncLock)
            {
                // Arrange
                _logger.LogInformation($"test MethodGet_Fail()");
                CalculationsController controller = BuildController(true);

                try
                {
                    /*
                     *                      CPostTestData[] TD_MethodGet_Success_Repo = new CPostTestData[TD_MethodPost_Success.Count()*2];
                     *                      TD_MethodPost_Success.CopyTo(TD_MethodGet_Success_Repo,0);
                     *                      TD_MethodPost_Success.CopyTo(TD_MethodGet_Success_Repo, TD_MethodPost_Success.Count());
                     */
                    int i0 = 0;
                    foreach (var op in TD_MethodPost_Success)
                    {
                        // Arrange
                        var    actual = controller.Post(op.DtoIn);
                        int    iRet   = (actual as ObjectResult).StatusCode.Value;
                        string sCode  = $"HTTP response {iRet} {(System.Net.HttpStatusCode)iRet}";
                        string Mes    = (200 == iRet) ? (sCode) : ("[[ERROR!]] " + sCode + (System.Net.HttpStatusCode)iRet);
                        _logger.LogInformation($"Arrange[{i0}] = {op.expectedData}, {Mes}");
                        i0++;
                    }

                    int i = 0;
                    foreach (var op in TD_MethodGet_Fail)
                    {
                        // Arrange
                        _logger.LogInformation($"TD[{i}] = {JsonConvert.SerializeObject(op)}");
                        i++;

                        // Act
                        var actual = controller.Get(op.DtoIn.actions, op.DtoIn.offset, op.DtoIn.fetch);

                        // Assert
                        AssertActionResult <Dto.COperationOutputDto[]>(op.expectedData, op.expectedCode, actual, arr =>
                        {
                            return(JsonConvert.SerializeObject(arr.Select(item => item.result).ToArray()));
                        });                          // 400
                    }
                }
                finally
                {
                    var actual = controller.Delete();
                }
            }
        }
        public void DeleteReturnsResultWithCalculation()
        {
            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 result = controller.Delete(testUserId).Result;

            Assert.IsType <NoContentResult>(result);
        }
Esempio n. 6
0
        public void MethodDelete_Success()
        {
            lock (_syncLock)
            {
                // Arrange
                _logger.LogInformation($"test MethodDelete_Success()");
                CalculationsController controller = BuildController(false);

                // Act
                var actual = controller.Delete();

                // Assert
                AssertActionResult <IActionResult>(null, 202, actual);                // 202 Accepted
            }
        }
Esempio n. 7
0
        private CalculationsController BuildController(bool NeedEmptyDB)
        {
            IOperationRepo repo;

            if (_inmemoryTable)
            {
                repo = new OperationMemRepo("", _loggerFactory.CreateLogger <OperationMemRepo>());
            }
            else
            {
                repo = new OperationBdRepo(_connection, _loggerFactory.CreateLogger <OperationBdRepo>());
            }

            CalculationsController controller = new CalculationsController(repo, _loggerFactory.CreateLogger <CalculationsController>());

            if (NeedEmptyDB)
            {
                controller.Delete();
            }

            return(controller);
        }