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); }
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); }
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); }
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)); } }
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)); }
public async Task <BlogPost> GetAsync(int id) { return(await repo.GetAsync(id)); }