ILIAS  trunk Revision v11.0_alpha-3011-gc6b235a2e85
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&MockObject

Definition at line 33 of file ilWebResourceItemsContainerTest.php.

37 : MockObject {
38 if ($internal) {
39 $class = ilWebLinkItemInternal::class;
40 } else {
41 $class = ilWebLinkItemExternal::class;
42 }
43
44 $item = $this->getMockBuilder($class)
45 ->disableOriginalConstructor()
46 ->onlyMethods(['getTitle','getLinkId'])
47 ->getMock();
48
49 $item->method('getTitle')->willReturn($title);
50 $item->method('getLinkId')->willReturn($link_id);
51
52 return $item;
53 }

◆ testSortByTitle()

ilWebResourceItemsContainerTest::testSortByTitle ( )

Definition at line 55 of file ilWebResourceItemsContainerTest.php.

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

References $container, and ilContainer\SORT_TITLE.

◆ testSortManual()

ilWebResourceItemsContainerTest::testSortManual ( )

Definition at line 96 of file ilWebResourceItemsContainerTest.php.

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

References $container, and ilContainer\SORT_MANUAL.


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