public async Task WhenChannelsDoNotExist_ItShouldReturnTheResult() { await this.DatabaseTestAsync(async testDatabase => { this.target = new GetLandingPageDbStatement(testDatabase); await this.CreateDataAsync(testDatabase, true, false); await testDatabase.TakeSnapshotAsync(); var result = await this.target.ExecuteAsync(Username); Assert.AreEqual(CreatorId, result.UserId); Assert.AreEqual(ProfileFileId, result.ProfileImageFileId); Assert.AreEqual(BlogId, result.Blog.BlogId); Assert.AreEqual(CreatorId, result.Blog.CreatorId); Assert.AreEqual(HeaderFileId, result.Blog.HeaderImageFileId); Assert.AreEqual(CreationDate, result.Blog.CreationDate); Assert.AreEqual(Description, result.Blog.Description.Value); Assert.AreEqual(ExternalVideoUrl, result.Blog.Video.Value); Assert.AreEqual(Introduction, result.Blog.Introduction.Value); Assert.AreEqual(Name, result.Blog.BlogName.Value); Assert.IsNotNull(result.Channels); Assert.AreEqual(0, result.Channels.Count); return(ExpectedSideEffects.None); }); }
public async Task WhenBlogDoesNotExist_ItShouldReturnNull() { await this.DatabaseTestAsync(async testDatabase => { this.target = new GetLandingPageDbStatement(testDatabase); await this.CreateDataAsync(testDatabase, false); await testDatabase.TakeSnapshotAsync(); var result = await this.target.ExecuteAsync(Username); Assert.IsNull(result); return(ExpectedSideEffects.None); }); }
public async Task WhenGettingBlog_ItShouldBeIdempotent() { await this.DatabaseTestAsync(async testDatabase => { this.target = new GetLandingPageDbStatement(testDatabase); await this.CreateDataAsync(testDatabase); await this.target.ExecuteAsync(Username); await testDatabase.TakeSnapshotAsync(); await this.target.ExecuteAsync(Username); return(ExpectedSideEffects.None); }); }
public async Task WhenGettingBlog_ItShouldReturnTheResult() { await this.DatabaseTestAsync(async testDatabase => { this.target = new GetLandingPageDbStatement(testDatabase); await this.CreateDataAsync(testDatabase); await testDatabase.TakeSnapshotAsync(); var result = await this.target.ExecuteAsync(Username); Assert.AreEqual(CreatorId, result.UserId); Assert.AreEqual(ProfileFileId, result.ProfileImageFileId); Assert.AreEqual(BlogId, result.Blog.BlogId); Assert.AreEqual(CreatorId, result.Blog.CreatorId); Assert.AreEqual(HeaderFileId, result.Blog.HeaderImageFileId); Assert.AreEqual(CreationDate, result.Blog.CreationDate); Assert.AreEqual(Description, result.Blog.Description.Value); Assert.AreEqual(ExternalVideoUrl, result.Blog.Video.Value); Assert.AreEqual(Introduction, result.Blog.Introduction.Value); Assert.AreEqual(Name, result.Blog.BlogName.Value); Assert.IsNotNull(result.Channels); Assert.AreEqual(3, result.Channels.Count); Assert.IsNotNull(result.Channels.FirstOrDefault(v => v.ChannelId.Equals(ChannelId1))); Assert.IsNotNull(result.Channels.FirstOrDefault(v => v.ChannelId.Equals(ChannelId2))); Assert.IsNotNull(result.Channels.FirstOrDefault(v => v.ChannelId.Equals(ChannelId3))); foreach (var channel in result.Channels) { Assert.AreEqual(IsVisibleToNonSubscribers, channel.IsVisibleToNonSubscribers); Assert.AreEqual(Name, channel.Name); Assert.AreEqual(Price, channel.Price); } return(ExpectedSideEffects.None); }); }
public void TestInitialize() { this.target = new GetLandingPageDbStatement(new Mock <IFifthweekDbConnectionFactory>(MockBehavior.Strict).Object); }