public async void Given_CreateServiceCommand_When_HandlingCreateServiceCommand_Then_ReturnsServiceRequestEntity()
        {
            // Arrange
            _serviceRequestRepository
            .Setup(serviceRequestRepo => serviceRequestRepo.Create(It.IsAny <ServiceRequest>()))
            .Returns <ServiceRequest>(serviceRequest => serviceRequest);

            var requestDTO = new PostCreateServiceRequestDTO
            {
                BuildingCode = "123",
                CreatedBy    = "Aaron Jaeger",
                Description  = "Turn up the heat!"
            };

            var createServiceRequestCommand = new CreateServiceRequestCommand(requestDTO);

            var target = new CreateServiceRequestCommandHandler(_logger.Object, _serviceRequestRepository.Object);

            // Act
            var actual = await target.Handle(createServiceRequestCommand, default);

            // Assert
            Assert.Equal(createServiceRequestCommand.RequestBody.BuildingCode, actual.GetBuildingCode);
            Assert.Equal(createServiceRequestCommand.RequestBody.CreatedBy, actual.GetCreatedBy);
            Assert.Equal(createServiceRequestCommand.RequestBody.Description, actual.GetDescription);
            Assert.Equal(CurrentStatus.Created, actual.CurrentStatus);
            Assert.InRange(actual.GetCreatedDate, DateTime.UtcNow.AddSeconds(-30), DateTime.UtcNow);
            Assert.Null(actual.GetLastModifiedBy);
        }
        public async Task <ActionResult <ServiceRequestDTO> > CreateServiceRequestAsync([FromBody] PostCreateServiceRequestDTO request)
        {
            var command = new CreateServiceRequestCommand(request);

            var result = await _mediator.Send(command);

            return(Created(nameof(CreateServiceRequestAsync), result.AsServiceRequestDTO()));
        }