public async Task Unauthenticated_User_Is_Not_Authorized()
        {
            AuthorizationHandlerContext authHandlerContext = CreateAuthorizationHandlerContext();
            BackOfficeHandler           sut = CreateHandler();

            await sut.HandleAsync(authHandlerContext);

            Assert.IsFalse(authHandlerContext.HasSucceeded);
        }
        public async Task Authenticated_User_Is_Authorized_When_Approved_And_Approval_Required()
        {
            AuthorizationHandlerContext authHandlerContext = CreateAuthorizationHandlerContext(requireApproval: true);
            BackOfficeHandler           sut = CreateHandler(currentUserIsAuthenticated: true, currentUserIsApproved: true);

            await sut.HandleAsync(authHandlerContext);

            Assert.IsTrue(authHandlerContext.HasSucceeded);
        }
        public async Task Runtime_State_Upgrade_Is_Authorized()
        {
            AuthorizationHandlerContext authHandlerContext = CreateAuthorizationHandlerContext();
            BackOfficeHandler           sut = CreateHandler(runtimeLevel: RuntimeLevel.Upgrade);

            await sut.HandleAsync(authHandlerContext);

            Assert.IsTrue(authHandlerContext.HasSucceeded);
        }