ILIAS  release_8 Revision v8.24
ilCertificateDownloadValidatorTest.php
Go to the documentation of this file.
1<?php
2
19declare(strict_types=1);
20
25{
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.