ILIAS  trunk Revision v11.0_alpha-1715-g7fc467680fb
All Data Structures Namespaces Files Functions Variables Enumerations Enumerator Modules Pages
ilCertificateDownloadValidatorTest.php
Go to the documentation of this file.
1 <?php
2 
19 declare(strict_types=1);
20 
25 {
26  public function testValidationSucceedsAndReturnsTrue(): void
27  {
28  $userCertificateRepository = $this->getMockBuilder(ilUserCertificateRepository::class)
29  ->disableOriginalConstructor()
30  ->getMock();
31 
32 
33  $userCertificateRepository->method('fetchActiveCertificate');
34 
35  $accessValidator = new ilCertificateUserCertificateAccessValidator($userCertificateRepository);
36 
37  $activeValidator = $this->getMockBuilder(ilCertificateActiveValidator::class)
38  ->disableOriginalConstructor()
39  ->getMock();
40 
41  $activeValidator->method('validate')
42  ->willReturn(true);
43 
44  $validator = new ilCertificateDownloadValidator($accessValidator, $activeValidator);
45 
46  $result = $validator->isCertificateDownloadable(100, 100);
47 
48  $this->assertTrue($result);
49  }
50 
52  {
53  $userCertificateRepository = $this->getMockBuilder(ilUserCertificateRepository::class)
54  ->disableOriginalConstructor()
55  ->getMock();
56 
57  $userCertificateRepository
58  ->expects($this->never())
59  ->method('fetchActiveCertificate');
60 
61  $accessValidator = new ilCertificateUserCertificateAccessValidator($userCertificateRepository);
62 
63  $activeValidator = $this->getMockBuilder(ilCertificateActiveValidator::class)
64  ->disableOriginalConstructor()
65  ->getMock();
66 
67  $activeValidator
68  ->method('validate')
69  ->willReturn(false);
70 
71  $validator = new ilCertificateDownloadValidator($accessValidator, $activeValidator);
72 
73  $result = $validator->isCertificateDownloadable(100, 100);
74 
75  $this->assertFalse($result);
76  }
77 
79  {
80  $userCertificateRepository = $this->getMockBuilder(ilUserCertificateRepository::class)
81  ->disableOriginalConstructor()
82  ->getMock();
83 
84  $userCertificateRepository
85  ->expects($this->once())
86  ->method('fetchActiveCertificate')
87  ->willThrowException(new ilRpcClientException('Client not active'));
88 
89  $accessValidator = new ilCertificateUserCertificateAccessValidator($userCertificateRepository);
90 
91  $activeValidator = $this->getMockBuilder(ilCertificateActiveValidator::class)
92  ->disableOriginalConstructor()
93  ->getMock();
94 
95  $activeValidator
96  ->method('validate')
97  ->willReturn(true);
98 
99  $validator = new ilCertificateDownloadValidator($accessValidator, $activeValidator);
100 
101  $result = $validator->isCertificateDownloadable(100, 100);
102 
103  $this->assertFalse($result);
104  }
105 }
Class ilCertificateBaseTestCase.
Validates if an active certificate is stored in the database and can be downloaded by the user...
Class ilRpcClientException.