ILIAS  release_6 Revision v6.24-5-g0c8bfefb3b8
ilCertificateDownloadValidatorTest.php
Go to the documentation of this file.
1<?php
2/* Copyright (c) 1998-2018 ILIAS open source, Extended GPL, see docs/LICENSE */
3
8{
10 {
11 $userCertificateRepository = $this->getMockBuilder('ilUserCertificateRepository')
12 ->disableOriginalConstructor()
13 ->getMock();
14
15
16 $userCertificateRepository->method('fetchActiveCertificate');
17
18 $accessValidator = new ilCertificateUserCertificateAccessValidator($userCertificateRepository);
19
20 $activeValidator = $this->getMockBuilder('ilCertificateActiveValidator')
21 ->disableOriginalConstructor()
22 ->getMock();
23
24 $activeValidator->method('validate')
25 ->willReturn(true);
26
27 $validator = new ilCertificateDownloadValidator($accessValidator, $activeValidator);
28
29 $result = $validator->isCertificateDownloadable(100, 100);
30
31 $this->assertTrue($result);
32 }
33
35 {
36 $userCertificateRepository = $this->getMockBuilder('ilUserCertificateRepository')
37 ->disableOriginalConstructor()
38 ->getMock();
39
40 $userCertificateRepository
41 ->expects($this->never())
42 ->method('fetchActiveCertificate');
43
44 $accessValidator = new ilCertificateUserCertificateAccessValidator($userCertificateRepository);
45
46 $activeValidator = $this->getMockBuilder('ilCertificateActiveValidator')
47 ->disableOriginalConstructor()
48 ->getMock();
49
50 $activeValidator
51 ->method('validate')
52 ->willReturn(false);
53
54 $validator = new ilCertificateDownloadValidator($accessValidator, $activeValidator);
55
56 $result = $validator->isCertificateDownloadable(100, 100);
57
58 $this->assertFalse($result);
59 }
60
62 {
63 $userCertificateRepository = $this->getMockBuilder('ilUserCertificateRepository')
64 ->disableOriginalConstructor()
65 ->getMock();
66
67 $userCertificateRepository
68 ->expects($this->once())
69 ->method('fetchActiveCertificate')
70 ->willThrowException(new ilRpcClientException('Client not active'));
71
72 $accessValidator = new ilCertificateUserCertificateAccessValidator($userCertificateRepository);
73
74 $activeValidator = $this->getMockBuilder('ilCertificateActiveValidator')
75 ->disableOriginalConstructor()
76 ->getMock();
77
78 $activeValidator
79 ->method('validate')
80 ->willReturn(true);
81
82 $validator = new ilCertificateDownloadValidator($accessValidator, $activeValidator);
83
84 $result = $validator->isCertificateDownloadable(100, 100);
85
86 $this->assertFalse($result);
87 }
88}
$result
An exception for terminatinating execution or to throw for unit testing.
Class ilCertificateBaseTestCase.
Validates if an active certificate is stored in the database and can be downloaded by the user.
Class ilRpcClientException.