Ejemplo n.º 1
0
        public async Task GetTagList()
        {
            //Arrange
            var mockDb     = new Mock <IBlogAccessor>();
            var mockEngine = new Mock <IBlogEngine>();

            mockEngine.Setup(m => m.GetTagList())
            .ReturnsAsync(() => new[]
            {
                new MetaTag {
                    Count = 3, Tag = TestConstants.GuidString
                },
                new MetaTag {
                    Count = 1, Tag = TestConstants.GuidString
                },
                new MetaTag {
                    Count = 2, Tag = TestConstants.GuidString
                },
            });

            var manager = new BlogPostManager(mockEngine.Object, mockDb.Object, _cfg);

            //Act
            var results = await manager.GetTagList();

            //Assert
            Assert.IsNotNull(results, "Should never be null.");
            Assert.IsInstanceOfType(results, typeof(IEnumerable <MetaTag>));
            Assert.AreEqual(3, results.Count(), "Should return three items");
        }
Ejemplo n.º 2
0
        public async Task GetPageOfTaggedHeaders()
        {
            //Arrange
            var mockDb     = new Mock <IBlogAccessor>();
            var mockEngine = new Mock <IBlogEngine>();

            mockEngine.Setup(m => m.GetPageOfHeadersByTag(It.IsAny <int>(), It.IsAny <int>(), It.IsAny <string>()))
            .ReturnsAsync(() => new[]
            {
                new PostHeader
                {
                    BodyId = 1,
                    Id     = 1,
                    Title  = TestConstants.GuidString,
                    Tags   = new[]
                    {
                        new Tag
                        {
                            Id   = 1,
                            Text = TestConstants.GuidString
                        },
                        new Tag
                        {
                            Id   = 2,
                            Text = TestConstants.GuidString
                        }
                    }
                },
                new PostHeader
                {
                    BodyId = 2,
                    Id     = 2,
                    Title  = TestConstants.GuidString,
                    Tags   = new[]
                    {
                        new Tag
                        {
                            Id   = 3,
                            Text = TestConstants.GuidString
                        },
                        new Tag
                        {
                            Id   = 4,
                            Text = TestConstants.GuidString
                        }
                    }
                },
            });

            var manager = new BlogPostManager(mockEngine.Object, mockDb.Object, _cfg);

            //Act
            var results = await manager.GetTaggedPageOfHeaders(0, TestConstants.GuidString);

            //Assert
            Assert.IsNotNull(results, "Should never be null.");
            Assert.IsInstanceOfType(results, typeof(IEnumerable <PostHeader>));
            Assert.AreEqual(2, results.Count(), "Should return two items");
        }
Ejemplo n.º 3
0
 public BlogPostRepository_Test()
 {
     testData           = GetRequiredService <CmsKitTestData>();
     blogPostRepository = GetRequiredService <IBlogPostRepository>();
     blogPostManager    = GetRequiredService <BlogPostManager>();
     userRepository     = GetRequiredService <ICmsUserRepository>();
     blogRepository     = GetRequiredService <IBlogRepository>();
 }
Ejemplo n.º 4
0
 public BlogPostManager_Tests()
 {
     blogPostManager    = GetRequiredService <BlogPostManager>();
     guidGenerator      = GetRequiredService <IGuidGenerator>();
     blogPostRepository = GetRequiredService <IBlogPostRepository>();
     blogRepository     = GetRequiredService <IBlogRepository>();
     cmsKitTestData     = GetRequiredService <CmsKitTestData>();
     userRepository     = GetRequiredService <ICmsUserRepository>();
 }
 public BlogPostPublicAppService_Tests()
 {
     blogPostAppService = GetRequiredService <IBlogPostPublicAppService>();
     cmsKitTestData     = GetRequiredService <CmsKitTestData>();
     userRepository     = GetRequiredService <ICmsUserRepository>();
     blogRepository     = GetRequiredService <IBlogRepository>();
     blogPostManager    = GetRequiredService <BlogPostManager>();
     blogPostRepository = GetRequiredService <IBlogPostRepository>();
 }
Ejemplo n.º 6
0
 public BlogPostAdminAppService(
     BlogPostManager blogPostManager,
     IBlogPostRepository blogPostRepository,
     IBlogRepository blogRepository,
     ICmsUserLookupService userLookupService)
 {
     BlogPostManager    = blogPostManager;
     BlogPostRepository = blogPostRepository;
     BlogRepository     = blogRepository;
     UserLookupService  = userLookupService;
 }
Ejemplo n.º 7
0
        public IActionResult Read(int Id)
        {
            BlogPostManager bpm      = new BlogPostManager(_connectionString);
            BlogAndName     ban      = new BlogAndName();
            List <Blog>     b        = bpm.GetBlogsNot200();
            List <Comment>  c        = bpm.GetComments();
            List <Blog>     complete = bpm.CommentsToBlogs(c, b);

            ban.blog = bpm.GetBlogForId(Id, complete);
            ban.Name = Request.Cookies["Name"];
            return(View(ban));
        }
Ejemplo n.º 8
0
 public CmsKitDataSeedContributor(
     IGuidGenerator guidGenerator,
     ICmsUserRepository cmsUserRepository,
     CmsKitTestData cmsKitTestData,
     ICommentRepository commentRepository,
     ReactionManager reactionManager,
     IRatingRepository ratingRepository,
     ICurrentTenant currentTenant,
     TagManager tagManager,
     ITagRepository tagRepository,
     IEntityTagRepository entityTagRepository,
     IPageRepository pageRepository,
     IBlogRepository blogRepository,
     IBlogPostRepository blogPostRepository,
     BlogPostManager blogPostmanager,
     IBlogFeatureRepository blogFeatureRepository,
     EntityTagManager entityTagManager,
     IOptions <CmsKitReactionOptions> reactionOptions,
     IOptions <CmsKitTagOptions> tagOptions,
     IMediaDescriptorRepository mediaDescriptorRepository,
     IBlobContainer <MediaContainer> mediaBlobContainer,
     BlogManager blogManager,
     IOptions <CmsKitMediaOptions> cmsMediaOptions,
     IOptions <CmsKitCommentOptions> commentsOptions,
     IOptions <CmsKitRatingOptions> ratingOptions,
     IMenuItemRepository menuItemRepository)
 {
     _guidGenerator             = guidGenerator;
     _cmsUserRepository         = cmsUserRepository;
     _cmsKitTestData            = cmsKitTestData;
     _commentRepository         = commentRepository;
     _reactionManager           = reactionManager;
     _ratingRepository          = ratingRepository;
     _currentTenant             = currentTenant;
     _tagManager                = tagManager;
     _tagRepository             = tagRepository;
     _entityTagManager          = entityTagManager;
     _entityTagRepository       = entityTagRepository;
     _pageRepository            = pageRepository;
     _blogRepository            = blogRepository;
     _blogPostRepository        = blogPostRepository;
     _blogPostManager           = blogPostmanager;
     _blogFeatureRepository     = blogFeatureRepository;
     _reactionOptions           = reactionOptions;
     _tagOptions                = tagOptions;
     _mediaDescriptorRepository = mediaDescriptorRepository;
     _mediaBlobContainer        = mediaBlobContainer;
     _blogManager               = blogManager;
     _mediaOptions              = cmsMediaOptions;
     _commentsOptions           = commentsOptions;
     _ratingOptions             = ratingOptions;
     _menuItemRepository        = menuItemRepository;
 }
Ejemplo n.º 9
0
        public ActionResult BlogPostEdit(BlogPostModel model)
        {
            BlogPostManager manager = new BlogPostManager();

            SaveResult result = manager.SaveBlogPost(model);

            if (result.State == SaveResultState.Success)
            {
                return(RedirectToAction("BlogPostList"));
            }

            return(View(model));
        }
Ejemplo n.º 10
0
 public BlogPostAdminAppService(
     BlogPostManager blogPostManager,
     IBlogPostRepository blogPostRepository,
     IBlogRepository blogRepository,
     IBlobContainer <BlogPostCoverImageContainer> blobContainer,
     ICmsUserLookupService userLookupService)
 {
     BlogPostManager    = blogPostManager;
     BlogPostRepository = blogPostRepository;
     BlogRepository     = blogRepository;
     BlobContainer      = blobContainer;
     UserLookupService  = userLookupService;
 }
Ejemplo n.º 11
0
 public BlogPostAdminAppService(
     BlogPostManager blogPostManager,
     IBlogPostRepository blogPostRepository,
     IBlogRepository blogRepository,
     ICmsUserLookupService userLookupService,
     IMediaDescriptorAdminAppService mediaDescriptorAdminAppService)
 {
     BlogPostManager                = blogPostManager;
     BlogPostRepository             = blogPostRepository;
     BlogRepository                 = blogRepository;
     UserLookupService              = userLookupService;
     MediaDescriptorAdminAppService = mediaDescriptorAdminAppService;
 }
Ejemplo n.º 12
0
        public IActionResult AddComment(Comment c)
        {
            string value       = Request.Cookies["Name"];
            bool   isFirstTime = String.IsNullOrEmpty(value);

            if (isFirstTime)
            {
                Response.Cookies.Append("Name", $"{c.Name}");
            }
            BlogPostManager bpm = new BlogPostManager(_connectionString);

            bpm.AddComment(c);
            return(Redirect($"/Home/Read?Id={c.BlogId}"));
        }
Ejemplo n.º 13
0
        public override async Task <BlogPostDto> CreateAsync(CreateBlogPostDto input)
        {
            _ = await UserLookupService.GetByIdAsync(CurrentUser.GetId());

            var entity = await BlogPostManager
                         .CreateAsync(
                new BlogPost(
                    GuidGenerator.Create(),
                    input.BlogId,
                    input.Title,
                    input.Slug,
                    input.ShortDescription));

            return(await MapToGetOutputDtoAsync(entity));
        }
Ejemplo n.º 14
0
        public virtual async Task <BlogPostDto> UpdateAsync(Guid id, UpdateBlogPostDto input)
        {
            var blogPost = await BlogPostRepository.GetAsync(id);

            blogPost.SetTitle(input.Title);
            blogPost.SetShortDescription(input.ShortDescription);

            if (blogPost.Slug != input.Slug)
            {
                await BlogPostManager.SetSlugUrlAsync(blogPost, input.Slug);
            }

            await BlogPostRepository.UpdateAsync(blogPost);

            return(ObjectMapper.Map <BlogPost, BlogPostDto>(blogPost));
        }
Ejemplo n.º 15
0
        public override async Task <BlogPostDto> UpdateAsync(Guid id, UpdateBlogPostDto input)
        {
            var blogPost = await BlogPostRepository.GetAsync(id);

            blogPost.SetTitle(input.Title);

            if (blogPost.Slug != input.Slug)
            {
                await BlogPostManager.SetSlugUrlAsync(blogPost, input.Slug);
            }

            MapToEntity(input, blogPost);

            await BlogPostManager.UpdateAsync(blogPost);

            return(await MapToGetOutputDtoAsync(blogPost));
        }
Ejemplo n.º 16
0
        public virtual async Task <BlogPostDto> CreateAsync(CreateBlogPostDto input)
        {
            var author = await UserLookupService.GetByIdAsync(CurrentUser.GetId());

            var blog = await BlogRepository.GetAsync(input.BlogId);

            var blogPost = await BlogPostManager.CreateAsync(
                author,
                blog,
                input.Title,
                input.Slug,
                input.ShortDescription,
                CurrentTenant.Id);

            await BlogPostRepository.InsertAsync(blogPost);

            return(ObjectMapper.Map <BlogPost, BlogPostDto>(blogPost));
        }
Ejemplo n.º 17
0
    public virtual async Task <BlogPostDto> UpdateAsync(Guid id, UpdateBlogPostDto input)
    {
        var blogPost = await BlogPostRepository.GetAsync(id);

        blogPost.SetTitle(input.Title);
        blogPost.SetShortDescription(input.ShortDescription);
        blogPost.SetContent(input.Content);
        blogPost.SetConcurrencyStampIfNotNull(input.ConcurrencyStamp);
        blogPost.CoverImageMediaId = input.CoverImageMediaId;

        if (blogPost.Slug != input.Slug)
        {
            await BlogPostManager.SetSlugUrlAsync(blogPost, input.Slug);
        }

        await BlogPostRepository.UpdateAsync(blogPost);

        return(ObjectMapper.Map <BlogPost, BlogPostDto>(blogPost));
    }
Ejemplo n.º 18
0
        public async Task GetBodyById()
        {
            //Arrange
            var mockDb     = new Mock <IBlogAccessor>();
            var mockEngine = new Mock <IBlogEngine>();

            mockDb.Setup(m => m.GetPostById(It.IsAny <int>()))
            .ReturnsAsync(() => new Post
            {
                Body   = TestConstants.GuidString,
                Header = new PostHeader
                {
                    BodyId = 12,
                    Id     = 12,
                    Title  = TestConstants.GuidString,
                    Tags   = new []
                    {
                        new Tag {
                            Id = 4, Text = TestConstants.GuidString
                        },
                        new Tag {
                            Id = 6, Text = TestConstants.GuidString
                        }
                    }
                }
            });

            var manager = new BlogPostManager(mockEngine.Object, mockDb.Object, _cfg);

            //Act
            var results = await manager.GetPostBodyById(12);

            //Assert
            Assert.IsNotNull(results, "Should never be null.");
            Assert.IsInstanceOfType(results, typeof(Post));
        }
Ejemplo n.º 19
0
        public IActionResult Index()
        {
            BlogPostManager bpm = new BlogPostManager(_connectionString);

            return(View(bpm.GetBlogs()));
        }
Ejemplo n.º 20
0
        public IActionResult SubmitBlog(Blog b)
        {
            BlogPostManager bpm = new BlogPostManager(_connectionString);

            return(Redirect($"/Home/Read?Id={bpm.AddBlog(b)}"));
        }
Ejemplo n.º 21
0
        public ActionResult BlogPostEdit(int?blogPostId = null)
        {
            BlogPostManager manager = new BlogPostManager();

            return(View(manager.GetBlogPostModel(blogPostId)));
        }