コード例 #1
0
        private static async Task <IAuthorizableRequest> AuthorizableRequestWhenNoAssociatedUser()
        {
            var userAuthService = new Mock <IUserAuthorizationService>();

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

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

            return(await authEventBuilder.Build(Guid.NewGuid(), 2, 3, 4, 5));
        }
コード例 #2
0
        public async Task Build_WithJustRequestId_ReturnsTheAuthorizableRequestFromTheDatabase_WithExpectedIds_WhenPartialLinkedElements()
        {
            var sut = new AuthorizableRequestBuilder(Context, new MemoryCache(new MemoryCacheOptions()), Mock.Of <IUserAuthorizationService>());

            var result = await sut.Build(RequestIdForRequestWithPartialLinks);

            result.RequestId.ShouldBe(RequestIdForRequestWithPartialLinks);
            result.ItineraryId.ShouldBe(-1);
            result.EventId.ShouldBe(-1);
            result.CampaignId.ShouldBe(-1);
            result.OrganizationId.ShouldBe(30);
        }
コード例 #3
0
        public async Task Build_WithJustRequestId_ReturnsTheAuthorizableRequestFromTheDatabase()
        {
            var sut = new AuthorizableRequestBuilder(Context, new MemoryCache(new MemoryCacheOptions()), Mock.Of <IUserAuthorizationService>());

            var result = await sut.Build(RequestId);

            result.RequestId.ShouldBe(RequestId);
            result.ItineraryId.ShouldBe(40);
            result.EventId.ShouldBe(10);
            result.CampaignId.ShouldBe(20);
            result.OrganizationId.ShouldBe(30);
        }
コード例 #4
0
        public async Task Build_WithAllFivesIds_ReturnsTheAuthorizableRequest()
        {
            var sut = new AuthorizableRequestBuilder(Context, new MemoryCache(new MemoryCacheOptions()), Mock.Of <IUserAuthorizationService>());

            var result = await sut.Build(RequestId, 2, 3, 4, 5);

            result.RequestId.ShouldBe(RequestId);
            result.ItineraryId.ShouldBe(2);
            result.EventId.ShouldBe(3);
            result.CampaignId.ShouldBe(4);
            result.OrganizationId.ShouldBe(5);
        }
コード例 #5
0
        private static async Task <IAuthorizableRequest> AuthorizableRequestWhenUserAssociatedIsNotAdminOrManager()
        {
            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>());
            userAuthService.Setup(x => x.GetLedItineraryIds()).ReturnsAsync(new List <int>());

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

            return(await authEventBuilder.Build(Guid.NewGuid(), 2, 3, 4, 5));
        }
コード例 #6
0
        public async Task Build_WithJustRequestId_ReturnsFromTheCacheWhenAvailable()
        {
            var cache = new MemoryCache(new MemoryCacheOptions());

            cache.Set("AuthorizableRequest_" + RequestId, new FakeAuthorizableRequestIdContainer(), TimeSpan.FromMinutes(5));

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

            var result = await sut.Build(RequestId);

            result.RequestId.ShouldBe(RequestId);
            result.ItineraryId.ShouldBe(100);
            result.EventId.ShouldBe(200);
            result.CampaignId.ShouldBe(300);
            result.OrganizationId.ShouldBe(400);
        }
コード例 #7
0
        public async Task Build_SetsCaches_WithTheAuthorizableRequest()
        {
            var cache = new MemoryCache(new MemoryCacheOptions());

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

            var result = await sut.Build(RequestId);

            var foundInCache = cache.TryGetValue("AuthorizableRequest_" + RequestId, out IAuthorizableRequestIdContainer AuthorizableRequest);

            foundInCache.ShouldBeTrue();
            AuthorizableRequest.RequestId.ShouldBe(RequestId);
            AuthorizableRequest.ItineraryId.ShouldBe(40);
            AuthorizableRequest.EventId.ShouldBe(10);
            AuthorizableRequest.CampaignId.ShouldBe(20);
            AuthorizableRequest.OrganizationId.ShouldBe(30);
        }