示例#1
0
        public IActionResult GetByRangeDate([FromQuery] ByDateRangeRequest request)
        {
            try
            {
                HolidaysResponse response = _holidaysClient.GetByDateRange(request);
                LogData          logData  = new()
                {
                    CallSide         = nameof(HolidaysController),
                    CallerMethodName = nameof(GetByRangeDate),
                    CreatedOn        = _dateTimeUtil.GetCurrentDateTime(),
                    Request          = request,
                    Response         = response
                };

                _logger.AddLog(logData);
                return(Ok(response));
            }
            catch (Exception ex)
            {
                LogData logData = new()
                {
                    CallSide         = nameof(HolidaysController),
                    CallerMethodName = nameof(GetByRangeDate),
                    CreatedOn        = _dateTimeUtil.GetCurrentDateTime(),
                    Request          = request,
                    Response         = ex
                };

                _logger.AddErrorLog(logData);
                return(InternalServerError());
            }
        }
    }
示例#2
0
        public void GetAll_should_handle_exception()
        {
            // Arrange
            BaseMock.ShouldThrowException = true;
            Empty request = new Empty();

            HolidaysResponse expectedResponse = new()
            {
                Status = new BaseResponse {
                    Code = Code.UnknownError, ErrorMessage = "An error occured while loading holidays data"
                }
            };

            LogData expectedLog = new()
            {
                CallSide         = nameof(HolidaysService),
                CallerMethodName = nameof(_holidaysService.GetAll),
                CreatedOn        = _dateTimeUtil.GetCurrentDateTime(),
                Request          = request,
                Response         = new Exception("Test exception")
            };

            // Act
            HolidaysResponse actual = _holidaysService.GetAll(request, null).Result;

            // Assert
            Assert.AreEqual(expectedResponse, actual, "Handled exception as expected");
            _loggerMock.Verify(m => m.AddErrorLog(expectedLog), Times.Once);
        }

        [Test]
示例#3
0
        public void GetByRangeDate_should_return_responce_from_grpc_client()
        {
            // Arrange
            HolidaysResponse response = new()
            {
                Status = new BaseResponse
                {
                    Code         = Code.Success,
                    ErrorMessage = string.Empty
                }
            };

            response.Data.Add(new HolidayData
            {
                Id          = 1,
                CreatedOn   = Timestamp.FromDateTime(_dateTimeUtil.GetCurrentDateTime()),
                Description = "test",
                HolidayDate = Timestamp.FromDateTime(_dateTimeUtil.GetCurrentDateTime()),
                ToDoDate    = Timestamp.FromDateTime(DateTime.MinValue.ToUniversalTime())
            });
            BaseMock.Response = response;

            ByDateRangeRequest request = new()
            {
                From = Timestamp.FromDateTime(_dateTimeUtil.GetCurrentDateTime()),
                To   = Timestamp.FromDateTime(_dateTimeUtil.GetCurrentDateTime().AddMonths(1))
            };

            LogData expectedLog = new()
            {
                CallSide         = nameof(HolidaysController),
                CallerMethodName = nameof(_holidaysController.GetByRangeDate),
                CreatedOn        = _dateTimeUtil.GetCurrentDateTime(),
                Request          = request,
                Response         = response
            };

            // Act
            ObjectResult     actual     = _holidaysController.GetByRangeDate(request) as ObjectResult;
            HolidaysResponse actualData = actual.Value as HolidaysResponse;

            // Assert
            Assert.AreEqual(200, actual.StatusCode, "Status code as expected");
            Assert.AreEqual(response, actualData, "Response data as expected");
            _holidaysClientMock.Verify(m => m.GetByDateRange(request, null, null, new CancellationToken()), Times.Once);
            _loggerMock.Verify(m => m.AddLog(expectedLog), Times.Once);
        }

        [Test]
示例#4
0
        public void GetAll_should_return_all_hoildays_from_db()
        {
            // Arrange
            Empty request = new Empty();

            HolidaysResponse expectedResponse = new()
            {
                Status = new BaseResponse {
                    Code = Code.Success, ErrorMessage = string.Empty
                }
            };

            expectedResponse.Data.Add(new HolidayData
            {
                Id          = _holiday1.Id,
                CreatedOn   = Timestamp.FromDateTime(_holiday1.CreatedOn),
                Description = _holiday1.Description,
                HolidayDate = Timestamp.FromDateTime(_holiday1.HolidayDate),
                ToDoDate    = _holiday1.ToDoDate.HasValue ? Timestamp.FromDateTime(_holiday1.ToDoDate.Value): Timestamp.FromDateTime(DateTime.MinValue.ToUniversalTime())
            });
            expectedResponse.Data.Add(new HolidayData
            {
                Id          = _holiday2.Id,
                CreatedOn   = Timestamp.FromDateTime(_holiday2.CreatedOn),
                Description = _holiday2.Description,
                HolidayDate = Timestamp.FromDateTime(_holiday2.HolidayDate),
                ToDoDate    = _holiday2.ToDoDate.HasValue ? Timestamp.FromDateTime(_holiday2.ToDoDate.Value) : Timestamp.FromDateTime(DateTime.MinValue.ToUniversalTime())
            });

            LogData expectedLog = new()
            {
                CallSide         = nameof(HolidaysService),
                CallerMethodName = nameof(_holidaysService.GetAll),
                CreatedOn        = _dateTimeUtil.GetCurrentDateTime(),
                Request          = request,
                Response         = expectedResponse
            };

            // Act
            HolidaysResponse actual = _holidaysService.GetAll(request, null).Result;

            // Assert
            Assert.AreEqual(expectedResponse, actual, "Returned holidays as expected");
            _loggerMock.Verify(m => m.AddLog(expectedLog), Times.Once);
        }

        [Test]