public void CanByType3() { var ide = new IdentityDao { Id = "test", Name = "Test", Permissions = new[] { new PermissionDao { Value = true, Function = Admin.Id.ToString(), }, new PermissionDao { Value = true, Function = Admin.Id.ToString(), Scopes = new[] { new ScopeDao { Discriminator = Discriminator.Category.Purchases, Propagation = ScopePropagation.ToMe }, } }, }.ToList() }; Assert.True(ide.EnsureCan(Read).Instance(File.Document.Word.Word1), "Tengo:\r\n" + $" - Concedido el permiso para {nameof(Admin)} en {nameof(Discriminator.Category.Purchases)}\r\n" + $"¿Debería poder {nameof(Read)} en {nameof(File.Document.Word.Word1)}?\r\n" + " Si"); Assert.True(ide.EnsureCan(Read).Something(), "Tengo:\r\n" + $" - Concedido el permiso para {nameof(Admin)} en {nameof(Discriminator.Category.Purchases)}\r\n" + $"¿Debería poder {nameof(Read)} alguna cosa?\r\n" + " Si"); }
public void CanByType() { var ide = new IdentityDao { Id = "test", Name = "Test", Permissions = new[] { new PermissionDao { Value = true, Function = Admin.Id.ToString(), Scopes = new[] { new ScopeDao { Discriminator = Discriminator.Category.Purchases, Propagation = ScopePropagation.ToMe }, new ScopeDao { Discriminator = Factory.Get <TypeDiscriminatorFactory>().FromType <BaseDao>(), Propagation = ScopePropagation.ToMe | ScopePropagation.ToInclusions }, } }, }.ToList() }; ide.EnsureCan(Read).Type <WordDocumentDao>(); Assert.True(ide.EnsureCan(Read).Type <WordDocumentDao>(), "Tengo:\r\n" + $" - Concedido el permiso para {nameof(Admin)} la categoria {Discriminator.Category.Purchases} del tipo {nameof(BaseDao)} y derivados\r\n" + $"¿Debería poder {nameof(Read)} en {nameof(WordDocumentDao)}?\r\n" + " Si"); Assert.True(ide.EnsureCan(Admin).Something(), "Tengo:\r\n" + $" - Concedido el permiso para {nameof(Admin)} la categoria {Discriminator.Category.Purchases} del tipo {nameof(BaseDao)} y derivados\r\n" + $"¿Debería poder {nameof(Admin)} alguna cosa?\r\n" + " Si"); }