Example #1
0
        public void GetBystaffId_should_handle_exception()
        {
            // Arrange
            ByStaffIdRequest request = new ByStaffIdRequest
            {
                StaffId = 1
            };

            BaseMock.ShouldThrowException = true;

            LogData expectedLog = new()
            {
                CallSide         = nameof(MotivationModificatorController),
                CallerMethodName = nameof(_motivationModificatorController.GetBystaffId),
                CreatedOn        = _dateTimeUtil.GetCurrentDateTime(),
                Request          = request,
                Response         = new Exception(BaseMock.ExceptionMessage)
            };

            // Act
            ObjectResult actual = _motivationModificatorController.GetBystaffId(request.StaffId) as ObjectResult;

            // Assert
            Assert.AreEqual(500, actual.StatusCode, "StatusCode as expected");
            Assert.AreEqual(BaseMock.ErrorResponseMessage, actual.Value, "Response data as expected");
            _loggerMock.Verify(m => m.AddErrorLog(expectedLog), Times.Once);
            _motivationModificatorsClientMock.Verify(m => m.GetByStaffId(request, null, null, new CancellationToken()), Times.Once);
        }
    }
Example #2
0
        public override Task <MotivationModificatorResponse> GetByStaffId(ByStaffIdRequest request, ServerCallContext context)
        {
            MotivationModificatorResponse response = new()
            {
                Status = new BaseResponse {
                    Code = Code.Success, ErrorMessage = string.Empty
                }
            };

            try
            {
                MotivationModificator motivationModificator = _motivationModificatorRepository.GetByStaffId(request.StaffId);
                response.Data = motivationModificator is null ? null: ToRpcModel(motivationModificator);

                LogData logData = new()
                {
                    CallSide         = nameof(MotivationModificatorsService),
                    CallerMethodName = nameof(GetByStaffId),
                    CreatedOn        = _dateTimeUtil.GetCurrentDateTime(),
                    Request          = request,
                    Response         = response
                };
                _logger.AddLog(logData);
            }
            catch (Exception ex)
            {
                LogData logData = new()
                {
                    CallSide         = nameof(MotivationModificatorsService),
                    CallerMethodName = nameof(GetByStaffId),
                    CreatedOn        = _dateTimeUtil.GetCurrentDateTime(),
                    Request          = request,
                    Response         = ex
                };
                _logger.AddErrorLog(logData);
                response.Status.Code         = Code.UnknownError;
                response.Status.ErrorMessage = "An error occured while loading motivation modificator data";
            }
            return(Task.FromResult(response));
        }