public void PostMustReturnOk() { //ARRANGE var dna = new string[] { "ATGCGA", "CAGTGC", "TTATGT", "AGAAGG", "CCCCTA", "TCACTG" }; var dnaRequest = new DnaRequest { Dna = dna }; var isMutant = true; var mockDnaEvaluator = _autoMoqer.GetMock <IDnaEvaluatorService>(); mockDnaEvaluator.Setup(x => x.Evaluate(dnaRequest.Dna)) .Returns(Task.FromResult(isMutant)); //ACT var result = _mutantController.Post(dnaRequest).Result; var actionResult = (OkResult)result; //ASSERT Assert.Equal(actionResult.StatusCode, (int)HttpStatusCode.OK); }
public async void CuandoElSeProduceUnArgumentExceptionRetornaBadRequest() { var dnaEvaluatorServiceMock = new Mock <IDnaEvaluatorService>(); dnaEvaluatorServiceMock.Setup(e => e.EvaluateDna(It.IsAny <string[]>())).ThrowsAsync(new ArgumentException()); var controller = new MutantController(dnaEvaluatorServiceMock.Object); var response = await controller.Post(new DnaDto()); Assert.IsType <BadRequestObjectResult>(response); }
private async void ValidarStatusCodeEnRespuestaDeIsMutant(bool isMutant, int statusCode) { var dnaEvaluatorServiceMock = new Mock <IDnaEvaluatorService>(); dnaEvaluatorServiceMock.Setup(e => e.EvaluateDna(It.IsAny <string[]>())).ReturnsAsync(isMutant); var controller = new MutantController(dnaEvaluatorServiceMock.Object); var response = await controller.Post(new DnaDto()); Assert.IsAssignableFrom <StatusCodeResult>(response); Assert.Equal(((StatusCodeResult)response).StatusCode, statusCode); }
public void ShouldReturn500WhenExceptionOcursOnService() { Mock <IQuantityAnalysisResult> quantityAnalysisResult = new Mock <IQuantityAnalysisResult>(); quantityAnalysisResult.Setup(m => m.Result).Returns(false); Mock <IDNAAnalyzerService> dnaAnalyzerService = new Mock <IDNAAnalyzerService>(); dnaAnalyzerService.Setup(m => m.AnalyzeMutant(It.IsAny <IDNA>())).Throws(new System.Exception()); Mock <IDNAFactory> dnaFactory = new Mock <IDNAFactory>(); MutantController controller = new MutantController(dnaAnalyzerService.Object, dnaFactory.Object); controller.Request = new HttpRequestMessage(); controller.Request.SetConfiguration(new HttpConfiguration()); var responseMessage = controller.Post(new Request.MutantRequest() { Dna = new string[] { } }); Assert.AreEqual(responseMessage.Result.StatusCode, System.Net.HttpStatusCode.InternalServerError); }
public void ShouldReturn403WhenAnalyzeMutantReturnsPositiveResult() { Mock <IQuantityAnalysisResult> quantityAnalysisResult = new Mock <IQuantityAnalysisResult>(); quantityAnalysisResult.Setup(m => m.Result).Returns(false); Mock <IDNAAnalyzerService> dnaAnalyzerService = new Mock <IDNAAnalyzerService>(); var quantityAnalysisResultTask = Task.FromResult(quantityAnalysisResult.Object); dnaAnalyzerService.Setup(m => m.AnalyzeMutant(It.IsAny <IDNA>())).Returns(quantityAnalysisResultTask); Mock <IDNAFactory> dnaFactory = new Mock <IDNAFactory>(); MutantController controller = new MutantController(dnaAnalyzerService.Object, dnaFactory.Object); controller.Request = new HttpRequestMessage(); controller.Request.SetConfiguration(new HttpConfiguration()); var responseMessage = controller.Post(new Request.MutantRequest() { Dna = new string[] { } }); Assert.AreEqual(responseMessage.Result.StatusCode, System.Net.HttpStatusCode.Forbidden); }