19declare(strict_types=1);
 
   24use Psr\Http\Message\ServerRequestInterface;
 
   36        $ctrl = $this->createMock(ilCtrlInterface::class);
 
   39            ->method(
'getCmdClass')
 
   40            ->willReturn(ilDashboardGUI::class);
 
   47            ->expects($this->once())
 
   48            ->method(
'redirectToURL');
 
   54            ->getMockBuilder(ilObjUser::class)
 
   55            ->disableOriginalConstructor()
 
   56            ->onlyMethods([
'hasToAcceptTermsOfService', 
'checkTimeLimit', 
'hasToAcceptTermsOfServiceInSession'])
 
   60            ->expects($this->atLeast(1))
 
   61            ->method(
'hasToAcceptTermsOfService')
 
   65            ->method(
'checkTimeLimit')
 
   69            ->expects($this->atLeast(1))
 
   70            ->method(
'hasToAcceptTermsOfServiceInSession')
 
   76        $request = $this->createMock(ServerRequestInterface::class);
 
   77        $http = $this->createMock(GlobalHttpState::class);
 
   81            ->willReturn($request);
 
   86        $evaluator = $this->createMock(ilTermsOfServiceDocumentEvaluation::class);
 
   91        $criterionFactory = $this->createMock(ilTermsOfServiceCriterionTypeFactoryInterface::class);
 
   92        $dic[
'tos.criteria.type.factory'] = 
static function () use (
 
   95            return $criterionFactory;
 
  100        $this->assertTrue($requestInterceptor->shouldInterceptRequest());
 
  101        $this->assertTrue($requestInterceptor->shouldStoreRequestTarget());
 
  102        $requestInterceptor->execute();
 
  109        $ctrl = $this->createMock(ilCtrlInterface::class);
 
  112            ->expects($this->atLeast(1))
 
  113            ->method(
'getCmdClass')
 
  114            ->willReturn(ilStartUpGUI::class);
 
  117            ->expects($this->atLeast(1))
 
  119            ->willReturn(
'getacceptance');
 
  125            ->getMockBuilder(ilObjUser::class)
 
  126            ->disableOriginalConstructor()
 
  127            ->onlyMethods([
'hasToAcceptTermsOfService', 
'checkTimeLimit', 
'hasToAcceptTermsOfServiceInSession'])
 
  131            ->method(
'hasToAcceptTermsOfService')
 
  135            ->method(
'checkTimeLimit')
 
  139            ->method(
'hasToAcceptTermsOfServiceInSession')
 
  145        $request = $this->createMock(ServerRequestInterface::class);
 
  146        $http = $this->createMock(GlobalHttpState::class);
 
  150            ->willReturn($request);
 
  155        $evaluator = $this->createMock(ilTermsOfServiceDocumentEvaluation::class);
 
  160        $criterionFactory = $this->createMock(ilTermsOfServiceCriterionTypeFactoryInterface::class);
 
  161        $dic[
'tos.criteria.type.factory'] = 
static function () use (
 
  164            return $criterionFactory;
 
  169        $this->assertFalse($requestInterceptor->shouldInterceptRequest());
 
  175            ->getMockBuilder(ilObjUser::class)
 
  176            ->disableOriginalConstructor()
 
  177            ->onlyMethods([
'hasToAcceptTermsOfService', 
'checkTimeLimit', 
'hasToAcceptTermsOfServiceInSession'])
 
  181            ->method(
'hasToAcceptTermsOfService')
 
  185            ->method(
'checkTimeLimit')
 
  189            ->method(
'hasToAcceptTermsOfServiceInSession')
 
  193            ->getMockBuilder(ilObjUser::class)
 
  194            ->disableOriginalConstructor()
 
  195            ->onlyMethods([
'hasToAcceptTermsOfService', 
'checkTimeLimit', 
'hasToAcceptTermsOfServiceInSession'])
 
  199            ->method(
'hasToAcceptTermsOfService')
 
  203            ->method(
'checkTimeLimit')
 
  207            ->method(
'hasToAcceptTermsOfServiceInSession')
 
  211            ->getMockBuilder(ilObjUser::class)
 
  212            ->disableOriginalConstructor()
 
  213            ->onlyMethods([
'hasToAcceptTermsOfService', 
'checkTimeLimit', 
'hasToAcceptTermsOfServiceInSession'])
 
  217            ->method(
'hasToAcceptTermsOfService')
 
  221            ->method(
'checkTimeLimit')
 
  225            ->method(
'hasToAcceptTermsOfServiceInSession')
 
  229            'User 1' => [$user1],
 
  230            'User 2' => [$user2],
 
  231            'User 3' => [$user3],
 
  242            ->getMockBuilder(ilLogger::class)
 
  243            ->disableOriginalConstructor()
 
  246        $loggingServices = $this
 
  247            ->getMockBuilder(LoggingServices::class)
 
  248            ->disableOriginalConstructor()
 
  249            ->onlyMethods([
'root', 
'__call'])
 
  253            ->willReturn($logger);
 
  256            ->willReturn($logger);
 
  263                $this->loggingServices = $loggingServices;
 
  269                return $this->loggingServices;
 
  273        $ctrl = $this->createMock(ilCtrlInterface::class);
 
  276            ->method(
'getCmdClass')
 
  277            ->willReturn(ilDashboardGUI::class);
 
  286        $request = $this->createMock(ServerRequestInterface::class);
 
  287        $http = $this->createMock(GlobalHttpState::class);
 
  291            ->willReturn($request);
 
  296        $evaluator = $this->createMock(ilTermsOfServiceDocumentEvaluation::class);
 
  301        $criterionFactory = $this->createMock(ilTermsOfServiceCriterionTypeFactoryInterface::class);
 
  302        $dic[
'tos.criteria.type.factory'] = 
static function () use (
 
  305            return $criterionFactory;
 
  309            ->getMockBuilder(ilTermsOfServiceHelper::class)
 
  310            ->disableOriginalConstructor()
 
  313            ->method(
'hasToResignAcceptance')
 
  325        $this->assertFalse($requestInterceptor->shouldInterceptRequest());
 
  334            ->getMockBuilder(ilLogger::class)
 
  335            ->disableOriginalConstructor()
 
  338        $loggingServices = $this
 
  339            ->getMockBuilder(LoggingServices::class)
 
  340            ->disableOriginalConstructor()
 
  341            ->onlyMethods([
'root', 
'__call'])
 
  345            ->willReturn($logger);
 
  348            ->willReturn($logger);
 
  355                $this->loggingServices = $loggingServices;
 
  361                return $this->loggingServices;
 
  365        $ctrl = $this->createMock(ilCtrlInterface::class);
 
  368            ->method(
'getCmdClass')
 
  369            ->willReturn(ilDashboardGUI::class);
 
  378        $request = $this->createMock(ServerRequestInterface::class);
 
  379        $http = $this->createMock(GlobalHttpState::class);
 
  383            ->willReturn($request);
 
  388        $evaluator = $this->createMock(ilTermsOfServiceDocumentEvaluation::class);
 
  393        $criterionFactory = $this->createMock(ilTermsOfServiceCriterionTypeFactoryInterface::class);
 
  394        $dic[
'tos.criteria.type.factory'] = 
static function () use (
 
  397            return $criterionFactory;
 
  401            ->getMockBuilder(ilTermsOfServiceHelper::class)
 
  402            ->disableOriginalConstructor()
 
  405            ->method(
'hasToResignAcceptance')
 
  408            ->method(
'resetAcceptance');
 
  414            ->getMockBuilder(ilObjUser::class)
 
  415            ->disableOriginalConstructor()
 
  416            ->onlyMethods([
'hasToAcceptTermsOfService', 
'checkTimeLimit', 
'hasToAcceptTermsOfServiceInSession'])
 
  419            ->method(
'hasToAcceptTermsOfService')
 
  422            ->method(
'checkTimeLimit')
 
  425            ->method(
'hasToAcceptTermsOfServiceInSession')
 
  433        $this->assertTrue($requestInterceptor->shouldInterceptRequest());
 
Customizing of pimple-DIC for ILIAS.
 
Provides fluid interface to LoggingServices.
 
Class ilTermsOfServiceAcceptanceStartUpStep.
 
Class ilTermsOfServiceBaseTest.
 
Class ilTermsOfServiceHelper.
 
Class ilTermsOfServiceStartUpStepTest.
 
testUserShouldNotBeForcedToAcceptTermsOfServiceWhenAlreadyDone(ilObjUser $user)
@dataProvider userProvider
 
testUserShouldNotBeForcedToAcceptTermsOfServiceWhenDoingItAlreadyInCurrentRequest()
 
testUserShouldBeForcedToAcceptTermsOfServiceWhenNotDoingItYetInCurrentRequest()
 
testUserShouldBeForcedToResignTermsOfService()
@dataProvider userProvider
 
Interface GlobalHttpState.
 
This file is part of ILIAS, a powerful learning management system published by ILIAS open source e-Le...
 
Interface ilTermsOfServiceCriterionTypeFactoryInterface.
 
Interface ilTermsOfServiceDocumentEvaluation.
 
__construct(Container $dic, ilPlugin $plugin)
@inheritDoc