ILIAS  trunk Revision v11.0_alpha-2638-g80c1d007f79
ilCertificateTemplatePreviewActionTest.php
Go to the documentation of this file.
1 <?php
2 
19 declare(strict_types=1);
20 
22 
24 {
25  public function testA(): void
26  {
27  $templateRepository = $this->getMockBuilder(ilCertificateTemplateRepository::class)->getMock();
28 
29  $placeholderValuesObject = $this->getMockBuilder(ilCertificatePlaceholderValues::class)
30  ->disableOriginalConstructor()
31  ->getMock();
32 
33  $placeholderValuesObject->method('getPlaceholderValuesForPreview')
34  ->willReturn([
35  'CERTIFICATE_ID' => 'randomUniqueString',
36  'USER_LOGIN' => 'SomeLogin',
37  'USER_FULLNAME' => 'SomeFullName',
38  'USER_FIRSTNAME' => 'SomeFirstName'
39  ]);
40 
41  $irss = $this->getMockBuilder(IRSS::class)
42  ->disableOriginalConstructor()
43  ->getMock();
44 
45  $user = $this->getMockBuilder(ilObjUser::class)
46  ->disableOriginalConstructor()
47  ->getMock();
48 
49  $pdfFileNameFactory = $this->getMockBuilder(ilCertificatePdfFileNameFactory::class)
50  ->disableOriginalConstructor()
51  ->getMock();
52  $pdfFileNameFactory
53  ->expects($this->once())
54  ->method('create')
55  ->willReturn('test');
56 
57  $user->method('getId')
58  ->willReturn(100);
59 
60  $utilHelper = $this->getMockBuilder(ilCertificateUtilHelper::class)
61  ->disableOriginalConstructor()
62  ->getMock();
63 
64  $utilHelper
65  ->expects($this->once())
66  ->method('deliverData');
67 
68  $userDefinedFieldsHelper = $this->getMockBuilder(ilCertificateUserDefinedFieldsHelper::class)
69  ->getMock();
70 
71  $definitionsMock = $this->getMockBuilder(ilUserDefinedFields::class)
72  ->disableOriginalConstructor()
73  ->getMock();
74 
75  $definitionsMock->method('getDefinitions')
76  ->willReturn(
77  [
78  'f_1' => [
79  'certificate' => true,
80  'field_id' => 100,
81  'field_name' => 'Some Field Name',
82  ]
83  ]
84  );
85 
86  $userDefinedFieldsHelper->method('createInstance')
87  ->willReturn($definitionsMock);
88 
89  $rpcClientFactoryHelper = $this->getMockBuilder(ilCertificateRpcClientFactoryHelper::class)
90  ->getMock();
91 
92  $mock = $this->getMockBuilder(stdClass::class)
93  ->disableOriginalConstructor()
94  ->getMock();
95 
96  $mock->scalar = '<xml> Some XML content </xml>';
97 
98  $rpcClientFactoryHelper->method('ilFO2PDF')
99  ->willReturn($mock);
100 
101 
102 
103  $previewAction = new ilCertificateTemplatePreviewAction(
104  $templateRepository,
105  $placeholderValuesObject,
106  $irss,
107  'some/where/',
108  $user,
109  $utilHelper,
110  $userDefinedFieldsHelper,
111  $rpcClientFactoryHelper,
112  $pdfFileNameFactory
113  );
114 
115  $previewAction->createPreviewPdf(100);
116  }
117 }
This file is part of ILIAS, a powerful learning management system published by ILIAS open source e-Le...