private async Task <Post> CreateEntitiesAsync(TestDatabaseContext testDatabase) { using (var databaseContext = testDatabase.CreateContext()) { var random = new Random(); await databaseContext.CreateTestEntitiesAsync(CreatorId.Value, ChannelId.Value, QueueId.Value); await databaseContext.CreateTestFileWithExistingUserAsync(CreatorId.Value, FileId.Value); var post = PostTests.UniqueFileOrImage(random); post.Id = PostId.Value; post.ChannelId = ChannelId.Value; post.QueueId = QueueId.Value; post.PreviewImageId = FileId.Value; post.CreationDate = new SqlDateTime(post.CreationDate).Value; post.LiveDate = new SqlDateTime(post.LiveDate).Value; await databaseContext.Database.Connection.InsertAsync(post); await databaseContext.Database.Connection.InsertAsync(new PostFile(PostId.Value, FileId.Value)); await databaseContext.CreateTestUserAsync(UserId.Value, random); var comment = CommentTests.Unique(random); comment.Id = CommentId.Value; comment.PostId = PostId.Value; comment.UserId = UserId.Value; await databaseContext.Database.Connection.InsertAsync(comment); var like = LikeTests.Unique(random); like.PostId = PostId.Value; like.UserId = UserId.Value; await databaseContext.Database.Connection.InsertAsync(like); await databaseContext.CreateTestChannelSubscriptionWithExistingReferences(CreatorId.Value, ChannelId.Value); var weeklyReleaseTimes = WeeklyReleaseTimeTests.GenerateSortedWeeklyReleaseTimes(QueueId.Value, 3); await databaseContext.Database.Connection.InsertAsync(weeklyReleaseTimes); return(post); } }
private async Task CreateChannelsAndQueuesAsync(TestDatabaseContext testDatabase) { var random = new Random(); var channel1 = ChannelTests.UniqueEntity(random); channel1.Id = ChannelId1.Value; ConfigureChannel(channel1); var channel2 = ChannelTests.UniqueEntity(random); channel2.Id = ChannelId2.Value; ConfigureChannel(channel2); var channel3 = ChannelTests.UniqueEntity(random); channel3.Id = ChannelId3.Value; ConfigureChannel(channel3); var queue1 = QueueTests.UniqueEntity(random); queue1.Id = QueueId1.Value; ConfigureQueue(queue1); var queue2 = QueueTests.UniqueEntity(random); queue2.Id = QueueId2.Value; ConfigureQueue(queue2); var queue3 = QueueTests.UniqueEntity(random); queue3.Id = QueueId3.Value; ConfigureQueue(queue3); var wrt1 = WeeklyReleaseTimeTests.UniqueEntity(random, queue1.Id); var wrt2a = WeeklyReleaseTimeTests.UniqueEntity(random, queue2.Id); var wrt2b = WeeklyReleaseTimeTests.UniqueEntity(random, queue2.Id); var wrt3a = WeeklyReleaseTimeTests.UniqueEntity(random, queue3.Id); var wrt3b = WeeklyReleaseTimeTests.UniqueEntity(random, queue3.Id); var wrt3c = WeeklyReleaseTimeTests.UniqueEntity(random, queue3.Id); using (var connection = testDatabase.CreateConnection()) { await connection.InsertAsync(channel1); await connection.InsertAsync(channel2); await connection.InsertAsync(channel3); await connection.InsertAsync(queue1); await connection.InsertAsync(queue2); await connection.InsertAsync(queue3); await connection.InsertAsync(wrt1); await connection.InsertAsync(wrt2a); await connection.InsertAsync(wrt2b); await connection.InsertAsync(wrt3a); await connection.InsertAsync(wrt3b); await connection.InsertAsync(wrt3c); } }