public async Task Build_WithJustCampaignId_ReturnsTheAuthorizableCampaignFromTheDatabase()
        {
            var sut = new AuthorizableCampaignBuilder(Context, new MemoryCache(new MemoryCacheOptions()), Mock.Of <IUserAuthorizationService>());

            var result = await sut.Build(20);

            result.CampaignId.ShouldBe(20);
            result.OrganizationId.ShouldBe(30);
        }
        public async Task Build_WithBothIds_ReturnsTheAuthorizableCampaign()
        {
            var sut = new AuthorizableCampaignBuilder(Context, new MemoryCache(new MemoryCacheOptions()), Mock.Of <IUserAuthorizationService>());

            var result = await sut.Build(1, 2);

            result.CampaignId.ShouldBe(1);
            result.OrganizationId.ShouldBe(2);
        }
示例#3
0
        private static async Task <IAuthorizableCampaign> AuthorizableCampaignWhenNoAssociatedUser()
        {
            var userAuthService = new Mock <IUserAuthorizationService>();

            userAuthService.Setup(x => x.HasAssociatedUser).Returns(false);

            var authEventBuilder = new AuthorizableCampaignBuilder(null, new MemoryCache(new MemoryCacheOptions()), userAuthService.Object);

            return(await authEventBuilder.Build(1, 2));
        }
        public async Task Build_WithJustCampaignId_ReturnsFromTheCacheWhenAvailable()
        {
            var cache = new MemoryCache(new MemoryCacheOptions());

            cache.Set("AuthorizableCampaign_1", new FakeAuthorizableCampaignIdContainer(), TimeSpan.FromMinutes(5));

            var sut = new AuthorizableCampaignBuilder(Context, cache, Mock.Of <IUserAuthorizationService>());

            var result = await sut.Build(1);

            result.CampaignId.ShouldBe(1);
            result.OrganizationId.ShouldBe(100);
        }
示例#5
0
        private static async Task <IAuthorizableCampaign> AuthorizableCampaignWhenUserAssociatedIsNotAdminOrManager()
        {
            var userAuthService = new Mock <IUserAuthorizationService>();

            userAuthService.Setup(x => x.HasAssociatedUser).Returns(true);
            userAuthService.Setup(x => x.IsSiteAdmin).Returns(false);
            userAuthService.Setup(x => x.IsOrganizationAdmin(It.IsAny <int>())).Returns(false);
            userAuthService.Setup(x => x.GetManagedEventIds()).ReturnsAsync(new List <int>());
            userAuthService.Setup(x => x.GetManagedCampaignIds()).ReturnsAsync(new List <int>());

            var authEventBuilder = new AuthorizableCampaignBuilder(null, new MemoryCache(new MemoryCacheOptions()), userAuthService.Object);

            return(await authEventBuilder.Build(1, 2));
        }
        public async Task Build_SetsCaches_WithTheAuthorizableCampaign()
        {
            var cache = new MemoryCache(new MemoryCacheOptions());

            var sut = new AuthorizableCampaignBuilder(Context, cache, Mock.Of <IUserAuthorizationService>());

            var result = await sut.Build(20);

            var foundInCache = cache.TryGetValue("AuthorizableCampaign_20", out IAuthorizableCampaignIdContainer AuthorizableCampaign);

            foundInCache.ShouldBeTrue();

            AuthorizableCampaign.CampaignId.ShouldBe(20);
            AuthorizableCampaign.OrganizationId.ShouldBe(30);
        }