public async Task WhenGettingBlog_ItShouldReturnTheResult() { await this.DatabaseTestAsync(async testDatabase => { this.target = new GetBlogChannelsAndQueuesDbStatement(testDatabase); await this.CreateDataAsync(testDatabase); await testDatabase.TakeSnapshotAsync(); var result = await this.target.ExecuteAsync(CreatorId); 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); Assert.AreEqual(3, result.Channels.Count); foreach (var channel in result.Channels) { Assert.AreEqual(IsVisibleToNonSubscribers, channel.IsVisibleToNonSubscribers); Assert.AreEqual(Name, channel.Name); Assert.AreEqual(Price, channel.Price); } Assert.AreEqual(3, result.Blog.Queues.Count); foreach (var collection in result.Blog.Queues) { Assert.AreEqual(Name, collection.Name); } var queue1 = result.Blog.Queues.Single(v => v.QueueId.Equals(QueueId1)); var queue2 = result.Blog.Queues.Single(v => v.QueueId.Equals(QueueId2)); var queue3 = result.Blog.Queues.Single(v => v.QueueId.Equals(QueueId3)); Assert.AreEqual(1, queue1.WeeklyReleaseSchedule.Count); Assert.AreEqual(2, queue2.WeeklyReleaseSchedule.Count); Assert.AreEqual(3, queue3.WeeklyReleaseSchedule.Count); return(ExpectedSideEffects.None); }); }
public async Task WhenGettingANonExistantBlog_ItShouldReturnNull() { await this.DatabaseTestAsync(async testDatabase => { this.target = new GetBlogChannelsAndQueuesDbStatement(testDatabase); await this.CreateDataAsync(testDatabase); await testDatabase.TakeSnapshotAsync(); var result = await this.target.ExecuteAsync(new UserId(Guid.NewGuid())); Assert.IsNull(result); return(ExpectedSideEffects.None); }); }
public async Task WhenGettingBlog_ItShouldBeIdempotent() { await this.DatabaseTestAsync(async testDatabase => { this.target = new GetBlogChannelsAndQueuesDbStatement(testDatabase); await this.CreateDataAsync(testDatabase); await this.target.ExecuteAsync(CreatorId); await testDatabase.TakeSnapshotAsync(); await this.target.ExecuteAsync(CreatorId); return(ExpectedSideEffects.None); }); }
public void TestInitialize() { this.target = new GetBlogChannelsAndQueuesDbStatement(new Mock <IFifthweekDbConnectionFactory>(MockBehavior.Strict).Object); }