コード例 #1
0
        public async Task ThenChecksIfEmployerIsAuthorised(
            [Frozen] Mock <IEmployerAccountAuthorisationHandler> employerAccountAuthorizationHandler,
            HasProviderOrEmployerAccountRequirement requirement,
            AuthorizationFilterContext contextFilter,
            HasProviderOrEmployerAccountAuthorisationHandler handler)
        {
            //Assign
            var context = new AuthorizationHandlerContext(new [] { requirement }, ClaimsPrincipal.Current, contextFilter);
            var filter  = context.Resource as AuthorizationFilterContext;

            filter.RouteData.Values.Add(RouteValues.EmployerAccountId, 1234);

            //Act
            await handler.HandleAsync(context);

            //Assert
            employerAccountAuthorizationHandler.Verify(h => h.IsEmployerAuthorised(context, false), Times.Once);
        }
コード例 #2
0
        public async Task ThenFailsCheckIfEmployerIsNotAuthorised(
            [Frozen] Mock <IEmployerAccountAuthorisationHandler> employerAccountAuthorizationHandler,
            HasProviderOrEmployerAccountRequirement requirement,
            AuthorizationFilterContext contextFilter,
            HasProviderOrEmployerAccountAuthorisationHandler handler)
        {
            //Assign
            var context = new AuthorizationHandlerContext(new [] { requirement }, ClaimsPrincipal.Current, contextFilter);
            var filter  = context.Resource as AuthorizationFilterContext;

            filter.RouteData.Values.Add(RouteValues.EmployerAccountId, 1234);

            employerAccountAuthorizationHandler
            .Setup(h => h.IsEmployerAuthorised(It.IsAny <AuthorizationHandlerContext>(), It.IsAny <bool>()))
            .Returns(false);

            //Act
            await handler.HandleAsync(context);

            //Assert
            Assert.IsFalse(context.HasSucceeded);
        }