public void CanAuthorizeAgainstAType() { UserPermission user = new UserPermission(); Create createAction = new Create(); createAction.AddSubject(typeof(AddressModel)); user.AddAuthorization(createAction); Assert.IsTrue(createAction.AppliesTo(typeof(AddressModel))); bool? canCreate = user.Can(Actions.Create, typeof(AddressModel)); Assert.IsTrue(canCreate == true); }
public void CanAuthorizedAgainstAnInstanceButNotAgainstAnotherInstance() { UserPermission user = new UserPermission(); AddressModel address = new AddressModel(); Create createAction = new Create(); createAction.AddSubject(address); user.AddAuthorization(createAction); bool? canUpdate = user.Can(Actions.Create, address); Assert.IsTrue(canUpdate == true); AddressModel secondAddress = new AddressModel(); canUpdate = user.Can(Actions.Create, secondAddress); Assert.IsTrue(canUpdate == false); }