ILIAS  release_9 Revision v9.13-25-g2c18ec4c24f
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 ()
 
 testIsIn ()
 
 testAddAndRemove ()
 
 testDuplicates ()
 
 testRidCache ()
 
- Public Member Functions inherited from ILIAS\ResourceStorage\AbstractBaseTest
 getDummyStream ()
 

Data Fields

 $collection_builder
 
 $preloader
 
 $collections
 
const DUMMY_RCID = 'dummy-rcid'
 
- Data Fields inherited from ILIAS\ResourceStorage\AbstractBaseResourceBuilderTest
 $flavour_repository
 

Protected Member Functions

 setUp ()
 
 arrayAsGenerator (array $array)
 
- Protected Member Functions inherited from ILIAS\ResourceStorage\AbstractBaseResourceBuilderTest
 setUp ()
 
 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 ()
 
 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 39 of file CollectionTest.php.

Member Function Documentation

◆ arrayAsGenerator()

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

Definition at line 274 of file CollectionTest.php.

Referenced by ILIAS\ResourceStorage\Resource\CollectionTest\testGetCollectionOfUser().

274  : \Generator
275  {
276  foreach ($array as $item) {
277  yield $item;
278  }
279  }
+ Here is the caller graph for this function:

◆ setUp()

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

Definition at line 57 of file CollectionTest.php.

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

◆ testAddAndRemove()

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

Definition at line 162 of file CollectionTest.php.

References ILIAS\ResourceStorage\Collection\ResourceCollection\NO_SPECIFIC_OWNER.

162  : void
163  {
164  $collection = new ResourceCollection(
165  new ResourceCollectionIdentification(self::DUMMY_RCID),
167  ''
168  );
169 
170  $this->assertEquals(self::DUMMY_RCID, $collection->getIdentification()->serialize());
171  $this->assertEquals(ResourceCollection::NO_SPECIFIC_OWNER, $collection->getOwner());
172  $this->assertFalse($collection->hasSpecificOwner());
173  $this->assertEquals('default', $collection->getTitle());
174 
175  $rid_one = new ResourceIdentification('rid_one');
176  $rid_two = new ResourceIdentification('rid_two');
177 
178  $this->assertEquals(0, $collection->count());
179 
180  $collection->add($rid_one);
181  $this->assertTrue($collection->isIn($rid_one));
182  $this->assertEquals(1, $collection->count());
183 
184  $collection->add($rid_two);
185  $this->assertTrue($collection->isIn($rid_one));
186  $this->assertTrue($collection->isIn($rid_two));
187  $this->assertEquals(2, $collection->count());
188 
189  $collection->remove($rid_one);
190  $this->assertFalse($collection->isIn($rid_one));
191  $this->assertTrue($collection->isIn($rid_two));
192  $this->assertEquals(1, $collection->count());
193 
194  $collection->remove($rid_two);
195  $this->assertFalse($collection->isIn($rid_one));
196  $this->assertFalse($collection->isIn($rid_two));
197  $this->assertEquals(0, $collection->count());
198 
199  $collection->clear();
200  $this->assertFalse($collection->isIn($rid_one));
201  $this->assertFalse($collection->isIn($rid_two));
202  $this->assertEquals(0, $collection->count());
203  }

◆ testCreateCollection()

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

Definition at line 87 of file CollectionTest.php.

References $id.

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

◆ testDuplicates()

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

Definition at line 205 of file CollectionTest.php.

References ILIAS\ResourceStorage\Collection\ResourceCollection\NO_SPECIFIC_OWNER.

205  : void
206  {
207  $rid = new ResourceIdentification('rid');
208  $same_rid = new ResourceIdentification('rid');
209 
210  $collection = new ResourceCollection(
211  new ResourceCollectionIdentification(self::DUMMY_RCID),
213  ''
214  );
215  $collection->add($rid);
216  $collection->add($same_rid);
217 
218  $this->assertEquals(1, count($collection->getResourceIdentifications()));
219  }

◆ testGetCollectionOfUser()

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

Definition at line 101 of file CollectionTest.php.

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

101  : void
102  {
103  $identifiation = $this->rcid_generator->getUniqueResourceCollectionIdentification();
104  $this->collection_repository->method('blank')->with($identifiation)->willReturn(
105  new ResourceCollection($identifiation, 42, '')
106  );
107 
108  $id = $this->collections->id($identifiation->serialize());
109 
110  $this->collection_repository->method('getResourceIdStrings')->with($identifiation)->willReturn(
111  $this->arrayAsGenerator([])
112  );
113 
114  $collection = $this->collections->get($id, 42);
115 
116  $this->assertInstanceOf(ResourceCollection::class, $collection);
117  $this->assertNotInstanceOf(MockObject::class, $collection);
118  $this->assertEquals(self::DUMMY_RCID, $collection->getIdentification()->serialize());
119  $this->assertEquals([], $collection->getResourceIdentifications());
120  }
$id
plugin.php for ilComponentBuildPluginInfoObjectiveTest::testAddPlugins
Definition: plugin.php:23
+ Here is the call graph for this function:

◆ testIsIn()

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

Definition at line 122 of file CollectionTest.php.

122  : void
123  {
124  $collection = new ResourceCollection(new ResourceCollectionIdentification(self::DUMMY_RCID), 42, '');
125 
126  $this->assertEquals(self::DUMMY_RCID, $collection->getIdentification()->serialize());
127  $this->assertEquals(42, $collection->getOwner());
128  $this->assertTrue($collection->hasSpecificOwner());
129  $this->assertEquals('default', $collection->getTitle());
130 
131  $rid_one = new ResourceIdentification('rid_one');
132  $rid_two = new ResourceIdentification('rid_two');
133  $rid_three = new ResourceIdentification('rid_three');
134 
135  $this->assertEquals(0, $collection->count());
136 
137  $collection->add($rid_one);
138  $this->assertTrue($collection->isIn($rid_one));
139  $this->assertFalse($collection->isIn($rid_two));
140  $this->assertFalse($collection->isIn($rid_three));
141  $this->assertEquals(1, $collection->count());
142 
143  $collection->add($rid_two);
144  $this->assertTrue($collection->isIn($rid_one));
145  $this->assertTrue($collection->isIn($rid_two));
146  $this->assertFalse($collection->isIn($rid_three));
147  $this->assertEquals(2, $collection->count());
148 
149  $collection->add($rid_three);
150  $this->assertTrue($collection->isIn($rid_one));
151  $this->assertTrue($collection->isIn($rid_two));
152  $this->assertTrue($collection->isIn($rid_three));
153  $this->assertEquals(3, $collection->count());
154 
155  $collection->clear();
156  $this->assertFalse($collection->isIn($rid_one));
157  $this->assertFalse($collection->isIn($rid_two));
158  $this->assertFalse($collection->isIn($rid_three));
159  $this->assertEquals(0, $collection->count());
160  }

◆ testRidCache()

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

Definition at line 222 of file CollectionTest.php.

222  : void
223  {
224  $resource_collection_identification = new ResourceCollectionIdentification(self::DUMMY_RCID);
225  $rid_one = new ResourceIdentification('rid_one');
226  $rid_two = new ResourceIdentification('rid_two');
227  $rid_three = new ResourceIdentification('rid_three');
228 
229  $collections_service = new Collections(
230  $this->resource_builder,
231  $this->collection_builder,
232  $this->preloader,
233  new Subject()
234  );
235 
236  $this->collection_repository
237  ->expects($this->once())
238  ->method('existing')
239  ->with($resource_collection_identification)
240  ->willReturn(
241  new ResourceCollection($resource_collection_identification, -1, 'title')
242  );
243 
244  $collection = $collections_service->get(
245  $resource_collection_identification
246  );
247  $this->assertCount(0, $collection->getResourceIdentifications());
248 
249  $collection->add($rid_one);
250  $collection->add($rid_two);
251  $collection->add($rid_three);
252 
253  $this->assertCount(3, $collection->getResourceIdentifications());
254 
255  $collections_service->store($collection);
256 
257  $this->resource_repository->expects($this->exactly(3))
258  ->method('has')
259  ->withConsecutive(
260  [$rid_one],
261  [$rid_two],
262  [$rid_three]
263  )
264  ->willReturn(true);
265 
266  $collection = $collections_service->get(
267  $resource_collection_identification
268  );
269 
270  $this->assertCount(3, $collection->getResourceIdentifications());
271  }

Field Documentation

◆ $collection_builder

ILIAS\ResourceStorage\Resource\CollectionTest::$collection_builder

Definition at line 44 of file CollectionTest.php.

◆ $collections

ILIAS\ResourceStorage\Resource\CollectionTest::$collections

Definition at line 52 of file CollectionTest.php.

◆ $preloader

ILIAS\ResourceStorage\Resource\CollectionTest::$preloader

Definition at line 48 of file CollectionTest.php.

◆ $rcid_generator

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

Definition at line 55 of file CollectionTest.php.

◆ DUMMY_RCID

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

Definition at line 53 of file CollectionTest.php.


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