public async Task PutThrowsExceptionAsync() { // Act var updateQuoteModel = new UpdateQuoteModel { Id = new Guid("6877D1A3-4BC7-4D0B-B802-08D844D525AC"), ClientName = "ClientName 1", DateofBirth = new DateTime(1992, 09, 09), ClientSex = ClientSex.Male, Email = "*****@*****.**", MobileNumber = "1234567880", RetirementAge = 62, InvestmentAmount = 100000, PensionPlan = PensionPlan.PensionSilver }; mediatR.Setup(m => m.Send(It.IsAny <GetQuoteByIdRequest>(), It.IsAny <CancellationToken>())).Throws(new InvalidOperationException()); controller = new QuoteController(mapper, mediatR.Object); var result = await controller.Put(updateQuoteModel) as ObjectResult; // Assert Assert.NotNull(result); Assert.AreEqual(400, result.StatusCode); Assert.AreEqual("Operation is not valid due to the current state of the object.", result.Value); }
public async Task PutAsync() { // Act var updateQuoteModel = new UpdateQuoteModel { Id = new Guid("6877D1A3-4BC7-4D0B-B802-08D844D525AC"), ClientName = "ClientName 1", DateofBirth = new DateTime(1992, 09, 09), ClientSex = ClientSex.Male, Email = "*****@*****.**", MobileNumber = "1234567880", RetirementAge = 62, InvestmentAmount = 100000, PensionPlan = PensionPlan.PensionSilver }; var result = await controller.Put(updateQuoteModel) as OkObjectResult; // Assert Assert.NotNull(result); Assert.AreEqual(200, result.StatusCode); var responseQuoteModel = result.Value as ResponseQuoteModel; Assert.NotNull(responseQuoteModel); Assert.AreEqual("ClientName 1", responseQuoteModel.ClientName); }
public async Task PutNullMediatorResponseAsync() { // Act var updateQuoteModel = new UpdateQuoteModel { Id = new Guid("6877D1A3-4BC7-4D0B-B802-08D844D525AC"), ClientName = "ClientName 1", DateofBirth = new DateTime(1992, 09, 09), ClientSex = ClientSex.Male, Email = "*****@*****.**", MobileNumber = "1234567880", RetirementAge = 62, InvestmentAmount = 100000, PensionPlan = PensionPlan.PensionSilver }; mediatR.Setup(m => m.Send(It.IsAny <GetQuoteByIdRequest>(), It.IsAny <CancellationToken>())).Returns(Task.FromResult <Quote>(null)); controller = new QuoteController(mapper, mediatR.Object); var result = await controller.Put(updateQuoteModel) as BadRequestObjectResult; // Assert Assert.NotNull(result); Assert.AreEqual(400, result.StatusCode); Assert.AreEqual("No quote found with the id 6877d1a3-4bc7-4d0b-b802-08d844d525ac", result.Value); }
public void Setup() { var mockMapper = new MapperConfiguration(cfg => { cfg.AddProfile(new MappingProfile()); }); _mapper = mockMapper.CreateMapper(); createQuoteModel = new CreateQuoteModel { ClientName = "ClientName 1", DateofBirth = new DateTime(1992, 09, 09), ClientSex = ClientSex.Male, Email = "*****@*****.**", MobileNumber = "1234567880", RetirementAge = 66, InvestmentAmount = 300000, PensionPlan = PensionPlan.PensionPlatinum }; updateQuoteModel = new UpdateQuoteModel { Id = Guid.Parse("9f35b48d-cb87-4783-bfdb-21e36012930a"), ClientName = "ClientName 1", DateofBirth = new DateTime(1992, 09, 09), ClientSex = ClientSex.Male, Email = "*****@*****.**", MobileNumber = "1234567880", RetirementAge = 66, InvestmentAmount = 100000, PensionPlan = PensionPlan.PensionSilver }; quoteEntity = new Quote { Id = Guid.NewGuid(), ClientName = "ClientName 2", DateofBirth = new DateTime(1992, 09, 09), ClientSex = 1, Email = "*****@*****.**", MobileNumber = "1234567880", QuoteDate = new DateTime(2020, 08, 08), RetirementAge = 66, InvestmentAmount = 100000, MaturityAmount = 1500, PensionPlan = 1 }; }
public async Task <IActionResult> Put([FromBody] UpdateQuoteModel updateQuoteModel) { try { var quote = await _mediator.Send(new GetQuoteByIdRequest(updateQuoteModel.Id)); if (quote == null) { return(BadRequest($"No quote found with the id {updateQuoteModel.Id}")); } var quoteEntity = _mapper.Map(updateQuoteModel, quote); await _mediator.Send(new UpdateQuoteRequest(quoteEntity)); var quoteModel = _mapper.Map <ResponseQuoteModel>(quoteEntity); return(Ok(quoteModel)); } catch (Exception ex) { return(BadRequest(ex.Message)); } }