public async Task KickUserFromToDoGroupTest()
        {
            using (ToDoLineTestEnv testEnv = new ToDoLineTestEnv())
            {
                var toDoLineClient1 = await testEnv.LoginInToApp(registerNewUserByRandomUserName : true);

                string userName2 = await testEnv.RegisterNewUser();

                //create ToDoGroup by first user
                ToDoGroupDto toDoGroup = await toDoLineClient1.ODataClient.ToDoGroups()
                                         .CreateToDoGroup("Group1")
                                         .ExecuteAsSingleAsync();

                UserDto user2 = await toDoLineClient1.ODataClient.GetUserByUserName(userName2);

                await toDoLineClient1.ODataClient.ToDoGroups()
                .ShareToDoGroupWithAnotherUser(anotherUserId: user2.Id, toDoGroupId: toDoGroup.Id)
                .ExecuteAsSingleAsync();

                await toDoLineClient1.ODataClient.ToDoGroups()
                .KickUserFromToDoGroup(userId: user2.Id, toDoGroupId: toDoGroup.Id)
                .ExecuteAsSingleAsync();

                ToDoGroupDto toDoGroupK = await toDoLineClient1.ODataClient.ToDoGroups()
                                          .GetMyToDoGroups()
                                          .Filter(tdg => toDoGroup.Id == tdg.Id)
                                          .FindEntryAsync();

                Assert.AreEqual(1, toDoGroupK.SharedByCount);
            }
        }
        public async Task KickUserFromToDoGroupTest()
        {
            using (ToDoLineTestEnv testEnv = new ToDoLineTestEnv())
            {
                var(userName1, client1) = await testEnv.LoginInToApp(registerNewUserByRandomUserName : true);

                string userName2 = await testEnv.RegisterNewUser();

                //create ToDoGroup by first user
                ToDoGroupDto toDoGroup = await client1.Controller <ToDoGroupsController, ToDoGroupDto>()
                                         .Action(nameof(ToDoGroupsController.CreateToDoGroup))
                                         .Set(new ToDoGroupsController.CreateToDoGroupArgs {
                    title = "Group1"
                })
                                         .ExecuteAsSingleAsync();

                UserDto user2 = await client1.GetUserByUserName(userName2);

                await client1.Controller <ToDoGroupsController, ToDoGroupDto>()
                .Action(nameof(ToDoGroupsController.ShareToDoGroupWithAnotherUser))
                .Set(new ToDoGroupsController.ShareToDoGroupWithAnotherUserArgs {
                    anotherUserId = user2.Id, toDoGroupId = toDoGroup.Id
                })
                .ExecuteAsSingleAsync();

                await client1.Controller <ToDoGroupsController, ToDoGroupDto>()
                .Action(nameof(ToDoGroupsController.KickUserFromToDoGroup))
                .Set(new ToDoGroupsController.KickAnotherUserFromMyToDoGroupArge {
                    userId = user2.Id, toDoGroupId = toDoGroup.Id
                })
                .ExecuteAsSingleAsync();

                ToDoGroupDto toDoGroupK = await client1.Controller <ToDoGroupsController, ToDoGroupDto>()
                                          .Function(nameof(ToDoGroupsController.GetMyToDoGroups))
                                          .Filter(tdg => toDoGroup.Id == tdg.Id)
                                          .FindEntryAsync();

                Assert.AreEqual(1, toDoGroupK.SharedByCount);
            }
        }