public void EntityDeletedHandler_HasNoEntityPermissions() { var expPr = new PermissionRecord("c", "r", "u", "d"); var userId = "uId"; var dbUp = new UserPermissions { UserId = userId, }; var pm = new Mock <IPermissionManager>(); pm.Setup(p => p.GetUserPermissions(It.IsAny <string>())).ReturnsAsync(dbUp); var sp = new Mock <IServiceProvider>(); sp.Setup(s => s.GetService(typeof(IPermissionManager))).Returns(pm.Object); var data = new TestClass { Value = 123 }; var ed = new DomainEvent { Data = data, PerformedByUserId = userId }; var ph = new DefaultPermissionsEventsHandler(sp.Object); ph.PermissionDeletedHandler(ed); Thread.Sleep(50); pm.Verify(p => p.UpdateUserPermissions(It.IsAny <UserPermissions>()), Times.Never); }
public void EntityCreatedHandler_DataIsNotDominModel_DoesNothing() { var ed = new DomainEvent { Data = "some=string", PerformedByUserId = "uId", }; var ph = new DefaultPermissionsEventsHandler(null); ph.PermissionCreatedHandler(ed); }
public void EntityDeletedHandler_NotDomainModel() { var ed = new DomainEvent { Data = "some=string", PerformedByUserId = "uId" }; var ph = new DefaultPermissionsEventsHandler(null); ph.PermissionDeletedHandler(ed); Thread.Sleep(50); }
public void EntityCreatedHandler_UpdatesExistsUserPermissions() { var expPr = new PermissionRecord("c", "r", "u", "d"); var ecr = new EntityConfigRecord { Type = typeof(TestClass), PermissionRecord = expPr }; var sp = new Mock <IServiceProvider>(); sp.Setup(s => s.GetService(typeof(IEnumerable <EntityConfigRecord>))).Returns(new[] { ecr }); var userId = "uId"; var dbUp = new UserPermissions { UserId = userId, EntityPermissions = new[] { new EntityPermission { EntityId = "eId", EntityKey = "ek", PermissionKeys = new[] { "r1", "u1", "d1", }, }, } }; var pm = new Mock <IPermissionManager>(); pm.Setup(p => p.GetUserPermissions(It.IsAny <string>())).ReturnsAsync(dbUp); sp.Setup(s => s.GetService(typeof(IPermissionManager))).Returns(pm.Object); var data = new TestClass { Value = 123 }; var ed = new DomainEvent { Data = data, PerformedByUserId = userId, WorkContext = new WorkContext { CurrentEntityConfigRecord = ecr }, }; var ph = new DefaultPermissionsEventsHandler(sp.Object); ph.PermissionCreatedHandler(ed); Thread.Sleep(250); pm.Verify(p => p.UpdateUserPermissions(It.Is <UserPermissions>( up => up.UserId == userId && up.EntityPermissions.Count() == 2 && up.EntityPermissions.ElementAt(1).PermissionKeys.Contains(expPr.ReadKey) && up.EntityPermissions.ElementAt(1).PermissionKeys.Contains(expPr.UpdateKey) && up.EntityPermissions.ElementAt(1).PermissionKeys.Contains(expPr.DeleteKey))), Times.Once); }