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

Class CollectionTest. More...

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

Public Member Functions

 testStore ()
 

Protected Member Functions

 setUp ()
 

Private Attributes

const TEST_RCID = 'test_rcid'
 
ilDBInterface MockObject $db_mock
 
CollectionDBRepository $repo
 
DummyIDGenerator $rcid_generator
 

Detailed Description

Member Function Documentation

◆ setUp()

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

Definition at line 46 of file CollectionRepositoryTest.php.

46  : void
47  {
48  $this->db_mock = $this->createMock(\ilDBInterface::class);
49  $this->repo = new CollectionDBRepository($this->db_mock);
50  $this->rcid_generator = new DummyIDGenerator(self::TEST_RCID);
51  }

◆ testStore()

ILIAS\ResourceStorage\Resource\CollectionRepositoryTest::testStore ( )

Definition at line 53 of file CollectionRepositoryTest.php.

53  : void
54  {
55  $collection = $this->repo->blank($this->rcid_generator->getUniqueResourceCollectionIdentification());
56  $this->assertEquals(0, $collection->count());
57 
58  $rid_one = 'rid_one';
59  $collection->add(new ResourceIdentification($rid_one));
60  $rid_two = 'rid_two';
61  $collection->add(new ResourceIdentification($rid_two));
62 
63  $rids_given = [$rid_one, $rid_two];
64  $this->db_mock->expects($this->once())
65  ->method('in')
66  ->with('rid', $rids_given, true, 'text')
67  ->willReturn('rid NOT IN("rid_one", "rid_one")');
68 
69  $this->db_mock->expects($this->once())
70  ->method('manipulateF')
71  ->with('DELETE FROM il_resource_rca WHERE rcid = %s AND rid NOT IN("rid_one", "rid_one")');
72 
73  $this->db_mock->expects($this->once())
74  ->method('manipulateF')
75  ->with('DELETE FROM il_resource_rca WHERE rcid = %s AND rid NOT IN("rid_one", "rid_one")');
76 
77  $this->db_mock->expects($this->exactly(3))
78  ->method('insert')
79  ->will(
80  $this->onConsecutiveCalls(
81  $this->returnCallback(function ($table, $fields): int {
82  $this->assertEquals('il_resource_rca', $table);
83  return 1;
84  }),
85  $this->returnCallback(function ($table, $fields): int {
86  $this->assertEquals('il_resource_rca', $table);
87  return 1;
88  }),
89  $this->returnCallback(function ($table, $fields): int {
90  $this->assertEquals('il_resource_rc', $table);
91  return 1;
92  })
93  )
94  );
95 
96  $event_data_container = new DataContainer();
97  $this->repo->update($collection, $event_data_container);
98 
99  $rids = [];
100  $this->assertCount(2, $event_data_container->get());
101  foreach ($event_data_container->get() as $event_data) {
102  $this->assertInstanceOf(CollectionData::class, $event_data);
103  $this->assertContains($event_data->getRid(), $rids_given);
104  $this->assertEquals(self::TEST_RCID, $event_data->getRcid());
105  }
106  }

Field Documentation

◆ $db_mock

ilDBInterface MockObject ILIAS\ResourceStorage\Resource\CollectionRepositoryTest::$db_mock
private

Definition at line 42 of file CollectionRepositoryTest.php.

◆ $rcid_generator

DummyIDGenerator ILIAS\ResourceStorage\Resource\CollectionRepositoryTest::$rcid_generator
private

Definition at line 44 of file CollectionRepositoryTest.php.

◆ $repo

CollectionDBRepository ILIAS\ResourceStorage\Resource\CollectionRepositoryTest::$repo
private

Definition at line 43 of file CollectionRepositoryTest.php.

◆ TEST_RCID

const ILIAS\ResourceStorage\Resource\CollectionRepositoryTest::TEST_RCID = 'test_rcid'
private

Definition at line 41 of file CollectionRepositoryTest.php.


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