private async Task TestReturnsCorrectStatusCode(EntityActionOutcome outcome, HttpStatusCode statusCode) { _service.SetReturnsDefault(Task.FromResult(outcome)); _resultFactory.Setup(x => x.Create(outcome)).Returns(statusCode); var response = await _controller.Create(inputData); Assert.AreEqual(statusCode, response); }
public HttpStatusCode Create(EntityActionOutcome entityOutcome) { switch (entityOutcome) { case EntityActionOutcome.Success: return(HttpStatusCode.OK); case EntityActionOutcome.CreateFailed: case EntityActionOutcome.UpdateFailed: return(HttpStatusCode.Conflict); case EntityActionOutcome.MissingFullEntityData: return(HttpStatusCode.UnprocessableEntity); case EntityActionOutcome.EntityNotFound: return(HttpStatusCode.NotFound); default: return(HttpStatusCode.InternalServerError); } }
public async Task ReturnAnInternalServerErrorStatusCodeResultWhenOutcomeIsNotRecognized(EntityActionOutcome outcome) => await TestReturnsCorrectStatusCode(outcome, HttpStatusCode.InternalServerError);