示例#1
0
        private async Task <List <Channel> > AddChannelsAsync(int count = 5)
        {
            List <Channel> channels = new List <Channel>();

            for (int i = 0; i < count; i++)
            {
                var channelCreator = await _context.Users.LastOrDefaultAsync();

                channels.Add(new Channel
                {
                    About        = RandomExtensions.NextString(20),
                    Deleted      = false,
                    ChannelName  = "Channel " + i,
                    Tag          = RandomExtensions.NextString(10).ToUpper(),
                    ChannelUsers = _context.Users.ToList().Select(user => new ChannelUser
                    {
                        UserId          = user.Id,
                        Banned          = false,
                        Deleted         = false,
                        SubscribedTime  = DateTime.UtcNow.ToUnixTime(),
                        ChannelUserRole = user.Id == channelCreator.Id ? ChannelUserRole.Creator : ChannelUserRole.Subscriber
                    }).ToList(),
                    NodesId = RandomExtensions.GetRandomInt64Sequence(10, 0)
                });
            }
            await _context.Channels.AddRangeAsync(channels);

            await _context.SaveChangesAsync();

            return(channels);
        }
        public async Task CreateChannelWithSubs()
        {
            var users           = fillTestDbHelper.Users.Skip(1);
            var creator         = fillTestDbHelper.Users.FirstOrDefault();
            var expectedChannel = new ChannelVm
            {
                About        = RandomExtensions.NextString(10),
                ChannelName  = "Created channel",
                Tag          = "TAGTAGTAG",
                NodesId      = RandomExtensions.GetRandomInt64Sequence(3, 0).ToList(),
                ChannelUsers = users.Select(user => new ChannelUserVm
                {
                    UserId          = user.Id,
                    ChannelUserRole = ChannelUserRole.Subscriber
                }).ToList()
            };
            var actualChannel = await createChannelsService.CreateChannelAsync(expectedChannel, creator.Id, expectedChannel.ChannelUsers);

            Assert.True(expectedChannel.ChannelUsers.Count() + 1 == actualChannel.ChannelUsers.Count());
        }