Beispiel #1
0
        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);
        }
Beispiel #2
0
        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);
        }
Beispiel #3
0
        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);
        }
Beispiel #4
0
        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));
            }
        }