19declare(strict_types=1);
23 private \ilDBInterface&\PHPUnit\Framework\MockObject\MockObject
$database;
24 private \ilCtrlInterface&\PHPUnit\Framework\MockObject\MockObject
$controller;
26 protected function setUp(): void
29 $this->
database = $this->createMock(ilDBInterface::class);
30 $this->controller = $this->createMock(ilCtrlInterface::class);
33 public function testGetUserData(): void
35 $filter = new \ILIAS\Certificate\API\Filter\UserDataFilter();
38 ->method(
'fetchAssoc')
39 ->willReturnOnConsecutiveCalls(
45 'acquired_timestamp' => 1_234_567_890,
47 'firstname' =>
'ilyas',
48 'lastname' =>
'homer',
49 'login' =>
'breakdanceMcFunkyPants',
50 'email' =>
'ilyas@ilias.de',
51 'second_email' =>
'breakdance@funky.de'
58 'acquired_timestamp' => 1_234_567_890,
60 'firstname' =>
'ilyas',
61 'lastname' =>
'homer',
62 'login' =>
'breakdanceMcFunkyPants',
63 'email' =>
'ilyas@ilias.de',
64 'second_email' =>
'breakdance@funky.de'
69 $this->controller->method(
'getLinkTargetByClass')->willReturn(
'somewhere.php?goto=4');
71 $repository = new \ILIAS\Certificate\API\Repository\UserDataRepository(
78 $userData = $repository->getUserData($filter, [
'something']);
81 $object = $userData[5];
82 $this->assertSame(
'test', $object->getObjectTitle());
83 $this->assertSame(5, $object->getCertificateId());
84 $this->assertSame(100, $object->getObjectId());
85 $this->assertSame([5000, 6000], $object->getObjectRefIds());
86 $this->assertSame(1_234_567_890, $object->getIssuedOnTimestamp());
87 $this->assertSame(2000, $object->getUserId());
88 $this->assertSame(
'ilyas', $object->getUserFirstName());
89 $this->assertSame(
'homer', $object->getUserLastName());
90 $this->assertSame(
'breakdanceMcFunkyPants', $object->getUserLogin());
91 $this->assertSame(
'ilyas@ilias.de', $object->getUserEmail());
92 $this->assertSame(
'breakdance@funky.de', $object->getUserSecondEmail());
93 $this->assertSame(
'somewhere.php?goto=4', $object->getDownloadLink());
ilDBInterface &PHPUnit Framework MockObject MockObject $database
ilCtrlInterface &PHPUnit Framework MockObject MockObject $controller