public async Task CategoriesRenamed_TestAsync()
        {
            var authentication = await this.TestContext.LoginRandomAsync(Authority.Admin);

            var categoryFilter = new UserCategoryFilter()
            {
                HasParent = true
            };
            var category = await categoryFilter.GetUserCategoryAsync(app);

            var parent       = category.Parent;
            var oldName      = category.Name;
            var expectedName = await parent.GenerateNewCategoryNameAsync();

            Console.WriteLine($"expectedName: {expectedName}");
            await parent.Dispatcher.InvokeAsync(() =>
            {
                foreach (var item in parent.Categories)
                {
                    Console.WriteLine($"childName: {item.Name}");
                }
            });

            var actualName = string.Empty;
            await userCategoryCollection.AddCategoriesRenamedEventHandlerAsync(UserCategoryCollection_CategoriesRenamed);

            await category.RenameAsync(authentication, expectedName);

            Assert.AreEqual(expectedName, actualName);
            await userCategoryCollection.RemoveCategoriesRenamedEventHandlerAsync(UserCategoryCollection_CategoriesRenamed);

            await category.RenameAsync(authentication, oldName);

            Assert.AreEqual(expectedName, actualName);

            void UserCategoryCollection_CategoriesRenamed(object sender, ItemsRenamedEventArgs <IUserCategory> e)
            {
                var category = e.Items.Single();

                actualName = category.Name;
            }
        }