Exemple #1
0
        public async Task <IActionResult> CreateOrEditAddress(CreateOrEditAddressViewModel input)
        {
            string userEmail = _httpContextAccessor.HttpContext.User.FindFirstValue(ClaimTypes.NameIdentifier);
            var    result    = await _userApplicationService.CreateOrEditAddress(userEmail, input);

            return(Ok(result));
        }
Exemple #2
0
        public async Task IShouldCanCreateOrUpdateAUserAddress()
        {
            string email = "*****@*****.**";
            var    user  = new User
            {
                Email = email,
                Id    = "jkl34lk435-klj2342"
            };
            var viewModel = new CreateOrEditAddressViewModel
            {
                City = "SP"
            };
            var address = new Address
            {
                City = "SP"
            };

            var mockForDomainService = new Mock <IUserService>();

            mockForDomainService.Setup(service => service.GetUserByEmail(It.IsAny <string>()))
            .ReturnsAsync(user)
            .Verifiable();

            mockForDomainService.Setup(service => service.CreateOrEditAddress(It.IsAny <User>(), It.IsAny <Address>()))
            .Returns(user)
            .Verifiable();

            var mockForMapper = new Mock <IMapper>();

            mockForMapper.Setup(m => m.Map <Address>(It.IsAny <CreateOrEditAddressViewModel>()))
            .Returns(address)
            .Verifiable();

            mockForMapper.Setup(m => m.Map <CreateOrEditAddressViewModel>(It.IsAny <Address>()))
            .Returns(viewModel)
            .Verifiable();

            var service = new UserApplicationService(mockForMapper.Object,
                                                     mockForDomainService.Object);

            var result = await service.CreateOrEditAddress(email, viewModel);

            Assert.AreEqual(viewModel, result);
            mockForDomainService.VerifyAll();
            mockForMapper.VerifyAll();
        }
Exemple #3
0
        public async Task <CreateOrEditAddressViewModel> CreateOrEditAddress(string userEmail, CreateOrEditAddressViewModel viewModel)
        {
            var user = await _userService.GetUserByEmail(userEmail);

            var address = _mapper.Map <Address>(viewModel);
            var result  = _userService.CreateOrEditAddress(user, address);

            return(_mapper.Map <CreateOrEditAddressViewModel>(result.Address));
        }