コード例 #1
0
        public void ConfirmEmailAddress_AnyEmail_CallsConfirmEmailAddressMethodOfRepository()
        {
            var settingsMock = new Mock<ISettings>();
            var componentsMock = new Mock<IComponents>();
            var repositoryMock = new Mock<IRepository>();
            var uowMock = new Mock<IUnitOfWork>();
            var serviceLocatorMock = new Mock<IServiceLocator>();
            serviceLocatorMock.Setup(x => x.GetInstance<IRepository>())
                .Returns(repositoryMock.Object);
            serviceLocatorMock.Setup(x => x.GetInstance<IUnitOfWork>())
                .Returns(uowMock.Object);
            ServiceLocator.SetLocatorProvider(() => serviceLocatorMock.Object);

            // Arrange
            Guid id = Guid.NewGuid();
            User user = new User
            {
                Id = id,
                UserName = "******",
                Email = "*****@*****.**"
            };

            repositoryMock.Setup(r => r.FindById<User>(id)).Returns(user);
            repositoryMock.Setup(r => r.CreateUnitOfWork()).Returns(uowMock.Object);

            // Act
            var userService = new UserService(uowMock.Object,repositoryMock.Object, settingsMock.Object, componentsMock.Object);
               userService.ConfirmEmailAddress(user.Id);

            // Assert
            repositoryMock.Verify(repo => repo.Update<User>(
                It.Is<User>(u => u.Id == id)));
            uowMock.Verify(uow => uow.Save());
        }
コード例 #2
0
        public void IsTokenValid_AnyId_CallsQueryMethodOfRepository()
        {
            var settingsMock = new Mock<ISettings>();
            var componentsMock = new Mock<IComponents>();
            var repositoryMock = new Mock<IRepository>();
            var uowMock = new Mock<IUnitOfWork>();
            var serviceLocatorMock = new Mock<IServiceLocator>();
            serviceLocatorMock.Setup(x => x.GetInstance<IRepository>())
                .Returns(repositoryMock.Object);
            serviceLocatorMock.Setup(x => x.GetInstance<IUnitOfWork>())
                .Returns(uowMock.Object);
            ServiceLocator.SetLocatorProvider(() => serviceLocatorMock.Object);

            // Arrange
            string token = Guid.NewGuid().ToString();
            repositoryMock.Setup(r => r.CreateUnitOfWork()).Returns(uowMock.Object);
            // Act
            var userService = new UserService(uowMock.Object,repositoryMock.Object, settingsMock.Object, componentsMock.Object);
            userService.IsTokenValid(token);

            // Assert
            repositoryMock.Verify(repo => repo.Query<User>());
        }
コード例 #3
0
        public void CreateFavourite_Any_CallsCreateMethodOfRepository()
        {
            var settingsMock = new Mock<ISettings>();
            var componentsMock = new Mock<IComponents>();
            var repositoryMock = new Mock<IRepository>();
            var uowMock = new Mock<IUnitOfWork>();
            var serviceLocatorMock = new Mock<IServiceLocator>();
            serviceLocatorMock.Setup(x => x.GetInstance<IRepository>())
                .Returns(repositoryMock.Object);
            serviceLocatorMock.Setup(x => x.GetInstance<IUnitOfWork>())
                .Returns(uowMock.Object);
            ServiceLocator.SetLocatorProvider(() => serviceLocatorMock.Object);

            // Arrange
            Guid specialistId = Guid.NewGuid();
            Guid customerId = Guid.NewGuid();
            User specialUser = new User()
            {
                Id = specialistId
            };
            User customUser = new User()
            {
                Id = customerId
            };
            User[] users = new User[] { specialUser, customUser };
            repositoryMock.Setup(r => r.FindById<User>(specialistId)).Returns(specialUser);
            repositoryMock.Setup(r => r.FindById<User>(customerId)).Returns(customUser);
            repositoryMock.Setup(r => r.CreateUnitOfWork()).Returns(uowMock.Object);
            // Act
            var userService = new UserService(uowMock.Object,repositoryMock.Object, settingsMock.Object, componentsMock.Object);
            userService.CreateFavourite(specialistId, customerId);

            // Assert
            repositoryMock.Verify(repo => repo.Insert<Favourite>(
                It.Is<Favourite>(u => u.Customer.Id == customUser.Id &&u.Specialist.Id ==specialUser.Id)));
            uowMock.Verify(uow => uow.Save());
        }
コード例 #4
0
        public void GetUserConfirmation_AnyResult_CallsQueryMethodOfRepository()
        {
            var settingsMock = new Mock<ISettings>();
            var componentsMock = new Mock<IComponents>();
            var repositoryMock = new Mock<IRepository>();
            var uowMock = new Mock<IUnitOfWork>();
            var serviceLocatorMock = new Mock<IServiceLocator>();
            serviceLocatorMock.Setup(x => x.GetInstance<IRepository>())
                .Returns(repositoryMock.Object);
            serviceLocatorMock.Setup(x => x.GetInstance<IUnitOfWork>())
                .Returns(uowMock.Object);
            ServiceLocator.SetLocatorProvider(() => serviceLocatorMock.Object);

            // Arrange
            Guid id = Guid.NewGuid();
            Guid userId = Guid.NewGuid();
            User user = new User()
            {
                Id = userId

            };
            UserConfirmation userConfirmation = new UserConfirmation()
            {
                Id = id,
                User =user,
                Type = ConfirmedType.ChangeEmail
            };

            User[] users = new User[] { user };
            repositoryMock.Setup(r => r.Query<User>()).Returns(users.AsQueryable());

            UserConfirmation[] userConfirmations = new UserConfirmation[] { userConfirmation };
            repositoryMock.Setup(r => r.Query<UserConfirmation>()).Returns(userConfirmations.AsQueryable());

            repositoryMock.Setup(r => r.CreateUnitOfWork()).Returns(uowMock.Object);
            // Act
            var userService = new UserService(uowMock.Object,repositoryMock.Object, settingsMock.Object, componentsMock.Object);
            UserConfirmationDto actuauserConfirmationDto = userService.GetUserConfirmation(userId, userConfirmation.Type);

            // Assert
            repositoryMock.Verify(repo => repo.Query<UserConfirmation>());
            Assert.AreEqual(actuauserConfirmationDto.Id, userConfirmation.Id);
        }
コード例 #5
0
        public void GetUserbyUserName_AnyUserName_CallsQueryMethodOfRepository()
        {
            var settingsMock = new Mock<ISettings>();
            var componentsMock = new Mock<IComponents>();
            var repositoryMock = new Mock<IRepository>();
            var uowMock = new Mock<IUnitOfWork>();
            var serviceLocatorMock = new Mock<IServiceLocator>();
            serviceLocatorMock.Setup(x => x.GetInstance<IRepository>())
                .Returns(repositoryMock.Object);
            serviceLocatorMock.Setup(x => x.GetInstance<IUnitOfWork>())
                .Returns(uowMock.Object);
            ServiceLocator.SetLocatorProvider(() => serviceLocatorMock.Object);

            // Arrange
            string token = Guid.NewGuid().ToString();
            Guid id = Guid.NewGuid();
            User user = new User()
            {
                Id = id,
                AuthToken = token,
                UserName = "******",
                Email = "*****@*****.**",
                MobilePhone = "0978069219"
            };
            User[] users = new User[] { user };
            repositoryMock.Setup(r => r.Query<User>()).Returns(users.AsQueryable());
            repositoryMock.Setup(r => r.CreateUnitOfWork()).Returns(uowMock.Object);
            // Act
            var userService = new UserService(uowMock.Object,repositoryMock.Object, settingsMock.Object, componentsMock.Object);
            UserDto actualUser = userService.GetByUserName(user.UserName);

            // Assert
            repositoryMock.Verify(repo => repo.Query<User>());
            Assert.AreEqual(actualUser.UserName, user.UserName);
        }
コード例 #6
0
        public void GetSpecializationById_AnyResult_CallsQueryMethodOfRepository()
        {
            var settingsMock = new Mock<ISettings>();
            var componentsMock = new Mock<IComponents>();
            var repositoryMock = new Mock<IRepository>();
            var uowMock = new Mock<IUnitOfWork>();
            var serviceLocatorMock = new Mock<IServiceLocator>();
            serviceLocatorMock.Setup(x => x.GetInstance<IRepository>())
                .Returns(repositoryMock.Object);
            serviceLocatorMock.Setup(x => x.GetInstance<IUnitOfWork>())
                .Returns(uowMock.Object);
            ServiceLocator.SetLocatorProvider(() => serviceLocatorMock.Object);

            // Arrange
            Guid id = Guid.NewGuid();
            Specialization specialization = new Specialization()
            {
                Id = id
            };
            Specialization[] specializations = new Specialization[] {specialization };
            repositoryMock.Setup(r => r.Query<Specialization>()).Returns(specializations.AsQueryable());
            repositoryMock.Setup(r => r.CreateUnitOfWork()).Returns(uowMock.Object);
            // Act
            var userService = new UserService(uowMock.Object,repositoryMock.Object, settingsMock.Object, componentsMock.Object);
            SpecializationDto actuaSpecializationDto = userService.GetSpecializationById(id);

            // Assert
            repositoryMock.Verify(repo => repo.Query<Specialization>());
            Assert.AreEqual(actuaSpecializationDto.Id, specialization.Id);
        }
コード例 #7
0
        public void GetProfileByUserId_AnyId_CallsQueryMethodOfRepository()
        {
            var settingsMock = new Mock<ISettings>();
            var componentsMock = new Mock<IComponents>();
            var repositoryMock = new Mock<IRepository>();
            var uowMock = new Mock<IUnitOfWork>();
            var serviceLocatorMock = new Mock<IServiceLocator>();
            serviceLocatorMock.Setup(x => x.GetInstance<IRepository>())
                .Returns(repositoryMock.Object);
            serviceLocatorMock.Setup(x => x.GetInstance<IUnitOfWork>())
                .Returns(uowMock.Object);
            ServiceLocator.SetLocatorProvider(() => serviceLocatorMock.Object);

            // Arrange
            string token = Guid.NewGuid().ToString();
            Guid id = Guid.NewGuid();
            Guid profileId= Guid.NewGuid();
            User user = new User()
            {
                Id = id,
                CreatedDate = DateTime.Now
            };
            Profile profile = new Profile()
            {
                Id =profileId,
                User = user
            };
            Profile[] profiles = new Profile[] { profile };
            repositoryMock.Setup(r => r.Query<Profile>()).Returns(profiles.AsQueryable());
            repositoryMock.Setup(r => r.CreateUnitOfWork()).Returns(uowMock.Object);
            // Act
            var userService = new UserService(uowMock.Object,repositoryMock.Object, settingsMock.Object, componentsMock.Object);
            ProfileDto actuaProfile = userService.GetProfileByUserId(id);

            // Assert
            repositoryMock.Verify(repo => repo.Query<Profile>());
            Assert.AreEqual(actuaProfile.Id, profile.Id);
        }
コード例 #8
0
        public void CreateUser_Any_CallsCreateMethodOfRepository()
        {
            var settingsMock = new Mock<ISettings>();
            var componentsMock = new Mock<IComponents>();
            var repositoryMock = new Mock<IRepository>();
            var uowMock = new Mock<IUnitOfWork>();
            var serviceLocatorMock = new Mock<IServiceLocator>();
            serviceLocatorMock.Setup(x => x.GetInstance<IRepository>())
                .Returns(repositoryMock.Object);
            serviceLocatorMock.Setup(x => x.GetInstance<IUnitOfWork>())
                .Returns(uowMock.Object);
            ServiceLocator.SetLocatorProvider(() => serviceLocatorMock.Object);

            // Arrange
            Guid id = Guid.NewGuid();
            RegistrationOverallDto user = new RegistrationOverallDto
            {
                Id = id,
                UserName = "******",
                Email = "*****@*****.**",
                MobilePhone="0978069219"
            };

            repositoryMock.Setup(r => r.CreateUnitOfWork()).Returns(uowMock.Object);
            // Act
            var userService = new UserService(uowMock.Object,repositoryMock.Object, settingsMock.Object, componentsMock.Object);
            userService.Create(user);

            // Assert
            repositoryMock.Verify(repo => repo.Insert<User>(
                It.Is<User>(u => u.Id == id)));
            uowMock.Verify(uow => uow.Save());
        }
コード例 #9
0
        public void GetFavouriteListBySpecialistId_AnyResult_CallsQueryMethodOfRepository()
        {
            var settingsMock = new Mock<ISettings>();
            var componentsMock = new Mock<IComponents>();
            var repositoryMock = new Mock<IRepository>();
            var uowMock = new Mock<IUnitOfWork>();
            var serviceLocatorMock = new Mock<IServiceLocator>();
            serviceLocatorMock.Setup(x => x.GetInstance<IRepository>())
                .Returns(repositoryMock.Object);
            serviceLocatorMock.Setup(x => x.GetInstance<IUnitOfWork>())
                .Returns(uowMock.Object);
            ServiceLocator.SetLocatorProvider(() => serviceLocatorMock.Object);

            // Arrange
            Guid id = Guid.NewGuid();
            User user = new User()
            {
                Id = id,

            };

            Favourite favourite1 = new Favourite()
            {
                Specialist = user
            };

            Favourite favourite2 = new Favourite()
            {
                Specialist = user
            };
            Favourite[] favourites = new Favourite[] { favourite1, favourite2 };
            repositoryMock.Setup(r => r.Query<Favourite>()).Returns(favourites.AsQueryable());
            repositoryMock.Setup(r => r.CreateUnitOfWork()).Returns(uowMock.Object);
            // Act
            var userService = new UserService(uowMock.Object,repositoryMock.Object, settingsMock.Object, componentsMock.Object);
            List<FavouriteDto> actuaFavourites = userService.GetFavouriteListBySpecialistId(id);

            // Assert
            repositoryMock.Verify(repo => repo.Query<Favourite>());
            Assert.AreEqual(actuaFavourites.Count(), favourites.Count());
        }
コード例 #10
0
        public void GetDateSentEmail_AnyId_CallsQueryMethodOfRepository()
        {
            var settingsMock = new Mock<ISettings>();
            var componentsMock = new Mock<IComponents>();
            var repositoryMock = new Mock<IRepository>();
            var uowMock = new Mock<IUnitOfWork>();
            var serviceLocatorMock = new Mock<IServiceLocator>();
            serviceLocatorMock.Setup(x => x.GetInstance<IRepository>())
                .Returns(repositoryMock.Object);
            serviceLocatorMock.Setup(x => x.GetInstance<IUnitOfWork>())
                .Returns(uowMock.Object);
            ServiceLocator.SetLocatorProvider(() => serviceLocatorMock.Object);

            // Arrange
            string token = Guid.NewGuid().ToString();
            Guid id = Guid.NewGuid();
            User user = new User()
            {
                Id = id,
              CreatedDate = DateTime.Now
            };
            User[] users = new User[] { user };
            repositoryMock.Setup(r => r.Query<User>()).Returns(users.AsQueryable());
            repositoryMock.Setup(r => r.CreateUnitOfWork()).Returns(uowMock.Object);
            // Act
            var userService = new UserService(uowMock.Object,repositoryMock.Object, settingsMock.Object, componentsMock.Object);
            DateTime actualdate = userService.GetDateSentEmail(id);

            // Assert
            repositoryMock.Verify(repo => repo.Query<User>());
            Assert.AreEqual(actualdate, user.CreatedDate);
        }
コード例 #11
0
        public void GetById_AnyId_CallsFindByIdMethodOfRepository()
        {
            // Setup dependency
            var settingsMock = new Mock<ISettings>();
            var uowMock = new Mock<IUnitOfWork>();
            var componentsMock = new Mock<IComponents>();
            var repositoryMock = new Mock<IRepository>();
            var serviceLocatorMock = new Mock<IServiceLocator>();
            serviceLocatorMock.Setup(x => x.GetInstance<IRepository>())
                .Returns(repositoryMock.Object);
            ServiceLocator.SetLocatorProvider(() => serviceLocatorMock.Object);

            // Arrange
            Guid id = Guid.NewGuid();
            User user = new User
            {
                Id = id,
                UserName = "******",
                Email = "*****@*****.**"
            };

            User[] users = new User[] { user };
            repositoryMock.Setup(r => r.Query<User>()).Returns(users.AsQueryable());
            // Act

            var userService = new UserService(uowMock.Object,repositoryMock.Object, settingsMock.Object, componentsMock.Object);
            userService.GetUserById(id);

            // Assert
            repositoryMock.Verify(repo => repo.Query<User>());
        }
コード例 #12
0
        public void Delete_Any_CallsDeleteMethodOfRepository()
        {
            var settingsMock = new Mock<ISettings>();
            var componentsMock = new Mock<IComponents>();
            var repositoryMock = new Mock<IRepository>();
            var uowMock = new Mock<IUnitOfWork>();
            var serviceLocatorMock = new Mock<IServiceLocator>();
            serviceLocatorMock.Setup(x => x.GetInstance<IRepository>())
                .Returns(repositoryMock.Object);
            serviceLocatorMock.Setup(x => x.GetInstance<IUnitOfWork>())
                .Returns(uowMock.Object);
            ServiceLocator.SetLocatorProvider(() => serviceLocatorMock.Object);

            // Arrange
            Guid id = Guid.NewGuid();
            repositoryMock.Setup(r => r.CreateUnitOfWork()).Returns(uowMock.Object);
            // Act
            var userService = new UserService(uowMock.Object,repositoryMock.Object, settingsMock.Object, componentsMock.Object);
            userService.Delete(id);

            // Assert
            repositoryMock.Verify(repo => repo.Delete<User>(id));
            uowMock.Verify(uow => uow.Save());
        }
コード例 #13
0
        public void DeleteFavourite_Any_CallsDeleteMethodOfRepository()
        {
            var settingsMock = new Mock<ISettings>();
            var componentsMock = new Mock<IComponents>();
            var repositoryMock = new Mock<IRepository>();
            var uowMock = new Mock<IUnitOfWork>();
            var serviceLocatorMock = new Mock<IServiceLocator>();
            serviceLocatorMock.Setup(x => x.GetInstance<IRepository>())
                .Returns(repositoryMock.Object);
            serviceLocatorMock.Setup(x => x.GetInstance<IUnitOfWork>())
                .Returns(uowMock.Object);
            ServiceLocator.SetLocatorProvider(() => serviceLocatorMock.Object);

            // Arrange
            Guid specialistId = Guid.NewGuid();
            Guid customerId = Guid.NewGuid();
            Guid id = Guid.NewGuid();
            Favourite favourite= new Favourite
            {
                Id =id,
                Customer = new User()
                {
                    Id=customerId
                },
                Specialist = new User()
                {
                    Id=specialistId
                }
            };
            Favourite[] favourites = new Favourite[] { favourite };
            repositoryMock.Setup(r => r.Query<Favourite>()).Returns(favourites.AsQueryable()); ;
            repositoryMock.Setup(r => r.FindById<Favourite>(id)).Returns(favourite);
            repositoryMock.Setup(r => r.Delete<Favourite>(favourite));
            repositoryMock.Setup(r => r.CreateUnitOfWork()).Returns(uowMock.Object);
            // Act
            var userService = new UserService(uowMock.Object,repositoryMock.Object, settingsMock.Object, componentsMock.Object);
            userService.DeleteFavourite(specialistId,customerId);

            // Assert
            repositoryMock.Verify(repo => repo.Delete<Favourite>(favourite));
            uowMock.Verify(uow => uow.Save());
        }
コード例 #14
0
        public void UpdateUserInfo_Anyuser_CallsUpdateUserInfoMethodOfRepository()
        {
            var settingsMock = new Mock<ISettings>();
            var componentsMock = new Mock<IComponents>();
            var repositoryMock = new Mock<IRepository>();
            var uowMock = new Mock<IUnitOfWork>();
            var serviceLocatorMock = new Mock<IServiceLocator>();
            serviceLocatorMock.Setup(x => x.GetInstance<IRepository>())
                .Returns(repositoryMock.Object);
            serviceLocatorMock.Setup(x => x.GetInstance<IUnitOfWork>())
                .Returns(uowMock.Object);
            ServiceLocator.SetLocatorProvider(() => serviceLocatorMock.Object);

            // Arrange
            Guid id = Guid.NewGuid();
            UserDto user = new UserDto
            {
                Id = id,
                UserName = "******",
                Email = "*****@*****.**",
                MobilePhoneCode = "12345678x@X"
            };

            repositoryMock.Setup(r => r.Query<UserDto>());
            repositoryMock.Setup(r => r.CreateUnitOfWork()).Returns(uowMock.Object);

            // Act
            var userService = new UserService(uowMock.Object,repositoryMock.Object, settingsMock.Object, componentsMock.Object);
            userService.UpdateUserInfo(user);

            // Assert
            repositoryMock.Verify(repo => repo.Update<User>(
                It.Is<User>(u => u.Id == id)));
            uowMock.Verify(uow => uow.Save());
        }
コード例 #15
0
        public void GetListUserFromAWFSearchResults_AnyResult_CallsQueryMethodOfRepository()
        {
            var settingsMock = new Mock<ISettings>();
            var componentsMock = new Mock<IComponents>();
            var repositoryMock = new Mock<IRepository>();
            var uowMock = new Mock<IUnitOfWork>();
            var serviceLocatorMock = new Mock<IServiceLocator>();
            serviceLocatorMock.Setup(x => x.GetInstance<IRepository>())
                .Returns(repositoryMock.Object);
            serviceLocatorMock.Setup(x => x.GetInstance<IUnitOfWork>())
                .Returns(uowMock.Object);
            ServiceLocator.SetLocatorProvider(() => serviceLocatorMock.Object);

            // Arrange
            string token = Guid.NewGuid().ToString();
            Guid id1 = Guid.NewGuid();
            Guid id2 = Guid.NewGuid();
            Guid profileId = Guid.NewGuid();
            User user1 = new User()
            {
                Id = id1,
                CreatedDate = DateTime.Now
            };
            User user2 = new User()
            {
                Id = id2,
                CreatedDate = DateTime.Now
            };
            SearchDocumentResult searchResult1 = new SearchDocumentResult()
            {
                Id = id1
            };
            SearchDocumentResult searchResult2 = new SearchDocumentResult()
            {
                Id = id2
            };
            List<SearchDocumentResult> searchResults = new List<SearchDocumentResult>();
            searchResults.Add(searchResult1);
            searchResults.Add(searchResult2);

            User[] users = new User[] { user1, user2 };
            repositoryMock.Setup(r => r.Query<User>()).Returns(users.AsQueryable());
            repositoryMock.Setup(r => r.CreateUnitOfWork()).Returns(uowMock.Object);
            // Act
            var userService = new UserService(uowMock.Object,repositoryMock.Object, settingsMock.Object, componentsMock.Object);
            List<UserDto> actuaUsers = userService.GetListUserFromAWFSearchResults(searchResults);

            // Assert
            repositoryMock.Verify(repo => repo.Query<User>());
            Assert.AreEqual(actuaUsers.Count(),searchResults.Count());
        }
コード例 #16
0
        public void Update_AnyId_CallsUpdateMethodOfRepository()
        {
            var settingsMock = new Mock<ISettings>();
            var componentsMock = new Mock<IComponents>();
            var repositoryMock = new Mock<IRepository>();
            var uowMock = new Mock<IUnitOfWork>();
            var serviceLocatorMock = new Mock<IServiceLocator>();
            serviceLocatorMock.Setup(x => x.GetInstance<IRepository>())
                .Returns(repositoryMock.Object);
            serviceLocatorMock.Setup(x => x.GetInstance<IUnitOfWork>())
                .Returns(uowMock.Object);
            ServiceLocator.SetLocatorProvider(() => serviceLocatorMock.Object);

            // Arrange
            Guid id = Guid.NewGuid();
            string token = Guid.NewGuid().ToString();
            UserConfirmationDto userConfirmationDto = new UserConfirmationDto
            {
                Id = id
            };
            repositoryMock.Setup(r => r.CreateUnitOfWork()).Returns(uowMock.Object);
            // Act
            var userService = new UserService(uowMock.Object,repositoryMock.Object, settingsMock.Object, componentsMock.Object);
            userService.Update(userConfirmationDto);

            // Assert
            repositoryMock.Verify(repo => repo.Update<UserConfirmation>(
                It.Is<UserConfirmation>(u => u.Id == id)));
            uowMock.Verify(uow => uow.Save());
        }
コード例 #17
0
        public void CreateUserConfirmationDto_Any_CallsCreateMethodOfRepository()
        {
            var settingsMock = new Mock<ISettings>();
            var componentsMock = new Mock<IComponents>();
            var repositoryMock = new Mock<IRepository>();
            var uowMock = new Mock<IUnitOfWork>();
            var serviceLocatorMock = new Mock<IServiceLocator>();
            serviceLocatorMock.Setup(x => x.GetInstance<IRepository>())
                .Returns(repositoryMock.Object);
            serviceLocatorMock.Setup(x => x.GetInstance<IUnitOfWork>())
                .Returns(uowMock.Object);
            ServiceLocator.SetLocatorProvider(() => serviceLocatorMock.Object);

            // Arrange
            Guid id = Guid.NewGuid();
            UserDto user = new UserDto()
            {
                Id = Guid.NewGuid()
            };
            UserConfirmationDto userConfirmationDto = new UserConfirmationDto
            {
                Id = id,
                Type= ConfirmedType.ChangeEmail,
              User=user
            };

             repositoryMock.Setup(r => r.FindById<User>(user.Id));
            repositoryMock.Setup(r => r.CreateUnitOfWork()).Returns(uowMock.Object);
            // Act
            var userService = new UserService(uowMock.Object,repositoryMock.Object, settingsMock.Object, componentsMock.Object);
              UserConfirmationDto actualUser=  userService.Create(userConfirmationDto);

            // Assert
            repositoryMock.Verify(repo => repo.Insert<UserConfirmation>(
                It.Is<UserConfirmation>(u => u.Id == id)));
            uowMock.Verify(uow => uow.Save());
            Assert.AreEqual(actualUser.Id, id);
        }