Пример #1
0
        public void RegisterRaceEndNoError()
        {
            var viewModel = new RegisterRaceEndViewModel();

            var result = _Sut.RegisterRaceEnd(viewModel);

            Assert.IsInstanceOfType(result, typeof(OkObjectResult));
            Assert.AreEqual(viewModel, (result as OkObjectResult).Value);
        }
Пример #2
0
        public void RegisterRaceEndBusinessError()
        {
            var viewModel = new RegisterRaceEndViewModel();
            var exception = new BusinessException("", BLErrorCodes.Duplicate);

            _BLMock.Setup(bl => bl.RegisterRaceEnd(It.IsAny <Guid>(), It.IsAny <Guid>())).Throws(exception);

            var result = _Sut.RegisterRaceEnd(viewModel);

            Assert.IsInstanceOfType(result, typeof(BadRequestObjectResult));
            Assert.AreEqual((int)BLErrorCodes.Duplicate, (int)(result as BadRequestObjectResult).Value);
        }
Пример #3
0
        public void RegisterRaceEndException()
        {
            var viewModel        = new RegisterRaceEndViewModel();
            var exceptionMessage = "a";
            var exception        = new Exception(exceptionMessage);

            _BLMock.Setup(bl => bl.RegisterRaceEnd(It.IsAny <Guid>(), It.IsAny <Guid>())).Throws(exception);

            var result = _Sut.RegisterRaceEnd(viewModel);

            Assert.IsInstanceOfType(result, typeof(StatusCodeResult));
            Assert.AreEqual(500, (result as StatusCodeResult).StatusCode);

            _LoggerMock.VerifyLog(LogLevel.Error, Times.Once, $"Error in {typeof(AppApiController)}: {exceptionMessage}");
        }
Пример #4
0
        public IActionResult RegisterRaceEnd(RegisterRaceEndViewModel viewModel)
        {
            if (!ModelState.IsValid)
            {
                return(BadRequest());
            }

            try
            {
                _AppApiBL.RegisterRaceEnd(viewModel.RaceId, viewModel.UniqueId);

                return(Ok(viewModel));
            }
            catch (BusinessException ex)
            {
                return(BadRequest((ErrorCodes)ex.ErrorCode));
            }
            catch (Exception ex)
            {
                _Logger.LogError(ex, $"Error in {typeof(AppApiController)}: {ex.Message}");
                return(StatusCode(500));
            }
        }