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(); } }
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; } } }
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(); } }