コード例 #1
0
        public async Task DeleteUserFromGroupAsyncTest_WhenGroupIdExistsAndUserIdInMembersDoesntExists_ReturnsGroupResponseModelWithOutUserIdInMemebers()
        {
            var groupMockRepository   = new Mock <IGroupRepository>();
            var mockThreadRepository  = new Mock <IThreadRepository>();
            var contactMockRepository = new Mock <IContactRepository>();
            var mapper = GetMapperForGroupProfile();

            var userId        = _rnd.Next(111, 1000);
            var groupEntity   = EntityModellers.CreateGroupEntity();
            var expected      = mapper.Map <GroupEntity, GroupResponseModel>(groupEntity);
            var usersToRemove = new List <int> {
                userId
            };

            groupMockRepository.Setup(x => x.GetAsync(groupEntity.Id)).ReturnsAsync(groupEntity);
            groupMockRepository.Setup(x => x.RemoveUsersAsync(groupEntity.Id, It.Is <IList <int> >(y => true))).ReturnsAsync(groupEntity);
            var groupManager = new GroupManager(groupMockRepository.Object, mockThreadRepository.Object, mapper, contactMockRepository.Object);
            var actual       = await groupManager.DeleteUsersFromGroupAsync(groupEntity.Id, usersToRemove);

            Assert.Equal(expected, actual, new LogicEqualityComparer <GroupResponseModel>());
            Assert.DoesNotContain(userId, actual.Members);

            groupMockRepository.Verify(x => x.RemoveUsersAsync(groupEntity.Id, usersToRemove), Times.Never);

            groupMockRepository.VerifyAll();
        }
コード例 #2
0
        public async Task DeleteUserFromGroupAsyncTest_WhenGroupIdDoesntExists_ThrowsInvalidRequestException()
        {
            var groupMockRepository   = new Mock <IGroupRepository>();
            var mockThreadRepository  = new Mock <IThreadRepository>();
            var contactMockRepository = new Mock <IContactRepository>();
            var mapper = GetMapperForGroupProfile();

            var groupEntity = EntityModellers.CreateGroupEntity();

            groupMockRepository.Setup(x => x.GetAsync(groupEntity.Id)).ReturnsAsync((GroupEntity)null);

            var groupManager = new GroupManager(groupMockRepository.Object, mockThreadRepository.Object, mapper, contactMockRepository.Object);
            var exception    = await Assert.ThrowsAsync <InvalidRequestException>(() => groupManager.DeleteUsersFromGroupAsync(groupEntity.Id, new List <int> {
                _rnd.Next(111, 1000)
            }));

            Assert.IsType <InvalidRequestException>(exception);
            Assert.StartsWith(ErrorConstants.InvalidInputMessage, exception.Message);

            groupMockRepository.VerifyAll();
        }