public async Task ShouldCreateItem_WithDraftStatus()
    {
        var user2 = await userRepository.GetAsync(testData.User2Id);

        var blog = await blogRepository.GetAsync(testData.Blog_Id);

        var draftPost = await blogPostManager.CreateAsync(
            user2,
            blog,
            testData.BlogPost_1_Title + "draft",
            testData.BlogPost_1_Slug + "draft",
            BlogPostStatus.Draft,
            "Short desc 1",
            "Blog Post 1 Content"
            );


        await blogPostRepository.InsertAsync(draftPost);

        var draftPostFromDb = await blogPostRepository.GetAsync(draftPost.Id);

        draftPostFromDb.Title.ShouldBe(draftPost.Title);
        draftPostFromDb.Slug.ShouldBe(draftPost.Slug);
        draftPostFromDb.ShortDescription.ShouldBe(draftPost.ShortDescription);
        draftPostFromDb.Content.ShouldBe(draftPost.Content);
        draftPostFromDb.Status.ShouldBe(BlogPostStatus.Draft);
    }
Exemple #2
0
        public async Task CreateAsync_ShouldWorkProperly_WithCorrectData()
        {
            var title            = "My awesome new Post";
            var slug             = "my-awesome-new-post";
            var shortDescription = "This blog is all about awesomeness 🤗!";
            var content          = "Another blog post shared on internet";

            var created = await blogPostAdminAppService.CreateAsync(new CreateBlogPostDto
            {
                BlogId           = cmsKitTestData.Blog_Id,
                Title            = title,
                Slug             = slug,
                ShortDescription = shortDescription,
                Content          = content
            });

            created.Id.ShouldNotBe(Guid.Empty);

            var blogPost = await blogPostRepository.GetAsync(created.Id);

            blogPost.Title.ShouldBe(title);
            blogPost.Slug.ShouldBe(slug);
            blogPost.ShortDescription.ShouldBe(shortDescription);
            blogPost.Content.ShouldBe(content);
        }
Exemple #3
0
    public async Task SetSlugAsync_ShouldWorkProperly_WithNonExistingSlug()
    {
        var newSlug = "yet-another-post";

        var blogPost = await blogPostRepository.GetAsync(cmsKitTestData.BlogPost_1_Id);

        await blogPostManager.SetSlugUrlAsync(blogPost, newSlug);

        blogPost.Slug.ShouldBe(newSlug);
    }
        public async Task <ActionResult <BlogPost> > Get(long id)
        {
            var item = await _postsRepo.GetAsync(id);

            if (item == null)
            {
                return(NotFound());
            }
            else
            {
                return(Ok(item));
            }
        }
        public async Task CreateAsync_ShouldWorkProperly_WithCorrectData()
        {
            var title = "New blog post";
            var slug  = "new-blog-post";

            var created = await blogPostManager.CreateAsync(
                new BlogPost(guidGenerator.Create(), cmsKitTestData.Blog_Id, title, slug));

            created.Id.ShouldNotBe(Guid.Empty);

            var blogPost = await blogPostRepository.GetAsync(created.Id);

            blogPost.Title.ShouldBe(title);
            blogPost.Slug.ShouldBe(slug);
        }
Exemple #6
0
        public async Task <ActionResult <BlogPostDTO> > Get(long id)
        {
            logger.LogInformation("Calling get for object with id =" + id);
            BlogPost post = await repository.GetAsync(id);

            if (post != null)
            {
                BlogPostDTO postToReturn = mappingProvider.Map <BlogPost, BlogPostDTO>(post); //[Note] - konfiguracja początkowa jest niezbędna, bo bez niej automapper nie będzie w stanie niczego rozwiązać. Dodatkowo tutaj nie trzeba podawać obu typów, wystarczy docelowy, jeśli mapowanie jest unikalne (np. nie ma w konfiguracji mapowania jednego źródła na kilka docelowych) - Czy skoro tutaj się tego używa, to ta konfiguracja nie jest zbędna, bo to trochę wygląda na redundancję? A może ja coś źle robię?
                return(Ok(postToReturn));
            }
            else
            {
                logger.LogWarning("No blog post with given id exists");
                return(NotFound(id));
            }
        }
Exemple #7
0
        public override async Task <BlogPostDto> UpdateAsync(Guid id, CreateUpdateBlogPostDto 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(MapToGetOutputDto(blogPost));
        }
Exemple #8
0
 public async Task <BlogPost> GetAsync(int id)
 {
     return(await repo.GetAsync(id));
 }