ILIAS  trunk Revision v11.0_alpha-1713-gd8962da2f67
All Data Structures Namespaces Files Functions Variables Enumerations Enumerator Modules Pages
ilWebResourceItemInternalTest.php
Go to the documentation of this file.
1 <?php
2 
19 declare(strict_types=1);
20 
22 
28 {
29  protected function getItem(string $target, ilWebLinkParameter ...$parameters): ilWebLinkItemInternal
30  {
31  $item = $this->getMockBuilder(ilWebLinkItemInternal::class)
32  ->setConstructorArgs([
33  0,
34  1,
35  'title',
36  null,
37  $target,
38  true,
39  new DateTimeImmutable(),
40  new DateTimeImmutable(),
41  $parameters
42  ])
43  ->onlyMethods(['appendParameter', 'getStaticLink'])
44  ->getMock();
45  $item->method('appendParameter')->willReturnCallback(
46  fn(string $link, string $key, string $value) => $link . '.' . $key . '.' . $value
47  );
48  $item->method('getStaticLink')->willReturnCallback(
49  fn(int $ref_id, string $type) => $type . ':' . $ref_id
50  );
51  return $item;
52  }
53 
54  public function testGetResolvedLink(): void
55  {
56  $param1 = $this->getMockBuilder(ilWebLinkParameter::class)
57  ->disableOriginalConstructor()
58  ->onlyMethods(['appendToLink'])
59  ->getMock();
60  $param1->expects($this->once())
61  ->method('appendToLink')
62  ->with('tar:13')
63  ->willReturn('tar:13?param1');
64  $param2 = $this->getMockBuilder(ilWebLinkParameter::class)
65  ->disableOriginalConstructor()
66  ->onlyMethods(['appendToLink'])
67  ->getMock();
68  $param2->expects($this->once())
69  ->method('appendToLink')
70  ->with('tar:13?param1')
71  ->willReturn('tar:13?param1&param2');
72 
73  $item = $this->getItem('tar|13', $param1, $param2);
74  $this->assertSame(
75  'tar:13?param1&param2',
76  $item->getResolvedLink(true)
77  );
78  $this->assertSame(
79  'tar:13',
80  $item->getResolvedLink(false)
81  );
82 
83  $item = $this->getItem('wpage|14', $param1, $param2);
84  $this->assertSame(
85  'wiki:0.target.wiki_wpage_14',
86  $item->getResolvedLink(false)
87  );
88 
89  $item = $this->getItem('term|15', $param1, $param2);
90  $this->assertSame(
91  'git:0.target.git_15',
92  $item->getResolvedLink(false)
93  );
94 
95  $item = $this->getItem('page|16', $param1, $param2);
96  $this->assertSame(
97  'pg:16',
98  $item->getResolvedLink(false)
99  );
100  }
101 }
getItem(string $target, ilWebLinkParameter ... $parameters)
Immutable class for parameters attached to Web Link items.
while($session_entry=$r->fetchRow(ilDBConstants::FETCHMODE_ASSOC)) return null
$ref_id
Definition: ltiauth.php:65
Immutable class for internal Web Link items.
Unit tests for ilWebLinkItemInternal.