ILIAS  trunk Revision v13.0_alpha-62-g3b72d83f2e5
ilWebResourceItemsContainerTest Class Reference

Unit tests for ilWebLinkItemsContainer. More...

+ Inheritance diagram for ilWebResourceItemsContainerTest:
+ Collaboration diagram for ilWebResourceItemsContainerTest:

Public Member Functions

 testSortByTitle ()
 
 testSortManual ()
 

Protected Member Functions

 createItemMock (bool $internal, string $title, int $link_id)
 

Detailed Description

Member Function Documentation

◆ createItemMock()

ilWebResourceItemsContainerTest::createItemMock ( bool  $internal,
string  $title,
int  $link_id 
)
protected
Returns
ilWebLinkItem&Stub

Definition at line 33 of file ilWebResourceItemsContainerTest.php.

37 : Stub {
38 if ($internal) {
39 $class = ilWebLinkItemInternal::class;
40 } else {
41 $class = ilWebLinkItemExternal::class;
42 }
43
44 $item = $this->createStub($class);
45
46 $item->method('getTitle')->willReturn($title);
47 $item->method('getLinkId')->willReturn($link_id);
48
49 return $item;
50 }

◆ testSortByTitle()

ilWebResourceItemsContainerTest::testSortByTitle ( )

Definition at line 52 of file ilWebResourceItemsContainerTest.php.

52 : void
53 {
54 $item1 = $this->createItemMock(false, 'c', 1);
55 $item2 = $this->createItemMock(true, 'b', 2);
56 $item3 = $this->createItemMock(true, 'a', 3);
57 $item4 = $this->createItemMock(false, 'e', 4);
58 $item5 = $this->createItemMock(false, 'd', 5);
59
60 $container = $this->getMockBuilder(ilWebLinkItemsContainer::class)
61 ->setConstructorArgs([
62 13,
63 [$item1, $item2, $item3, $item4, $item5]
64 ])
65 ->onlyMethods(['lookupSortMode', 'lookupManualPositions', 'sortArray'])
66 ->getMock();
67 $container->expects($this->once())
68 ->method('lookupSortMode')
69 ->with(13)
70 ->willReturn(ilContainer::SORT_TITLE);
71 $container->expects($this->never())
72 ->method('lookupManualPositions');
73 $container->expects($this->once())
74 ->method('sortArray')
75 ->willReturn(
76 [
77 3 => ['title' => 'a', 'item' => $item3],
78 2 => ['title' => 'b', 'item' => $item2],
79 1 => ['title' => 'c', 'item' => $item1],
80 5 => ['title' => 'd', 'item' => $item5],
81 4 => ['title' => 'e', 'item' => $item4]
82 ]
83 );
84
85 $container_after_sorting = $container->sort();
86 $this->assertSame($container, $container_after_sorting);
87 $this->assertSame(
88 [$item3, $item2, $item1, $item5, $item4],
89 $container_after_sorting->getItems()
90 );
91 }
createItemMock(bool $internal, string $title, int $link_id)
$container
@noRector
Definition: wac.php:39

References $container, and ilContainer\SORT_TITLE.

◆ testSortManual()

ilWebResourceItemsContainerTest::testSortManual ( )

Definition at line 93 of file ilWebResourceItemsContainerTest.php.

93 : void
94 {
95 $item1 = $this->createItemMock(false, 'c', 1);
96 $item2 = $this->createItemMock(true, 'b', 2);
97 $item3 = $this->createItemMock(true, 'a', 3);
98 $item4 = $this->createItemMock(false, 'e', 4);
99 $item5 = $this->createItemMock(false, 'd', 5);
100
101 $container = $this->getMockBuilder(ilWebLinkItemsContainer::class)
102 ->setConstructorArgs([
103 13,
104 [$item1, $item2, $item3, $item4, $item5]
105 ])
106 ->onlyMethods(['lookupSortMode', 'lookupManualPositions', 'sortArray'])
107 ->getMock();
108 $container->expects($this->once())
109 ->method('lookupSortMode')
110 ->with(13)
111 ->willReturn(ilContainer::SORT_MANUAL);
112 $container->expects($this->once())
113 ->method('lookupManualPositions')
114 ->with(13)
115 ->willReturn([1 => 10, 2 => 30, 3 => 20]);
116 $container->expects($this->exactly(2))
117 ->method('sortArray')
118 ->willReturnOnConsecutiveCalls(
119 [
120 1 => ['position' => 10, 'item' => $item1],
121 3 => ['position' => 20, 'item' => $item3],
122 2 => ['position' => 30, 'item' => $item2]
123 ],
124 [
125 5 => ['title' => 'd', 'item' => $item5],
126 4 => ['title' => 'e', 'item' => $item4]
127 ]
128 );
129
130 $container_after_sorting = $container->sort();
131 $this->assertSame($container, $container_after_sorting);
132 $this->assertSame(
133 [$item1, $item3, $item2, $item5, $item4],
134 $container_after_sorting->getItems()
135 );
136 }

References $container, and ilContainer\SORT_MANUAL.


The documentation for this class was generated from the following file: