コード例 #1
0
        public async Task ItemsDeleted_TypeCategory_TestAsync()
        {
            var authentication = await this.TestContext.LoginRandomAsync(Authority.Admin);

            var typeCategoryFilter1 = new TypeCategoryFilter()
            {
                HasParent = true, IsLeaf = true
            };
            var typeItem1    = (await typeCategoryFilter1.GetTypeCategoryAsync(dataBase)) as ITypeItem;
            var actualPath   = string.Empty;
            var expectedPath = typeItem1.Path;
            await typeContext.AddItemsDeletedEventHandlerAsync(TypeContext_ItemsDeleted);

            await typeItem1.DeleteAsync(authentication);

            Assert.AreEqual(expectedPath, actualPath);
            await typeContext.RemoveItemsDeletedEventHandlerAsync(TypeContext_ItemsDeleted);

            var typeCategoryFilter2 = new TypeCategoryFilter()
            {
                HasParent = true, IsLeaf = true
            };
            var typeItem2 = (await typeCategoryFilter2.GetTypeCategoryAsync(dataBase)) as ITypeItem;
            await typeItem2.DeleteAsync(authentication);

            Assert.AreEqual(expectedPath, actualPath);

            void TypeContext_ItemsDeleted(object sender, ItemsDeletedEventArgs <ITypeItem> e)
            {
                var typeItem = e.Items.Single();

                actualPath = e.ItemPaths.Single();
            }
        }
コード例 #2
0
        public async Task ItemsLockChanged_TypeCategory_TestAsync()
        {
            var authentication = await this.TestContext.LoginRandomAsync(Authority.Admin);

            var typeCategoryFilter = new TypeCategoryFilter(TypeCategoryFlags.Public | TypeCategoryFlags.NotLocked);
            var typeItem           = (await typeCategoryFilter.GetTypeCategoryAsync(dataBase)) as ITypeItem;
            var expectedTypeItem   = typeItem;
            var actualTypeItem     = null as ITypeItem;
            var comment            = RandomUtility.NextString();
            await typeContext.AddItemsLockChangedEventHandlerAsync(TypeContext_ItemsLockChanged);

            await typeItem.LockAsync(authentication, comment);

            await typeItem.UnlockAsync(authentication);

            Assert.AreEqual(expectedTypeItem, actualTypeItem);

            await typeContext.RemoveItemsLockChangedEventHandlerAsync(TypeContext_ItemsLockChanged);

            actualTypeItem = null;
            await typeItem.LockAsync(authentication, comment);

            Assert.IsNull(actualTypeItem);

            void TypeContext_ItemsLockChanged(object sender, ItemsEventArgs <ITypeItem> e)
            {
                if (e.Items.Single() is ITypeItem typeItem)
                {
                    actualTypeItem = typeItem;
                }
            }
        }
コード例 #3
0
        public async Task ItemsRenamed_TestAsync()
        {
            var authentication = await this.TestContext.LoginRandomAsync(Authority.Admin);

            var categoryFilter = new TypeCategoryFilter()
            {
                HasParent = true
            };
            var category = await categoryFilter.GetTypeCategoryAsync(dataBase);

            var actualName    = string.Empty;
            var actualPath    = string.Empty;
            var actualOldName = string.Empty;
            var actualOldPath = string.Empty;
            var expectedName  = await category.Parent.GenerateNewCategoryNameAsync();

            var expectedOldName = category.Name;
            var expectedOldPath = category.Path;
            await typeContext.AddItemsRenamedEventHandlerAsync(TypeContext_ItemsRenamed);

            await category.RenameAsync(authentication, expectedName);

            Assert.AreEqual(expectedName, actualName);
            Assert.AreEqual(category.Path, actualPath);
            Assert.AreEqual(expectedOldName, actualOldName);
            Assert.AreEqual(expectedOldPath, actualOldPath);
            await typeContext.RemoveItemsRenamedEventHandlerAsync(TypeContext_ItemsRenamed);

            await category.RenameAsync(authentication, RandomUtility.NextName());

            Assert.AreEqual(expectedName, actualName);
            Assert.AreNotEqual(category.Path, actualPath);
            Assert.AreEqual(expectedOldName, actualOldName);
            Assert.AreEqual(expectedOldPath, actualOldPath);

            void TypeContext_ItemsRenamed(object sender, ItemsRenamedEventArgs <ITypeItem> e)
            {
                var typeItem = e.Items.Single();

                actualName    = typeItem.Name;
                actualPath    = typeItem.Path;
                actualOldName = e.OldNames.Single();
                actualOldPath = e.OldPaths.Single();
            }
        }