Exemplo n.º 1
0
 public RequiredCapabilityTester(IGetsUserCapabilities <TEntity, TCapability> capabilitiesProvider)
 {
     this.capabilitiesProvider = capabilitiesProvider ?? throw new ArgumentNullException(nameof(capabilitiesProvider));
 }
        public void AssertUserHasCapability_throws_nothing_if_user_has_all_required_capabilities([Frozen] IGetsUserCapabilities <SampleEntity, SampleEntityCapability> capabilitiesProvider,
                                                                                                 RequiredCapabilityTester <SampleEntity, SampleEntityCapability> sut,
                                                                                                 IIdentity <User> userId,
                                                                                                 IIdentity <SampleEntity> entityId)
        {
            Mock.Get(capabilitiesProvider)
            .Setup(x => x.GetCapabilities(userId, entityId))
            .Returns(SampleEntityCapability.Two | SampleEntityCapability.One);

            Assert.That(() => sut.AssertUserHasCapability(userId, entityId, SampleEntityCapability.Two | SampleEntityCapability.One),
                        Throws.Nothing);
        }
 public CapabilitiesForCurrentUserProvider(IGetsCurrentCapabilityUser userReader,
                                           IGetsUserCapabilities capabilitiesProvider)
 {
     this.userReader           = userReader ?? throw new ArgumentNullException(nameof(userReader));
     this.capabilitiesProvider = capabilitiesProvider ?? throw new ArgumentNullException(nameof(capabilitiesProvider));
 }
        public void AssertUserHasCapability_throws_UserMustHaveCapabilityException_if_user_does_not_have_all_required_capabilities([Frozen] IGetsUserCapabilities <SampleEntity, SampleEntityCapability> capabilitiesProvider,
                                                                                                                                   RequiredCapabilityTester <SampleEntity, SampleEntityCapability> sut,
                                                                                                                                   IIdentity <User> userId,
                                                                                                                                   IIdentity <SampleEntity> entityId)
        {
            Mock.Get(capabilitiesProvider)
            .Setup(x => x.GetCapabilities(userId, entityId))
            .Returns(SampleEntityCapability.Two);

            Assert.That(() => sut.AssertUserHasCapability(userId, entityId, SampleEntityCapability.One | SampleEntityCapability.Two),
                        Throws.InstanceOf <UserMustHaveCapabilityException>());
        }