Example #1
0
 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());
     }
 }
Example #2
0
        public void GetByStaffId_should_return_road_map_accociated_with_staff_id()
        {
            // Arrange
            ByStaffRequest request = new()
            {
                StaffId = _staff.Id
            };

            RoadMapResponse response = new()
            {
                Status = new BaseResponse
                {
                    Code         = Code.Success,
                    ErrorMessage = string.Empty
                },
                Data = new RoadMapData()
                {
                    Id        = _roadMap.Id,
                    StaffId   = _roadMap.StaffId,
                    CreatedOn = Timestamp.FromDateTime(_roadMap.CreatedOn),
                    Status    = (int)_roadMap.Status,
                    Tasks     = _roadMap.Tasks
                }
            };

            LogData expectedLog = new()
            {
                CallSide         = nameof(RoadMapsService),
                CallerMethodName = nameof(_roadMapsService.GetByStaffId),
                CreatedOn        = _dateTimeUtil.GetCurrentDateTime(),
                Request          = request,
                Response         = response
            };

            // Act
            RoadMapResponse actual = _roadMapsService.GetByStaffId(request, null).Result;

            // Assert
            Assert.AreEqual(response, actual, "Rasponse as expected");
            _loggerMock.Verify(m => m.AddLog(expectedLog), Times.Once);
            _roadMapRepositoryMock.Verify(m => m.GetByStaffId(request.StaffId), Times.Once);
        }

        [Test]
Example #3
0
        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]
Example #4
0
        public void GetByStaffId_should_handle_exception()
        {
            // Arrange
            BaseMock.ShouldThrowException = true;
            ByStaffRequest request = new()
            {
                StaffId = _staff.Id
            };

            RoadMapResponse response = new()
            {
                Status = new BaseResponse
                {
                    Code         = Code.UnknownError,
                    ErrorMessage = "An error occured while loading Road Map"
                }
            };

            LogData expectedLog = new()
            {
                CallSide         = nameof(RoadMapsService),
                CallerMethodName = nameof(_roadMapsService.GetByStaffId),
                CreatedOn        = _dateTimeUtil.GetCurrentDateTime(),
                Request          = request,
                Response         = new Exception(BaseMock.ExceptionMessage)
            };

            // Act
            RoadMapResponse actual = _roadMapsService.GetByStaffId(request, null).Result;

            // Assert
            Assert.AreEqual(response, actual, "Rasponse as expected");
            _loggerMock.Verify(m => m.AddErrorLog(expectedLog), Times.Once);
            _roadMapRepositoryMock.Verify(m => m.GetByStaffId(request.StaffId), Times.Once);
        }

        [Test]