public async Task UpdateBlogPostCommandHandler_UpdatesBlog() { var category = new Category("Hello test category", 1, "Test description"); using (var context = TestContext.CreateNewContext()) { context.Categories.Add(category); await context.SaveChangesAsync(); } var blogPost = RequestDbContext.BlogPosts.AsNoTracking().First(); var message = new UpdateBlogPostCommand() { Id = blogPost.Id, Subject = "Test new", ContentIntro = "Test", Content = "Test", CategoryId = category.Id }; var builder = new ExistingBlogPostBuilder(null); var handlerContext = TestContext.CreateHandlerContext <BlogPostSummaryViewModel>(RequestDbContext, CreateMapper()); var handler = new UpdateBlogPostCommandHandler(handlerContext, builder); var result = await handler.Handle(message, CancellationToken.None); Assert.Equal("Test new", result.Subject); Assert.Equal(category.Name, result.Category); }
public async Task UpdateBlogPostCommandHandler_WithFile_UpdatesBlog() { var imageFactory = TestContext.CreateImageService(); var builder = new ExistingBlogPostBuilder(imageFactory); var handlerContext = TestContext.CreateHandlerContext <BlogPostSummaryViewModel>(RequestDbContext, CreateMapper()); var handler = new UpdateBlogPostCommandHandler(handlerContext, builder); var fileMock = TestContext.CreateFileMock(); var file = fileMock.Object; var category = new Category("Hello test category", 1, "Test description"); using (var context = TestContext.CreateNewContext()) { context.Categories.Add(category); await context.SaveChangesAsync(); } var blogPost = RequestDbContext.BlogPosts.AsNoTracking().First(); var message = new UpdateBlogPostCommand() { Id = blogPost.Id, Subject = "Test new", ContentIntro = "Test", Content = "Test", File = file, CategoryId = category.Id }; var result = await handler.Handle(message, CancellationToken.None); Assert.NotNull(result.Image.UriPath); }
public async Task BlogPostBuilder_DoesNotUpdatesBlogWithEqualMetaTag() { var blogPostContent = new BlogPostContent("", "", ""); var author = await Author.Create(new User(""), new AuthorProfile("", "", ""), Mock.Of <IAuthorValidator>()); var category = new Category("", 1, ""); var blogPost = new BlogPost(blogPostContent, author, category); blogPost.MetaTags.Add(new MetaTag("description", "test description")); var builder = new ExistingBlogPostBuilder(Mock.Of <IImageService>()); var tags = new[] { new MetaTag("description", "test description") }; await builder.UseBlogPost(blogPost).WithMetaTags(tags).Build(); Assert.Single(blogPost.MetaTags); }
public UpdateBlogPostCommandHandler(HandlerContext <BlogPostSummaryViewModel> context, ExistingBlogPostBuilder builder) { _dbContext = context.DbContext; _context = context; _builder = builder; }