public async Task ItemsLockChanged_Type_TestAsync() { var authentication = await this.TestContext.LoginRandomAsync(Authority.Admin); var typeFilter = new TypeFilter(TypeFlags.NotBeingEdited | TypeFlags.NotReferenced | TypeFlags.Public | TypeFlags.NotLocked); var typeItem = (await typeFilter.GetTypeAsync(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 ItemsDeleted_Type_TestAsync() { var authentication = await this.TestContext.LoginRandomAsync(Authority.Admin); var typeFilter1 = new TypeFilter(TypeFlags.NotBeingEdited | TypeFlags.NotReferenced); var typeItem1 = (await typeFilter1.GetTypeAsync(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 typeFilter2 = new TypeFilter(TypeFlags.NotBeingEdited | TypeFlags.NotReferenced); var typeItem2 = (await typeFilter2.GetTypeAsync(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 ItemsChanged_TestAsync() { var authentication = await this.TestContext.LoginRandomAsync(Authority.Admin); var typeFilter = new TypeFilter(); var type = await typeFilter.GetTypeAsync(dataBase); var actualValue = string.Empty; var expectedValue = type.TypeInfo.HashValue; var template = type.Template; await typeContext.AddItemsChangedEventHandlerAsync(TypeContext_ItemsChanged); await template.BeginEditAsync(authentication); await template.ModifyRandomMembersAsync(authentication, 5); await template.EndEditAsync(authentication); Assert.AreNotEqual(expectedValue, actualValue); expectedValue = actualValue; await typeContext.RemoveItemsChangedEventHandlerAsync(TypeContext_ItemsChanged); await template.BeginEditAsync(authentication); await template.ModifyRandomMembersAsync(authentication, 5); await template.EndEditAsync(authentication); Assert.AreEqual(expectedValue, actualValue); void TypeContext_ItemsChanged(object sender, ItemsEventArgs <ITypeItem> e) { if (e.Items.Single() is IType type) { actualValue = type.TypeInfo.HashValue; } } }