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); }
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); }