Ejemplo n.º 1
0
        public IActionResult RegisterPoint(RegisterPointViewModel viewModel)
        {
            if (!ModelState.IsValid)
            {
                return(BadRequest());
            }

            try
            {
                var model = _AppApiBL.RegisterPoint(
                    viewModel.RaceId,
                    viewModel.UniqueId,
                    viewModel.PointId,
                    viewModel.Latitude,
                    viewModel.Longitude,
                    viewModel.Answer);

                viewModel.Message = model.Message;
                viewModel.Type    = (PointTypeViewModel)model.Type;

                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));
            }
        }
Ejemplo n.º 2
0
        public void RegisterPointBusinessError()
        {
            var viewModel = new RegisterPointViewModel();
            var exception = new BusinessException("", BLErrorCodes.Duplicate);

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

            var result = _Sut.RegisterPoint(viewModel);

            Assert.IsInstanceOfType(result, typeof(BadRequestObjectResult));
            Assert.AreEqual((int)BLErrorCodes.Duplicate, (int)(result as BadRequestObjectResult).Value);
        }
Ejemplo n.º 3
0
        public void RegisterPointNoError()
        {
            var viewModel = new RegisterPointViewModel();
            var question  = "a";

            _BLMock.Setup(bl => bl.RegisterPoint(
                              It.IsAny <Guid>(),
                              It.IsAny <Guid>(),
                              It.IsAny <Guid>(),
                              It.IsAny <double>(),
                              It.IsAny <double>(),
                              It.IsAny <string>())).Returns(new Point {
                Message = question
            });

            var result = _Sut.RegisterPoint(viewModel);

            Assert.IsInstanceOfType(result, typeof(OkObjectResult));
            Assert.AreEqual(viewModel, (result as OkObjectResult).Value);
            Assert.AreEqual(question, ((RegisterPointViewModel)(result as OkObjectResult).Value).Message);
        }
Ejemplo n.º 4
0
        public void RegisterPointException()
        {
            var viewModel        = new RegisterPointViewModel();
            var exceptionMessage = "a";
            var exception        = new Exception(exceptionMessage);

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

            var result = _Sut.RegisterPoint(viewModel);

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

            _LoggerMock.VerifyLog(LogLevel.Error, Times.Once, $"Error in {typeof(AppApiController)}: {exceptionMessage}");
        }