public void PostMustReturnInternalServerError()
        {
            //ARRANGE
            var dna = new string[]
            {
                "ATGCGA", "CAGTGC", "TTATGT", "AGAAGG", "CCCCTA", "TCACTG"
            };

            var dnaRequest = new DnaRequest
            {
                Dna = dna
            };

            var errorMessage = "InternalServerError";

            var mockDnaEvaluator = _autoMoqer.GetMock <IDnaEvaluatorService>();

            mockDnaEvaluator.Setup(x => x.Evaluate(dnaRequest.Dna))
            .Throws(new Exception(errorMessage));

            //ACT
            var result       = _mutantController.Post(dnaRequest).Result;
            var actionResult = (ObjectResult)result;

            //ASSERT
            Assert.Equal(actionResult.StatusCode, (int)HttpStatusCode.InternalServerError);
            Assert.Equal(actionResult.Value, errorMessage);
        }
        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);
        }
Exemple #3
0
        public void AccessorsAndMutators_WhenCalled_ShouldBeValid()
        {
            var dnaRequest = new DnaRequest
            {
                Dna = _dnaValid
            };

            Assert.Equal(dnaRequest.Dna, _dnaValid);
        }
Exemple #4
0
        public void DneRequestValidator_WhenObjectIsInValid_ShouldReturnIsValid(List <string> dna)
        {
            var validator  = new DnaRequestValidator();
            var dnaRequest = new DnaRequest
            {
                Dna = dna
            };
            var validateResult = validator.Validate(dnaRequest);

            Assert.False(validateResult.IsValid);
        }
Exemple #5
0
        public void DneRequestValidator_WhenObjectIsValid_ShouldReturnIsValid()
        {
            var validator  = new DnaRequestValidator();
            var dnaRequest = new DnaRequest
            {
                Dna = _dnaValid
            };
            var validateResult = validator.Validate(dnaRequest);

            Assert.True(validateResult.IsValid);
        }
Exemple #6
0
        public async Task <ActionResult> Post([FromBody] DnaRequest dnaDto)
        {
            try
            {
                var isMutant = await _dnaEvaluator.Evaluate(dnaDto.Dna);

                return(Ok());
            }
            catch (ArgumentException ex)
            {
                return(BadRequest(ex.Message));
            }
            catch (Exception ex)
            {
                return(StatusCode((int)HttpStatusCode.InternalServerError, ex.Message));
            }
        }
Exemple #7
0
 public ActionResult IsMutant(DnaRequest dna)
 {
     return(StatusCode(_mutant.IsMutant(dna.Dna) ? 200 : 403));
 }
Exemple #8
0
        public async Task <ActionResult> PostAsync([FromBody] DnaRequest request)
        {
            await _mediator.Send(new DnaValidatorCommand(request.Dna));

            return(Ok());
        }