public IActionResult GetByStaffId([FromQuery] ByStaffRequest request) { try { RoadMapResponse response = _roadMapsClient.GetByStaffId(request); LogData logData = new() { CallSide = nameof(RoadMapsController), CallerMethodName = nameof(GetByStaffId), CreatedOn = _dateTimeUtil.GetCurrentDateTime(), Request = request, Response = response }; _logger.AddLog(logData); return(Ok(response)); } catch (Exception ex) { LogData logData = new() { CallSide = nameof(RoadMapsController), CallerMethodName = nameof(GetByStaffId), CreatedOn = _dateTimeUtil.GetCurrentDateTime(), Request = request, Response = ex }; _logger.AddErrorLog(logData); return(InternalServerError()); } }
public override Task <RoadMapResponse> GetByStaffId(ByStaffRequest request, ServerCallContext context) { try { RoadMap roadMap = _roadMapRepository.GetByStaffId(request.StaffId); RoadMapResponse response = new() { Status = new BaseResponse { Code = Code.Success, ErrorMessage = string.Empty }, Data = ToRpcModel(roadMap) }; LogData log = new() { CallSide = nameof(RoadMapsService), CallerMethodName = nameof(GetByStaffId), CreatedOn = _dateTimeUtil.GetCurrentDateTime(), Request = request, Response = response }; _logger.AddLog(log); return(Task.FromResult(response)); } catch (Exception ex) { LogData log = new() { CallSide = nameof(RoadMapsService), CallerMethodName = nameof(GetByStaffId), CreatedOn = _dateTimeUtil.GetCurrentDateTime(), Request = request, Response = ex }; _logger.AddErrorLog(log); return(Task.FromResult(new RoadMapResponse { Status = new BaseResponse { Code = Code.UnknownError, ErrorMessage = "An error occured while loading Road Map" } })); } }
public void GetByStaffId_should_return_road_map_by_staff_id() { // Arrange ByStaffRequest request = new ByStaffRequest { StaffId = _roadMapData.StaffId }; RoadMapResponse response = new() { Status = new BaseResponse { Code = Code.Success, ErrorMessage = string.Empty, }, Data = _roadMapData }; BaseMock.Response = response; LogData log = new() { CallSide = nameof(RoadMapsController), CallerMethodName = nameof(_controller.GetByStaffId), CreatedOn = _dateTimeUtil.GetCurrentDateTime(), Request = request, Response = response }; // Act OkObjectResult result = _controller.GetByStaffId(request) as OkObjectResult; RoadMapResponse actual = result.Value as RoadMapResponse; // Assert Assert.AreEqual(response, actual, "Response as expected"); _loggerMock.Verify(m => m.AddLog(log), Times.Once); _roadMapsClientMock.Verify(m => m.GetByStaffId(request, null, null, new CancellationToken()), Times.Once); } [Test]
public void GetByStaffId_should_handle_exception() { // Arrange ByStaffRequest request = new ByStaffRequest { StaffId = _roadMapData.StaffId }; RoadMapResponse response = new() { Status = new BaseResponse { Code = Code.UnknownError, ErrorMessage = BaseMock.ExceptionMessage, } }; BaseMock.ShouldThrowException = true; LogData log = new() { CallSide = nameof(RoadMapsController), CallerMethodName = nameof(_controller.GetByStaffId), CreatedOn = _dateTimeUtil.GetCurrentDateTime(), Request = request, Response = new Exception(BaseMock.ExceptionMessage) }; // Act ObjectResult result = _controller.GetByStaffId(request) as ObjectResult; // Assert Assert.AreEqual(result.Value, BaseMock.ErrorResponseMessage, "Response as expected"); _loggerMock.Verify(m => m.AddErrorLog(log), Times.Once); _roadMapsClientMock.Verify(m => m.GetByStaffId(request, null, null, new CancellationToken()), Times.Once); } [Test]