コード例 #1
0
        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());
        }