示例#1
0
        public async Task throw_if_store_is_null()
        {
            var roleNameProvider = new DelegatedRoleNameProviderService(() => null);

            await Assert.ThrowsAsync <ArgumentNullException>(async() =>
            {
                await new RoleNameToggle(roleNameProvider, null).IsActiveAsync(Constants.FeatureName, Constants.ProductName);
            });
        }
示例#2
0
        public async Task be_active_if_role_is_equal_to_roles_parameters_value()
        {
            var toggle = Build
                         .Toggle <RoleNameToggle>()
                         .AddOneParameter(Roles, "admin")
                         .Build();
            var feature = Build
                          .Feature(Constants.FeatureName)
                          .AddOne(toggle)
                          .Build();
            var store            = new DelegatedValueFeatureStore((_, __) => feature);
            var roleNameProvider = new DelegatedRoleNameProviderService(() => "admin");

            var active = await new RoleNameToggle(roleNameProvider, store).IsActiveAsync(Constants.FeatureName, Constants.ProductName);

            active.Should().BeTrue();
        }
示例#3
0
        public async Task be_not_active_if_parameter_is_not_configured()
        {
            var toggle = Build
                         .Toggle <RoleNameToggle>()
                         .AddOneParameter("Roles", "SomeRole")
                         .Build();
            var feature = Build
                          .Feature(Constants.FeatureName)
                          .AddOne(toggle)
                          .Build();
            var store            = new DelegatedValueFeatureStore((_, __) => feature);
            var roleNameProvider = new DelegatedRoleNameProviderService(() => "role1");

            var active = await new RoleNameToggle(roleNameProvider, store).IsActiveAsync(Constants.FeatureName, Constants.ProductName);

            active.Should().BeFalse();
        }