ILIAS  release_8 Revision v8.24
ILIAS\ResourceStorage\Resource\CollectionTest Class Reference

Class CollectionTest. More...

+ Inheritance diagram for ILIAS\ResourceStorage\Resource\CollectionTest:
+ Collaboration diagram for ILIAS\ResourceStorage\Resource\CollectionTest:

Public Member Functions

 testCreateCollection ()
 
 testGetCollectionOfUser ()
 
 testGetCollectionOfWrongUser ()
 
 testIsIn ()
 
 testAddAndRemove ()
 
- Public Member Functions inherited from ILIAS\ResourceStorage\AbstractBaseTest
 getDummyStream ()
 

Data Fields

 $collection_builder
 
 $preloader
 
 $collections
 
const DUMMY_RCID = 'dummy-rcid'
 

Protected Member Functions

 setUp ()
 @inheritDoc More...
 
 arrayAsGenerator (array $array)
 
- Protected Member Functions inherited from ILIAS\ResourceStorage\AbstractBaseResourceBuilderTest
 setUp ()
 @inheritDoc More...
 
 mockResourceAndRevision (string $expected_file_name, string $expected_mime_type, int $expected_size, int $expected_version_number, int $expected_owner_id)
 
- Protected Member Functions inherited from ILIAS\ResourceStorage\AbstractBaseTest
 setUp ()
 @inheritDoc More...
 
 getDummyUploadResult (string $file_name, string $mime_type, int $size)
 
 getDummyFileRevision (ResourceIdentification $id)
 

Protected Attributes

CollectionIdentificationGenerator $rcid_generator
 
- Protected Attributes inherited from ILIAS\ResourceStorage\AbstractBaseResourceBuilderTest
 $revision
 
 $information
 
 $upload_result
 
 $information_repository
 
 $resource_repository
 
 $collection_repository
 
 $revision_repository
 
 $storage_handler
 
ILIAS ResourceStorage Resource ResourceBuilder $resource_builder
 
 $stakeholder_repository
 
 $locking
 
 $storage_handler_factory
 
 $stream_access
 
Repositories $repositories
 
- Protected Attributes inherited from ILIAS\ResourceStorage\AbstractBaseTest
ILIAS ResourceStorage DummyIDGenerator $id_generator
 
 $db_mock
 

Detailed Description

Class CollectionTest.

Author
Fabian Schmid fabia.nosp@m.n@sr.nosp@m..solu.nosp@m.tion.nosp@m.s

Definition at line 36 of file CollectionTest.php.

Member Function Documentation

◆ arrayAsGenerator()

ILIAS\ResourceStorage\Resource\CollectionTest::arrayAsGenerator ( array  $array)
protected

Definition at line 219 of file CollectionTest.php.

219 : \Generator
220 {
221 foreach ($array as $item) {
222 yield $item;
223 }
224 }

Referenced by ILIAS\ResourceStorage\Resource\CollectionTest\testGetCollectionOfUser(), and ILIAS\ResourceStorage\Resource\CollectionTest\testGetCollectionOfWrongUser().

+ Here is the caller graph for this function:

◆ setUp()

ILIAS\ResourceStorage\Resource\CollectionTest::setUp ( )
protected

@inheritDoc

Reimplemented from ILIAS\ResourceStorage\AbstractBaseResourceBuilderTest.

Definition at line 54 of file CollectionTest.php.

54 : void
55 {
56 parent::setUp();
57 $this->rcid_generator = new DummyIDGenerator(self::DUMMY_RCID);
58
59 $this->collection_builder = new CollectionBuilder(
60 $this->collection_repository,
61 $this->rcid_generator
62 );
63
64 $this->preloader = $this->getMockBuilder(RepositoryPreloader::class)
65 ->disableOriginalConstructor()
66 ->getMock();
67
68 $this->resource_builder = new ResourceBuilder(
69 $this->storage_handler_factory,
70 $this->repositories,
71 $this->locking,
72 $this->stream_access
73 );
74
75 $this->collections = new Collections(
76 $this->resource_builder,
77 $this->collection_builder,
78 $this->preloader
79 );
80 }

◆ testAddAndRemove()

ILIAS\ResourceStorage\Resource\CollectionTest::testAddAndRemove ( )

Definition at line 175 of file CollectionTest.php.

175 : void
176 {
177 $collection = new ResourceCollection(
178 new ResourceCollectionIdentification(self::DUMMY_RCID),
180 ''
181 );
182
183 $this->assertEquals(self::DUMMY_RCID, $collection->getIdentification()->serialize());
184 $this->assertEquals(ResourceCollection::NO_SPECIFIC_OWNER, $collection->getOwner());
185 $this->assertFalse($collection->hasSpecificOwner());
186 $this->assertEquals('default', $collection->getTitle());
187
188 $rid_one = new ResourceIdentification('rid_one');
189 $rid_two = new ResourceIdentification('rid_two');
190
191 $this->assertEquals(0, $collection->count());
192
193 $collection->add($rid_one);
194 $this->assertTrue($collection->isIn($rid_one));
195 $this->assertEquals(1, $collection->count());
196
197 $collection->add($rid_two);
198 $this->assertTrue($collection->isIn($rid_one));
199 $this->assertTrue($collection->isIn($rid_two));
200 $this->assertEquals(2, $collection->count());
201
202 $collection->remove($rid_one);
203 $this->assertFalse($collection->isIn($rid_one));
204 $this->assertTrue($collection->isIn($rid_two));
205 $this->assertEquals(1, $collection->count());
206
207 $collection->remove($rid_two);
208 $this->assertFalse($collection->isIn($rid_one));
209 $this->assertFalse($collection->isIn($rid_two));
210 $this->assertEquals(0, $collection->count());
211
212 $collection->clear();
213 $this->assertFalse($collection->isIn($rid_one));
214 $this->assertFalse($collection->isIn($rid_two));
215 $this->assertEquals(0, $collection->count());
216 }

References ILIAS\ResourceStorage\Collection\ResourceCollection\NO_SPECIFIC_OWNER.

◆ testCreateCollection()

ILIAS\ResourceStorage\Resource\CollectionTest::testCreateCollection ( )

Definition at line 83 of file CollectionTest.php.

83 : void
84 {
85 $identifiation = $this->rcid_generator->getUniqueResourceCollectionIdentification();
86 $this->collection_repository->method('blank')->with($identifiation)->willReturn(
87 new ResourceCollection($identifiation, -1, '')
88 );
89
90 $id = $this->collections->id();
91
92 $this->assertInstanceOf(ResourceCollectionIdentification::class, $id);
93 $this->assertNotInstanceOf(MockObject::class, $id);
94 $this->assertEquals(self::DUMMY_RCID, $id->serialize());
95 }
$id
plugin.php for ilComponentBuildPluginInfoObjectiveTest::testAddPlugins
Definition: plugin.php:23

References $id.

◆ testGetCollectionOfUser()

ILIAS\ResourceStorage\Resource\CollectionTest::testGetCollectionOfUser ( )

Definition at line 97 of file CollectionTest.php.

97 : void
98 {
99 $identifiation = $this->rcid_generator->getUniqueResourceCollectionIdentification();
100 $this->collection_repository->method('blank')->with($identifiation)->willReturn(
101 new ResourceCollection($identifiation, 42, '')
102 );
103
104 $id = $this->collections->id($identifiation->serialize());
105
106 $this->collection_repository->method('getResourceIdStrings')->with($identifiation)->willReturn(
107 $this->arrayAsGenerator([])
108 );
109
110 $collection = $this->collections->get($id, 42);
111
112 $this->assertInstanceOf(ResourceCollection::class, $collection);
113 $this->assertNotInstanceOf(MockObject::class, $collection);
114 $this->assertEquals(self::DUMMY_RCID, $collection->getIdentification()->serialize());
115 $this->assertEquals([], $collection->getResourceIdentifications());
116 }

References $id, and ILIAS\ResourceStorage\Resource\CollectionTest\arrayAsGenerator().

+ Here is the call graph for this function:

◆ testGetCollectionOfWrongUser()

ILIAS\ResourceStorage\Resource\CollectionTest::testGetCollectionOfWrongUser ( )

Definition at line 118 of file CollectionTest.php.

118 : void
119 {
120 $identifiation = new ResourceCollectionIdentification(self::DUMMY_RCID);
121
122 $this->collection_repository->method('existing')->with($identifiation)->willReturn(
123 new ResourceCollection($identifiation, 42, '')
124 );
125
126 $this->collection_repository->method('getResourceIdStrings')->with($identifiation)->willReturn(
127 $this->arrayAsGenerator([])
128 );
129
130 $this->expectException(\LogicException::class);
131 $this->expectExceptionMessage('Invalid owner of collection');
132 $collection = $this->collections->get($identifiation, 84);
133 }

References ILIAS\ResourceStorage\Resource\CollectionTest\arrayAsGenerator().

+ Here is the call graph for this function:

◆ testIsIn()

ILIAS\ResourceStorage\Resource\CollectionTest::testIsIn ( )

Definition at line 135 of file CollectionTest.php.

135 : void
136 {
137 $collection = new ResourceCollection(new ResourceCollectionIdentification(self::DUMMY_RCID), 42, '');
138
139 $this->assertEquals(self::DUMMY_RCID, $collection->getIdentification()->serialize());
140 $this->assertEquals(42, $collection->getOwner());
141 $this->assertTrue($collection->hasSpecificOwner());
142 $this->assertEquals('default', $collection->getTitle());
143
144 $rid_one = new ResourceIdentification('rid_one');
145 $rid_two = new ResourceIdentification('rid_two');
146 $rid_three = new ResourceIdentification('rid_three');
147
148 $this->assertEquals(0, $collection->count());
149
150 $collection->add($rid_one);
151 $this->assertTrue($collection->isIn($rid_one));
152 $this->assertFalse($collection->isIn($rid_two));
153 $this->assertFalse($collection->isIn($rid_three));
154 $this->assertEquals(1, $collection->count());
155
156 $collection->add($rid_two);
157 $this->assertTrue($collection->isIn($rid_one));
158 $this->assertTrue($collection->isIn($rid_two));
159 $this->assertFalse($collection->isIn($rid_three));
160 $this->assertEquals(2, $collection->count());
161
162 $collection->add($rid_three);
163 $this->assertTrue($collection->isIn($rid_one));
164 $this->assertTrue($collection->isIn($rid_two));
165 $this->assertTrue($collection->isIn($rid_three));
166 $this->assertEquals(3, $collection->count());
167
168 $collection->clear();
169 $this->assertFalse($collection->isIn($rid_one));
170 $this->assertFalse($collection->isIn($rid_two));
171 $this->assertFalse($collection->isIn($rid_three));
172 $this->assertEquals(0, $collection->count());
173 }

Field Documentation

◆ $collection_builder

ILIAS\ResourceStorage\Resource\CollectionTest::$collection_builder

Definition at line 41 of file CollectionTest.php.

◆ $collections

ILIAS\ResourceStorage\Resource\CollectionTest::$collections

Definition at line 49 of file CollectionTest.php.

◆ $preloader

ILIAS\ResourceStorage\Resource\CollectionTest::$preloader

Definition at line 45 of file CollectionTest.php.

◆ $rcid_generator

CollectionIdentificationGenerator ILIAS\ResourceStorage\Resource\CollectionTest::$rcid_generator
protected

Definition at line 52 of file CollectionTest.php.

◆ DUMMY_RCID

const ILIAS\ResourceStorage\Resource\CollectionTest::DUMMY_RCID = 'dummy-rcid'

Definition at line 50 of file CollectionTest.php.


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