public void CreateAddressAsync_GivenNull_ThrowsException()
        {
            UserAddressService addressService = new UserAddressService(CreateUserAddressMockRepository().Object);

            Func <Task> act = async() => await addressService.CreateAddressAsync(null);

            act.Should().Throw <ArgumentNullException>();
        }
        public async Task CreateAddressAsync_GivenAddress_InvokesRepositoryCreateAsync()
        {
            var mockRepository = CreateUserAddressMockRepository();
            UserAddressService addressService = new UserAddressService(mockRepository.Object);
            UserAddressDTO     addressDTO     = new UserAddressDTO
            {
                UserAddressId = "2",
                Address1      = "Example Street",
                Address2      = "Example House",
                City          = "Example City",
                ZipCode       = "11-111",
                State         = "Example State",
                Country       = "Example Country"
            };

            await addressService.CreateAddressAsync(addressDTO);

            mockRepository.Verify(s => s.CreateAsync(It.Is <UserAddress>(x => x.UserAddressId == "2")), Times.Once);
        }