public async Task WhenNoHeaderImageOrProfileImageExists_ItShouldReturnTheBlogData()
        {
            var databaseResult = new GetLandingPageDbStatement.GetLandingPageDbResult(
                CreatorId,
                null,
                new GetBlogChannelsAndQueuesDbStatement.BlogDbResult(
                    BlogId,
                    CreatorId,
                    Name,
                    Introduction,
                    CreationDate,
                    null,
                    null,
                    null,
                    new List <QueueResult>()),
                new List <ChannelResult>());

            this.getLandingPage.Setup(v => v.ExecuteAsync(Username))
            .ReturnsAsync(databaseResult);

            var result = await this.target.HandleAsync(new GetLandingPageQuery(Username));

            Assert.AreEqual(CreatorId, result.UserId);
            Assert.AreEqual(null, result.ProfileImage);
            Assert.AreEqual(BlogId, result.Blog.BlogId);
            Assert.AreEqual(Name, result.Blog.Name);
            Assert.AreEqual(Introduction, result.Blog.Introduction);
            Assert.AreEqual(CreationDate, result.Blog.CreationDate);
            Assert.AreEqual(null, result.Blog.HeaderImage);
            Assert.AreEqual(null, result.Blog.Video);
            Assert.AreEqual(null, result.Blog.Description);

            Assert.AreEqual(databaseResult.Channels, result.Blog.Channels);
        }
        public async Task WhenImagesExists_ItShouldReturnTheBlogData()
        {
            var databaseResult = new GetLandingPageDbStatement.GetLandingPageDbResult(
                CreatorId,
                ProfileImageFileId,
                new GetBlogChannelsAndQueuesDbStatement.BlogDbResult(
                    BlogId,
                    CreatorId,
                    Name,
                    Introduction,
                    CreationDate,
                    HeaderFileId,
                    ExternalVideoUrl,
                    Description,
                    new List <QueueResult>()),
                new List <ChannelResult>());

            this.getLandingPage.Setup(v => v.ExecuteAsync(Username))
            .ReturnsAsync(databaseResult);

            var headerFileInformation = new FileInformation(HeaderFileId, "container");

            this.fileInformationAggregator.Setup(
                v => v.GetFileInformationAsync(null, HeaderFileId, FilePurposes.ProfileHeaderImage))
            .ReturnsAsync(headerFileInformation);

            var profileFileInformation = new FileInformation(ProfileImageFileId, "container");

            this.fileInformationAggregator.Setup(
                v => v.GetFileInformationAsync(null, ProfileImageFileId, FilePurposes.ProfileImage))
            .ReturnsAsync(profileFileInformation);

            var result = await this.target.HandleAsync(new GetLandingPageQuery(Username));

            Assert.AreEqual(CreatorId, result.UserId);
            Assert.AreEqual(ProfileImageFileId, result.ProfileImage.FileId);
            Assert.AreEqual(BlogId, result.Blog.BlogId);
            Assert.AreEqual(Name, result.Blog.Name);
            Assert.AreEqual(Introduction, result.Blog.Introduction);
            Assert.AreEqual(CreationDate, result.Blog.CreationDate);
            Assert.AreEqual(headerFileInformation, result.Blog.HeaderImage);
            Assert.AreEqual(ExternalVideoUrl, result.Blog.Video);
            Assert.AreEqual(Description, result.Blog.Description);

            Assert.AreEqual(databaseResult.Channels, result.Blog.Channels);
        }