public async Task WhenPostFromFile_ThenPublishAsync()
        {
            var request = new CreateIncidentRequest
            {
                JobIdentifier = It.IsAny<string>(),
                JobSubject = It.IsAny<string>(),
                JobPredicate = It.IsAny<string>()
            };

            var incident = new Incident { jobIdentifier = Guid.NewGuid().ToString() };

            ExpectIncidentMapperToMap(incident);
            ExpectExchangeToPublish();

            var sut = CreateController(new HttpRequestMessage());
            await sut.PostAsync(request);

            exchange.Verify(x => x.PublishAsync(incident, It.IsAny<string>()));
        }
        public async Task WhenPostFromFile_AndPublishAsyncFaults_ThenReturnInternalServerError()
        {
            var request = new CreateIncidentRequest
            {
                JobIdentifier = It.IsAny<string>(),
                JobSubject = It.IsAny<string>(),
                JobPredicate = It.IsAny<string>()
            };

            var incident = new Incident { jobIdentifier = Guid.NewGuid().ToString() };

            ExpectIncidentMapperToMap(incident);
            ExpectExchangeToFaultOnPublish();

            var sut = CreateController(new HttpRequestMessage());
            var result = await sut.PostAsync(request);

            Assert.AreEqual(HttpStatusCode.InternalServerError, result.StatusCode);
        }
 private void ExpectIncidentMapperToMap(Incident incidentRequest)
 {
     incidentRequestMapper.Setup(x => x.Map(It.IsAny<CreateIncidentRequest>()))
         .Returns(incidentRequest);
 }