コード例 #1
0
        public async Task GiveInvalidTeamId_ShouldRaiseNotFound()
        {
            var sut = new CreateChannelConversationCommandHandler(_context, _mapper);
            List <UserModel> members = new List <UserModel>();

            members.AddRange(new[] {
                new UserModel {
                    UserId      = userId1,
                    DisplayName = "User 1"
                },
                new UserModel {
                    UserId      = userId2,
                    DisplayName = "User 2"
                }
            });
            await Should.ThrowAsync <NotFoundException>(() =>
                                                        sut.Handle(new CreateChannelConversationCommand
            {
                TeamId             = Guid.NewGuid().ToString(),
                ChannelDescription = "Channel test 1",
                IsPublic           = false,
                Members            = members,
                Name = "NAME ABC",
            }, CancellationToken.None));
        }
コード例 #2
0
        public async Task GiveValidRequestWithIsPublic_ShouldCreateConversationChannel()
        {
            var sut = new CreateChannelConversationCommandHandler(_context, _mapper);

            // test general channel ->  IsPublic = true
            var command = new CreateChannelConversationCommand()
            {
                TeamId             = validTeamId.ToString(),
                ChannelDescription = "Channel test 1",
                IsPublic           = true,
                Name = "NAME ABC2",
            };

            await sut.Handle(command, CancellationToken.None);

            var entity = await _context.Conversations.Where(e => e.Name == "NAME ABC2").FirstOrDefaultAsync();

            entity.ShouldNotBeNull();
            entity.TeamId.ShouldBe(validTeamId.ToString());
            entity.isPublic.ShouldBeTrue();
            entity.Type.ShouldBe("channel");

            // Duplicate Member list??? dont know why

            var temp = entity.Members.GroupBy(e => e.UserOid).Select(group => group.First());

            temp.Count().ShouldBe(4);
            temp.Where(e => e.UserOid == userId1.ToString()).Count().ShouldBe(1);
            temp.Where(e => e.UserOid == userId2.ToString()).Count().ShouldBe(1);
            temp.Where(e => e.UserOid == userId3.ToString()).Count().ShouldBe(1);
            temp.Where(e => e.UserOid == userId4.ToString()).Count().ShouldBe(1);
        }
コード例 #3
0
        public async Task GiveValidRequestWithIsNOTPublic_ShouldCreateConversationChannel()
        {
            var sut = new CreateChannelConversationCommandHandler(_context, _mapper);
            List <UserModel> members1 = new List <UserModel>();

            members1.AddRange(new[] {
                new UserModel {
                    UserId      = userId1,
                    DisplayName = "User 1"
                },
                new UserModel {
                    UserId      = userId2,
                    DisplayName = "User 2"
                }
            });
            // test private channel ->  IsPublic = false
            var command = new CreateChannelConversationCommand()
            {
                TeamId             = validTeamId2.ToString(),
                ChannelDescription = "Channel test 1",
                IsPublic           = false,
                Members            = members1,
                Name = "TestisPublicFalse",
            };

            await sut.Handle(command, CancellationToken.None);

            var entity = await _context.Conversations.Where(e => e.Name == "TestisPublicFalse").FirstOrDefaultAsync();

            entity.ShouldNotBeNull();
            entity.TeamId.ShouldBe(validTeamId2.ToString());
            entity.isPublic.ShouldBeFalse();
            entity.Type.ShouldBe("channel");

            // Duplicate Member list??? dont know why

            var temp = entity.Members.GroupBy(e => e.UserOid).Select(group => group.First());

            temp.Count().ShouldBe(2);
            temp.Where(e => e.UserOid == userId1.ToString()).Count().ShouldBe(1);
            temp.Where(e => e.UserOid == userId2.ToString()).Count().ShouldBe(1);
        }