19 declare(strict_types=1);
36 $container = $this->getMockBuilder(Container::class)->disableOriginalConstructor()->getMock();
37 $readable = $this->getMockBuilder(Readable::class)->disableOriginalConstructor()->getMock();
43 $container = $this->getMockBuilder(Container::class)->disableOriginalConstructor()->getMock();
44 $readable = $this->getMockBuilder(Readable::class)->disableOriginalConstructor()->getMock();
48 $this->assertTrue($instance->isPermitted(
'/data/some/path/file.pdf')->isError());
53 $container = $this->getMockBuilder(Container::class)->disableOriginalConstructor()->getMock();
54 $readable = $this->getMockBuilder(Readable::class)->disableOriginalConstructor()->getMock();
58 $object_id_of_test_id =
function () :
void {
59 $this->assertFalse(
'Should not be called.');
62 $this->assertFalse($instance->isPermitted(
'/data/assessment/tst_0/ignored/file.mp3')->value());
68 $container = $this->getMockBuilder(Container::class)->disableOriginalConstructor()->getMock();
69 $readable = $this->getMockBuilder(Readable::class)->disableOriginalConstructor()->getMock();
71 $object_id_of_test_id =
function (
int $test) use (&$called) :
int {
72 $this->assertEquals(8,
$test);
79 $this->assertFalse($instance->isPermitted(
'/data/assessment/tst_8/ignored/file.mp3')->value());
80 $this->assertTrue($called);
87 $container = $this->getMockBuilder(Container::class)->disableOriginalConstructor()->getMock();
89 $readable = $this->getMockBuilder(Readable::class)->disableOriginalConstructor()->getMock();
90 $readable->expects(self::once())->method(
'references')->with([678])->willReturn(
false);
92 $object_id_of_test_id =
function (
int $test) use (&$called) :
int {
93 $this->assertEquals(8,
$test);
98 $references_of =
function (
int $object_id) : array {
99 $this->assertEquals(934, $object_id);
105 $this->assertFalse($instance->isPermitted(
'/data/assessment/tst_8/ignored/file.mp3')->value());
106 $this->assertTrue($called);
113 $user = $this->getMockBuilder(ilObjUser::class)->disableOriginalConstructor()->getMock();
114 $user->expects(self::never())->method(
'getId');
115 $user->expects(self::once())->method(
'isAnonymous')->willReturn(
true);
117 $container = $this->getMockBuilder(Container::class)->disableOriginalConstructor()->getMock();
118 $container->expects(self::once())->method(
'user')->willReturn($user);
120 $readable = $this->getMockBuilder(Readable::class)->disableOriginalConstructor()->getMock();
121 $readable->expects(self::once())->method(
'references')->with([678])->willReturn(
true);
123 $object_id_of_test_id =
function (
int $test) use (&$called):
int {
124 $this->assertEquals(8,
$test);
129 $references_of =
function (
int $object_id) : array {
130 $this->assertEquals(934, $object_id);
134 $session =
function (
string $key) : ?array {
142 $this->assertFalse($instance->isPermitted(
'/data/assessment/tst_8/ignored/file.mp3')->value());
143 $this->assertTrue($called);
150 $statement = $this->getMockBuilder(ilDBStatement::class)->disableOriginalConstructor()->getMock();
152 $database = $this->getMockBuilder(ilDBInterface::class)->disableOriginalConstructor()->getMock();
153 $database->expects(self::once())->method(
'queryF')->willReturnCallback(
function (
string $query, array $types, array $values) use ($statement) :
ilDBStatement {
154 $this->assertEquals([8389,
'file.mp3',
'Random access code.', 8], $values);
158 $database->expects(self::once())->method(
'numRows')->with($statement)->willReturn(0);
160 $user = $this->getMockBuilder(ilObjUser::class)->disableOriginalConstructor()->getMock();
161 $user->expects(self::once())->method(
'getId')->willReturn(8389);
162 $user->expects(self::once())->method(
'isAnonymous')->willReturn(
true);
164 $readable = $this->getMockBuilder(Readable::class)->disableOriginalConstructor()->getMock();
165 $readable->expects(self::once())->method(
'references')->with([678])->willReturn(
true);
167 $container = $this->getMockBuilder(Container::class)->disableOriginalConstructor()->getMock();
168 $container->method(
'user')->willReturn($user);
169 $container->method(
'database')->willReturn($database);
171 $object_id_of_test_id =
function (
int $test) use (&$called) :
int {
172 $this->assertEquals(8,
$test);
177 $references_of =
function (
int $object_id) : array {
178 $this->assertEquals(934, $object_id);
182 $session =
function (
string $key) : ?array {
185 return [8 =>
'Random access code.'];
190 $this->assertFalse($instance->isPermitted(
'/data/assessment/tst_8/ignored/file.mp3')->value());
191 $this->assertTrue($called);
198 $statement = $this->getMockBuilder(ilDBStatement::class)->disableOriginalConstructor()->getMock();
200 $database = $this->getMockBuilder(ilDBInterface::class)->disableOriginalConstructor()->getMock();
201 $database->expects(self::once())->method(
'queryF')->willReturnCallback(
function (
string $query, array $types, array $values) use ($statement) :
ilDBStatement {
202 $this->assertEquals([8389,
'file.mp3',
'Random access code.', 8], $values);
206 $database->expects(self::once())->method(
'numRows')->with($statement)->willReturn(1);
208 $user = $this->getMockBuilder(ilObjUser::class)->disableOriginalConstructor()->getMock();
209 $user->expects(self::once())->method(
'getId')->willReturn(8389);
210 $user->expects(self::once())->method(
'isAnonymous')->willReturn(
true);
212 $readable = $this->getMockBuilder(Readable::class)->disableOriginalConstructor()->getMock();
213 $readable->expects(self::once())->method(
'references')->with([678])->willReturn(
true);
215 $container = $this->getMockBuilder(Container::class)->disableOriginalConstructor()->getMock();
216 $container->method(
'user')->willReturn($user);
217 $container->method(
'database')->willReturn($database);
219 $object_id_of_test_id =
function (
int $test) use (&$called) :
int {
220 $this->assertEquals(8,
$test);
225 $references_of =
function (
int $object_id) : array {
226 $this->assertEquals(934, $object_id);
230 $session =
function (
string $key) : ?array {
233 return [8 =>
'Random access code.'];
238 $this->assertTrue($instance->isPermitted(
'/data/assessment/tst_8/ignored/file.mp3')->value());
239 $this->assertTrue($called);
245 $checkResultsAccessCalled =
false;
247 $statement = $this->getMockBuilder(ilDBStatement::class)->disableOriginalConstructor()->getMock();
249 $database = $this->getMockBuilder(ilDBInterface::class)->disableOriginalConstructor()->getMock();
250 $database->expects(self::once())->method(
'queryF')->willReturnCallback(
function (
string $query, array $types, array $values) use ($statement) :
ilDBStatement {
251 $this->assertEquals([
'assFileUpload', 8], $values);
255 $database->expects(self::once())->method(
'fetchAssoc')->with($statement)->willReturn([
256 'active_fi' =>
'11111',
257 'value1' =>
'file.mp3',
260 $user = $this->getMockBuilder(ilObjUser::class)->disableOriginalConstructor()->getMock();
261 $user->method(
'getId')->willReturn(8389);
262 $user->expects(self::once())->method(
'isAnonymous')->willReturn(
false);
264 $readable = $this->getMockBuilder(Readable::class)->disableOriginalConstructor()->getMock();
265 $readable->expects(self::once())->method(
'references')->with([678])->willReturn(
true);
267 $container = $this->getMockBuilder(Container::class)->disableOriginalConstructor()->getMock();
268 $container->method(
'user')->willReturn($user);
269 $container->method(
'database')->willReturn($database);
271 $object_id_of_test_id =
function (
int $test) use (&$called) :
int {
272 $this->assertEquals(8,
$test);
277 $references_of =
function (
int $object_id) : array {
278 $this->assertEquals(934, $object_id);
282 $session =
function (
string $key) : ?array {
285 return [8 =>
'Random access code.'];
288 $checkResultsAccess =
function (
int $reference,
int $test,
int $active_id) use (&$checkResultsAccessCalled) :
bool {
289 $checkResultsAccessCalled =
true;
290 $this->assertEquals(678, $reference);
291 $this->assertEquals(8, $test);
292 $this->assertEquals(11111, $active_id);
299 $this->assertTrue($instance->isPermitted(
'/data/assessment/tst_8/ignored/file.mp3')->value());
300 $this->assertTrue($called);
301 $this->assertTrue($checkResultsAccessCalled);
testAnonymousWithValidAccessCode()
testAnonymousWithoutAccessCode()
testFalseWithZeroAsTestId()
testUserWhichCanAccessTheTestResults()
const ACCESS_CODE_SESSION_INDEX
testAnonymousWithInvalidAccessCode()
testFalseWithInvalidTestId()