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()); }