public async Task Test_SiteManager_CreateArticle_TestLogging() { // Arange var loggerMock = new LoggerMock <SiteManager>(); var authorAccessMock = new AuthorAccessMock(new List <Author> { }); var articleAccessMock = new ArticleAccessMock(); ISiteManager sut = new SiteManager(articleAccessMock.Object, authorAccessMock.Object, loggerMock.Object); // Act var request = new Kaylumah.AdventuresWithMock.Manager.Site.Interface.CreateArticleRequest { Title = "Pretty Title", Content = "# AdventuresWithMock ..." }; await sut.CreateArticle(request); // Assert authorAccessMock.Verify(x => x.FilterAuthors(It.IsAny <FilterAuthorCriteria>()), Times.Once); articleAccessMock.Verify(x => x.CreateArticles(It.IsAny <CreateArticlesRequest>()), Times.Never); loggerMock.VerifyLogging("No author found for 666", Microsoft.Extensions.Logging.LogLevel.Warning); }
public async Task Test_SiteManager_CreateArticle_RepoMocksDemo1() { // Arange var loggerMock = new LoggerMock <SiteManager>(); var authorAccessMock = new AuthorAccessMock(new List <Author> { new Author { Id = 666, DisplayName = "Max", Verfied = false } }); var articleAccessMock = new ArticleAccessMock(); ISiteManager sut = new SiteManager(articleAccessMock.Object, authorAccessMock.Object, loggerMock.Object); // Act var request = new Kaylumah.AdventuresWithMock.Manager.Site.Interface.CreateArticleRequest { Title = "Pretty Title", Content = "# AdventuresWithMock ..." }; await sut.CreateArticle(request); // Assert authorAccessMock.Verify(x => x.FilterAuthors(It.IsAny <FilterAuthorCriteria>()), Times.Once); articleAccessMock.Verify(x => x.CreateArticles(It.IsAny <CreateArticlesRequest>()), Times.Never); }