ILIAS  trunk Revision v11.0_alpha-1761-g6dbbfa7b760
All Data Structures Namespaces Files Functions Variables Enumerations Enumerator Modules Pages
ILIAS\ResourceStorage\Resource\CollectionBuilderTest Class Reference

Class CollectionBuilderTest. More...

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

Public Member Functions

 testGetCollectionTwice ()
 

Data Fields

const DUMMY_RCID = 'dummy-rcid'
 

Protected Member Functions

 setUp ()
 
 arrayAsGenerator (array $array)
 

Private Attributes

CollectionBuilder $collection_builder
 
CollectionRepository MockObject $collection_repo
 
ResourceBuilder MockObject $resource_builder
 
Collections $collections
 

Detailed Description

Member Function Documentation

◆ arrayAsGenerator()

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

Definition at line 118 of file CollectionBuilderTest.php.

Referenced by ILIAS\ResourceStorage\Resource\CollectionBuilderTest\testGetCollectionTwice().

118  : \Generator
119  {
120  foreach ($array as $item) {
121  yield $item;
122  }
123  }
+ Here is the caller graph for this function:

◆ setUp()

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

Definition at line 51 of file CollectionBuilderTest.php.

51  : void
52  {
53  $this->collection_builder = new CollectionBuilder(
54  $this->collection_repo = $this->createMock(CollectionRepository::class),
55  new Subject(),
56  new DummyIDGenerator(self::DUMMY_RCID)
57  );
58  $this->collections = new Collections(
59  $this->resource_builder = $this->createMock(ResourceBuilder::class),
60  $this->collection_builder,
61  $this->createMock(RepositoryPreloader::class),
62  new Subject()
63  );
64  }

◆ testGetCollectionTwice()

ILIAS\ResourceStorage\Resource\CollectionBuilderTest::testGetCollectionTwice ( )

Definition at line 66 of file CollectionBuilderTest.php.

References ILIAS\ResourceStorage\Resource\CollectionBuilderTest\arrayAsGenerator(), and null.

66  : void
67  {
68  $rcid = new ResourceCollectionIdentification(self::DUMMY_RCID);
69 
70  $this->collection_repo->expects($this->once())
71  ->method('existing')
72  ->with($rcid)
73  ->willReturn(
74  new ResourceCollection($rcid, -1, '')
75  );
76 
77  $this->collection_repo->expects($this->once())
78  ->method('getResourceIdStrings')
79  ->with($rcid)
80  ->willReturn(
81  $this->arrayAsGenerator([
82  'rid1',
83  'rid2',
84  'rid3'
85  ])
86  );
87 
88  $consecutive = [
89  new ResourceIdentification('rid1'),
90  new ResourceIdentification('rid2'),
91  new ResourceIdentification('rid3'),
92  new ResourceIdentification('rid1'),
93  new ResourceIdentification('rid2'),
94  new ResourceIdentification('rid3'),
95  ];
96  $this->resource_builder
97  ->expects($this->exactly(6))
98  ->method('has')
99  ->willReturnCallback(
100  function ($rid) use (&$consecutive): true {
101  $this->assertEquals(array_shift($consecutive), $rid);
102  return true;
103  }
104  );
105 
106  $collection = $this->collections->get($rcid, null);
107 
108  $this->assertInstanceOf(ResourceCollection::class, $collection);
109  $this->assertNotInstanceOf(MockObject::class, $collection);
110 
111  $this->assertEquals(3, $collection->count());
112 
113  $collection = $this->collections->get($rcid, null);
114 
115  $this->assertEquals(3, $collection->count());
116  }
while($session_entry=$r->fetchRow(ilDBConstants::FETCHMODE_ASSOC)) return null
+ Here is the call graph for this function:

Field Documentation

◆ $collection_builder

CollectionBuilder ILIAS\ResourceStorage\Resource\CollectionBuilderTest::$collection_builder
private

Definition at line 40 of file CollectionBuilderTest.php.

◆ $collection_repo

CollectionRepository MockObject ILIAS\ResourceStorage\Resource\CollectionBuilderTest::$collection_repo
private

Definition at line 44 of file CollectionBuilderTest.php.

◆ $collections

Collections ILIAS\ResourceStorage\Resource\CollectionBuilderTest::$collections
private

Definition at line 49 of file CollectionBuilderTest.php.

◆ $resource_builder

ResourceBuilder MockObject ILIAS\ResourceStorage\Resource\CollectionBuilderTest::$resource_builder
private

Definition at line 48 of file CollectionBuilderTest.php.

◆ DUMMY_RCID

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

Definition at line 39 of file CollectionBuilderTest.php.


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