19 declare(strict_types=1);
56 require_once __DIR__ .
'/../ContainerMock.php';
64 $this->assertInstanceOf(Blocks::class,
new Blocks(
'foo', $this->mock(Container::class), $this->mock(Provide::class)));
69 $instance =
new Blocks(
'foo', $this->mock(Container::class), $this->mock(Provide::class));
71 $this->assertInstanceOf(DefaultMappings::class, $instance->defaultMappings());
72 $this->assertInstanceOf(Marshal::class, $instance->marshal());
73 $this->assertInstanceOf(SelectSetting::class, $instance->selectSettingsFrom($this->mock(KeyValueStore::class)));
74 $this->assertInstanceOf(KeyValueStore::class, $instance->readOnlyStore($this->mock(KeyValueStore::class)));
75 $this->assertInstanceOf(KeyValueStore::class, $instance->userStore($this->mock(ilObjUser::class)));
76 $this->assertInstanceOf(KeyValueStore::class, $instance->sessionStore());
77 $this->assertInstanceOf(User::class, $instance->user(
78 $this->mock(Settings::class),
79 $this->mock(UserSettings::class),
80 $this->mock(ilObjUser::class)
88 $this->mockMethod(Container::class,
'settings', [], $this->mock(ilSetting::class)),
89 $this->mock(Provide::class)
92 $this->assertInstanceOf(KeyValueStore::class, $instance->globalStore());
99 $container->expects(self::once())->method(
'ui')->willReturn($this->mock(UIServices::class));
100 $container->expects(self::once())->method(
'language')->willReturn($this->mock(ilLanguage::class));
105 $this->mock(Provide::class)
108 $this->assertInstanceOf(UI::class, $instance->ui());
113 $container = $this->mockMethod(Container::class,
'ctrl', [], $this->mock(ilCtrl::class));
116 $this->assertInstanceOf(Routing::class, $instance->routing());
124 $refinery = $this->mock(Refinery::class);
125 $transformation = $this->mock(Transformation::class);
127 $container = $this->mockTree(Container::class, [
131 'query' => $this->mockMethod(ArrayBasedRequestWrapper::class,
'retrieve', [
'bar', $transformation], $selected)
137 $result = $instance->retrieveQueryParameter(
'bar',
function (
Refinery $r) use (&$called, $transformation,
$refinery):
object {
140 return $transformation;
143 $this->assertSame($selected, $result);
144 $this->assertTrue($called);
149 $result = $this->mockTree(Result::class, [
'value' =>
'dummy']);
150 $result->expects(self::once())->method(
'map')->willReturn($result);
151 $result->expects(self::once())->method(
'except')->willReturn($result);
152 $user = $this->mock(ilObjUser::class);
154 $ldoc_user = $this->mockTree(User::class, [
155 'agreeDate' => [
'value' => $date],
156 'acceptedVersion' => $result,
159 $language = $this->mock(ilLanguage::class);
160 $language->expects(self::exactly(2))->method(
'loadLanguageModule')->withConsecutive([
'dummy lang'], [
'ldoc']);
164 $this->mockTree(Container::class, [
'language' => $language]),
165 $this->mock(Provide::class),
167 $this->assertSame($date, $d);
168 return 'formatted date';
172 $this->assertSame($user, $u);
174 },
'foo',
'dummy lang');
176 $this->assertSame([
'foo' =>
'dummy'], $proc($user));
184 $container = $this->mockTree(Container::class, [
185 'http' => [
'request' => $this->mockMethod(ServerRequestInterface::class,
'getMethod', [],
'POST')],
188 $form = $this->mock(Form::class);
189 $form->expects(self::once())->method(
'withRequest')->with(
$container->http()->request())->willReturn($form);
190 $form->expects(self::once())->method(
'getData')->willReturn(
$data);
193 $this->assertSame($form, $instance->withRequest($form,
function ($x) use (
$data, &$called) {
194 $this->assertSame(
$data, $x);
197 $this->assertTrue($called);
202 $container = $this->mockTree(Container::class, [
203 'http' => [
'request' => [
'getMethod' =>
'GET']],
206 $form = $this->mock(Form::class);
209 $result = $instance->withRequest($form, $this->fail(...));
210 $this->assertSame($form, $result);
216 $container = $this->mockTree(Container::class, []);
218 $instance =
new Blocks(
'foo',
$container, $this->mock(Provide::class), null,
function () use (&$called):
string {
224 $this->assertInstanceOf(PageContent::class, $result);
225 $this->assertTrue($called);
This file is part of ILIAS, a powerful learning management system published by ILIAS open source e-Le...
Refinery Factory $refinery