示例#1
0
        public async Task GetBySlug__Works_Properly()
        {
            // Arrange
            var publishCmd = new PublishArticle
            {
                AuthorId    = Guid.NewGuid().ToString(),
                Body        = Guid.NewGuid().ToString(),
                Description = Guid.NewGuid().ToString(),
                Title       = "Some Title Here"
            };

            var articleView = await _service.Publish(publishCmd, null);

            var query = new BySlug
            {
                Slug = articleView.Slug
            };

            // Act
            var slug = await _service.GetBySlug(query, null);

            // Assert
            slug.HasResult.Should().BeTrue();
            slug.View.Should().NotBeNull();
        }
 public override async Task <BySlugResult> GetBySlug(BySlug query, ServerCallContext context) =>
 (await _repository.GetBySlugOrErrorAsync(query.Slug))
 .FlatMap(MapSlugResultByArticleOrError)
 .ValueOr(Empty);