public void Update_BookingDto_BookingDto() { var settingsMock = new Mock<ISettings>(); 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); repositoryMock.Setup(r => r.CreateUnitOfWork()).Returns(uowMock.Object); Guid id = Guid.NewGuid(); BookingDto bookingDto = new BookingDto { Id = id }; // Act var bookingService = new BookingService(uowMock.Object, repositoryMock.Object, settingsMock.Object); bookingService.Update(bookingDto); // Assert repositoryMock.Verify(repo => repo .Update<Booking>(It.Is<Booking>(b => b.Id == bookingDto.Id))); uowMock.Verify(uow => uow.Save()); }