예제 #1
0
        public IActionResult Post([FromBody] BenefitsCostQuoteRequest quoteRequest)
        {
            if (quoteRequest?.EmployeeId == null || quoteRequest.EmployeeId == string.Empty)
            {
                return(BadRequest());
            }

            var quote = _quoteService.GenerateQuote(quoteRequest.EmployeeId, quoteRequest.DependentNames);

            var benefitsCostQuoteResult = _mapper.Map <BenefitsCostQuoteResult>(quote);

            return(CreatedAtAction("Get", "Employee", new { id = quoteRequest.EmployeeId }, benefitsCostQuoteResult));
        }
예제 #2
0
        public void Should_return_bad_request_if_quoteRequest_fails_validation()
        {
            var quoteRequest = new BenefitsCostQuoteRequest();
            var quote        = new Quote();
            var mockService  = new Mock <IQuoteService>();

            mockService
            .Setup(x => x.GenerateQuote(It.IsAny <string>(), It.IsAny <string[]>()))
            .Returns(quote);

            var mockMapper = new Mock <IMapper>();

            mockMapper
            .Setup(m => m.Map <BenefitsCostQuoteResult>(It.IsAny <Quote>()))
            .Returns(new BenefitsCostQuoteResult());

            var controller = new QuoteController(mockService.Object, mockMapper.Object);


            var actionResult = controller.Post(quoteRequest);

            Assert.IsType <BadRequestResult>(actionResult);
        }
예제 #3
0
        public void Should_generate_a_quote()
        {
            var quoteRequest = new BenefitsCostQuoteRequest {
                EmployeeId = "1"
            };
            var quote = new Quote();

            var mockService = new Mock <IQuoteService>();

            mockService
            .Setup(x => x.GenerateQuote(It.IsAny <string>(), It.IsAny <string[]>()))
            .Returns(quote);

            var mockMapper = new Mock <IMapper>();

            var controller = new QuoteController(mockService.Object, mockMapper.Object);


            var actionResult = controller.Post(quoteRequest);


            mockService.Verify(es => es.GenerateQuote(It.IsAny <string>(), It.IsAny <string[]>()), Times.Once);
        }