public async Task CreatePost()
        {
            // Arrange
            var post = new PostData.Builder()
            {
                Title          = "My title",
                Body           = "My body",
                UserIdentifier = 100,
            };

            var randomId = new Random().Next(1, int.MaxValue);

            var mockedPostEndpoint = new Mock <IPostEndpoint>();

            mockedPostEndpoint
            .Setup(endpoint => endpoint.Create(It.IsAny <CancellationToken>(), It.IsAny <PostData>()))
            .ReturnsAsync(post.WithId(randomId));

            var sut = new PostService(mockedPostEndpoint.Object);

            // Act
            var result = await sut.Create(CancellationToken.None, post);

            // Assert
            using (new AssertionScope())
            {
                result
                .Should().NotBeNull();
                result.Id
                .Should().Be(randomId);
                result.Title
                .Should().Be(post.Title);
                result.Body
                .Should().Be(post.Body);
                result.UserIdentifier
                .Should().Be(post.UserIdentifier);
            }
        }