示例#1
0
        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);
        }
示例#2
0
        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);
        }