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