示例#1
0
        public async Task Update_Test()
        {
            // arrange
            var fakeUowProvider  = A.Fake <IUnitOfWorkProvider>();
            var fakeRepoProvider = A.Fake <IBookCopyRepositoryProvider>();
            var fakeRepo         = A.Fake <IBookCopyRepository>();
            var fakeUow          = A.Fake <IUnitOfWork>();

            A.CallTo(() => fakeUowProvider.Get()).Returns(fakeUow);
            A.CallTo(() => fakeRepoProvider.Get(fakeUow)).Returns(fakeRepo);
            BookCopyService service = new BookCopyService(fakeUowProvider, fakeRepoProvider);
            BookCopy        copy    = new BookCopy {
                Id = 1, BookId = 1, Description = "copy", Notes = "copy"
            };

            // act
            await service.Update(copy);

            // assert
            A.CallTo(() => fakeRepo.Update(copy)).MustHaveHappened();
            A.CallTo(() => fakeUow.Dispose()).MustHaveHappened();
        }