19 declare(strict_types=1);
    34 require_once __DIR__ . 
'/bootstrap.php';
    42         $this->assertInstanceOf(Consumer::class, 
new Consumer($this->mock(Container::class)));
    52         $by_trying = $this->mockTree(ByTrying::class, [
'transform' => 
false]);
    53         $settings = $this->mockMethod(ilSetting::class, 
'get', [
'dpro_enabled', 
''], 
'false');
    55         $container = $this->mockTree(Container::class, [
    56             'settings' => $settings,
    57             'refinery' => [
'byTrying' => $by_trying],
    59         $container->method(
'offsetGet')->with(
'ilObjDataCache')->willReturn($this->mock(ilObjectDataCache::class));
    61         $slot = $this->mock(UseSlot::class);
    62         $slot->expects(self::once())->method(
'hasDocuments')->willReturn($slot);
    63         $slot->expects(self::once())->method(
'hasHistory')->willReturn($slot);
    64         $slot->expects(self::once())->method(
'hasPublicApi')->willReturn($slot);
    65         $slot->expects(self::once())->method(
'hasPublicPage')->willReturn($slot);
    69         $this->assertSame($slot, $instance->uses($slot, $this->mock(LazyProvide::class)));
    74         $by_trying = $this->mockTree(ByTrying::class, [
'transform' => 
true]);
    75         $settings = $this->mock(ilSetting::class);
    76         $consecutive = [
'dpro_enabled', 
'dpro_no_acceptance'];
    77         $settings->method(
'get')->with(
    78             $this->callback(
function ($value) use (&$consecutive) {
    79                 $this->assertSame(array_shift($consecutive), $value);
    82             $this->identicalTo(
'')
    83         )->willReturn(
'true');
    85         $container = $this->mockTree(Container::class, [
    86             'settings' => $settings,
    87             'refinery' => [
'byTrying' => $by_trying],
    88             'ctrl' => $this->mock(ilCtrl::class),
    90         $container->method(
'offsetGet')->with(
'ilObjDataCache')->willReturn($this->mock(ilObjectDataCache::class));
    92         $slot = $this->mock(UseSlot::class);
    93         $slot->expects(self::once())->method(
'hasDocuments')->willReturn($slot);
    94         $slot->expects(self::once())->method(
'hasHistory')->willReturn($slot);
    95         $slot->expects(self::once())->method(
'showOnLoginPage')->willReturn($slot);
    96         $slot->expects(self::once())->method(
'showInFooter')->willReturn($slot);
    97         $slot->expects(self::once())->method(
'hasPublicPage')->willReturn($slot);
    98         $slot->expects(self::once())->method(
'hasPublicApi')->willReturn($slot);
   102         $this->assertSame($slot, $instance->uses($slot, $this->mock(LazyProvide::class)));
   107         $by_trying = $this->mock(ByTrying::class);
   108         $by_trying->method(
'transform')->willReturnOnConsecutiveCalls(
true, 
false);
   110         $settings = $this->mock(ilSetting::class);
   111         $consecutive = [
'dpro_enabled', 
'dpro_no_acceptance'];
   112         $settings->method(
'get')->with(
   113             $this->callback(
function ($value) use (&$consecutive) {
   114                 $this->assertSame(array_shift($consecutive), $value);
   117             $this->identicalTo(
'')
   118         )->willReturnOnConsecutiveCalls(
'true', 
'false');
   120         $container = $this->mockTree(Container::class, [
   121             'settings' => $settings,
   122             'refinery' => [
'byTrying' => $by_trying],
   123             'ctrl' => $this->mock(ilCtrl::class),
   125         $container->method(
'offsetGet')->with(
'ilObjDataCache')->willReturn($this->mock(ilObjectDataCache::class));
   127         $slot = $this->mock(UseSlot::class);
   128         $slot->expects(self::once())->method(
'hasDocuments')->willReturn($slot);
   129         $slot->expects(self::once())->method(
'hasHistory')->willReturn($slot);
   130         $slot->expects(self::once())->method(
'showOnLoginPage')->willReturn($slot);
   131         $slot->expects(self::once())->method(
'canWithdraw')->willReturn($slot);
   132         $slot->expects(self::once())->method(
'hasAgreement')->willReturn($slot);
   133         $slot->expects(self::once())->method(
'showInFooter')->willReturn($slot);
   134         $slot->expects(self::once())->method(
'onSelfRegistration')->willReturn($slot);
   135         $slot->expects(self::once())->method(
'hasOnlineStatusFilter')->willReturn($slot);
   136         $slot->expects(self::once())->method(
'hasUserManagementFields')->willReturn($slot);
   137         $slot->expects(self::once())->method(
'hasPublicApi')->willReturn($slot);
   138         $slot->expects(self::once())->method(
'canReadInternalMails')->willReturn($slot);
   139         $slot->expects(self::once())->method(
'canUseSoapApi')->willReturn($slot);
   143         $this->assertSame($slot, $instance->uses($slot, $this->mock(LazyProvide::class)));
 testUsesWithoutAcceptance()