Magento 2 Documentation  2.3
Documentation for Magento 2 CMS v2.3 (December 2018)
Public Member Functions | Protected Member Functions | Protected Attributes
TemplateTest Class Reference
Inheritance diagram for TemplateTest:

Public Member Functions

 getMail ()
 
 testSetGetTemplateFilter ()
 
 testLoadDefault ()
 
 testGetProcessedTemplate ()
 
 testTemplateFallback ($area, $templateId, $expectedOutput, $mockThemeFallback=false)
 
 templateFallbackDataProvider ()
 
 testTemplateDirective ( $area, $templateType, $templateText, $assertContains, $assertNotContains=null, $storeConfigPath=null, $mockAdminTheme=false)
 
 templateDirectiveDataProvider ()
 
 testTemplateStylesVariable ($area, $expectedOutput, $unexpectedOutputs, $templateForDatabase=[])
 
 templateStylesVariableDataProvider ()
 
 testGetProcessedTemplateSubject ()
 
 testGetDefaultEmailLogo ()
 
 testSetDesignConfigException ($config)
 
 setDesignConfigExceptionDataProvider ()
 
 testSetAndGetId ()
 
 testIsValidForSend ()
 
 testGetTypeNonExistentType ()
 
 testGetTypeHtml ()
 
 testGetType ()
 
 testGetSendingException ()
 
 testGetVariablesOptionArray ()
 
 testGetVariablesOptionArrayInGroup ()
 
 testBeforeSaveEmptyTemplateCode ()
 
 testBeforeSave ()
 
 testProcessTemplate ()
 
 testGetSubject ()
 
 testSetOptions ()
 

Protected Member Functions

 setUp ()
 
 mockModel ($filesystem=null)
 

Protected Attributes

 $model
 
 $mail
 
 $objectManager
 

Detailed Description

@SuppressWarnings(PHPMD.CouplingBetweenObjects)

Definition at line 20 of file TemplateTest.php.

Member Function Documentation

◆ getMail()

getMail ( )

Return a disposable \Zend_Mail instance

Returns
\PHPUnit_Framework_MockObject_MockObject|\Zend_Mail

Definition at line 83 of file TemplateTest.php.

84  {
85  return clone $this->mail;
86  }

◆ mockModel()

mockModel (   $filesystem = null)
protected

Definition at line 42 of file TemplateTest.php.

43  {
44  if (!$filesystem) {
45  $filesystem = $this->objectManager->create(\Magento\Framework\Filesystem::class);
46  }
47 
48  $this->mail = $this->getMockBuilder(\Zend_Mail::class)
49  ->setMethods(['send', 'addTo', 'addBcc', 'setReturnPath', 'setReplyTo'])
50  ->setConstructorArgs(['utf-8'])
51  ->getMock();
52 
53  $this->model = $this->getMockBuilder(\Magento\Email\Model\Template::class)
54  ->setMethods(['_getMail'])
55  ->setConstructorArgs([
56  $this->objectManager->get(\Magento\Framework\Model\Context::class),
57  $this->objectManager->get(\Magento\Framework\View\DesignInterface::class),
58  $this->objectManager->get(\Magento\Framework\Registry::class),
59  $this->objectManager->get(\Magento\Store\Model\App\Emulation::class),
60  $this->objectManager->get(\Magento\Store\Model\StoreManager::class),
61  $this->objectManager->create(\Magento\Framework\View\Asset\Repository::class),
63  $this->objectManager->create(\Magento\Framework\App\Config\ScopeConfigInterface::class),
64  $this->objectManager->get(\Magento\Email\Model\Template\Config::class),
65  $this->objectManager->get(\Magento\Email\Model\TemplateFactory::class),
66  $this->objectManager->get(\Magento\Framework\Filter\FilterManager::class),
67  $this->objectManager->get(\Magento\Framework\UrlInterface::class),
68  $this->objectManager->get(\Magento\Email\Model\Template\FilterFactory::class),
69  ])
70  ->getMock();
71 
72  $this->objectManager->get(\Magento\Framework\App\State::class)->setAreaCode('frontend');
73 
74  $this->model->expects($this->any())->method('_getMail')->will($this->returnCallback([$this, 'getMail']));
75  $this->model->setSenderName('sender')->setSenderEmail('[email protected]')->setTemplateSubject('Subject');
76  }
$filesystem

◆ setDesignConfigExceptionDataProvider()

setDesignConfigExceptionDataProvider ( )

Definition at line 629 of file TemplateTest.php.

630  {
631  $storeId = Bootstrap::getObjectManager()->get(\Magento\Store\Model\StoreManagerInterface::class)
632  ->getStore()
633  ->getId();
634 
635  return [
636  [[]],
637  [['area' => 'frontend']],
638  [['store' => $storeId]],
639  ];
640  }

◆ setUp()

setUp ( )
protected

Definition at line 37 of file TemplateTest.php.

38  {
39  $this->objectManager = Bootstrap::getObjectManager();
40  }

◆ templateDirectiveDataProvider()

templateDirectiveDataProvider ( )
Returns
array

Definition at line 276 of file TemplateTest.php.

277  {
278  return [
279  'Template from module folder - adminhtml' => [
280  BackendFrontNameResolver::AREA_CODE,
282  '{{template config_path="design/email/footer_template"}}',
283  "</table>\n<!-- End wrapper table -->",
284  ],
285  'Template from module folder - frontend' => [
288  '{{template config_path="design/email/footer_template"}}',
289  "</table>\n<!-- End wrapper table -->",
290  ],
291  'Template from module folder - plaintext' => [
294  '{{template config_path="design/email/footer_template"}}',
295  'Thank you',
296  "</table>\n<!-- End wrapper table -->",
297  ],
298  'Template overridden in backend - adminhtml' => [
299  BackendFrontNameResolver::AREA_CODE,
301  '{{template config_path="design/email/footer_template"}}',
302  '<b>Footer configured in backend - email loaded via adminhtml</b>',
303  null,
304  'design/email/footer_template',
305  ],
306  'Template overridden in backend - frontend' => [
309  '{{template config_path="design/email/footer_template"}}',
310  '<b>Footer configured in backend - email loaded via frontend</b>',
311  null,
312  'design/email/footer_template',
313  ],
314  'Template from theme - frontend' => [
317  '{{template config_path="customer/create_account/email_template"}}',
318  '<b>customer_create_account_email_template template from Vendor/custom_theme</b>',
319  ],
320  'Template from parent theme - frontend' => [
323  '{{template config_path="customer/create_account/email_confirmation_template"}}',
324  '<b>customer_create_account_email_confirmation_template template from Vendor/default</b>',
325  ],
326  'Template from grandparent theme - frontend' => [
329  '{{template config_path="customer/create_account/email_confirmed_template"}}',
330  '<b>customer_create_account_email_confirmed_template template from Magento/default</b>',
331  ],
332  'Template from grandparent theme - adminhtml' => [
333  BackendFrontNameResolver::AREA_CODE,
335  '{{template config_path="catalog/productalert_cron/error_email_template"}}',
336  '<b>catalog_productalert_cron_error_email_template template from Magento/default</b>',
337  null,
338  null,
339  true,
340  ],
341  ];
342  }

◆ templateFallbackDataProvider()

templateFallbackDataProvider ( )
Returns
array

Definition at line 172 of file TemplateTest.php.

173  {
174  return [
175  'Template from module - admin' => [
176  BackendFrontNameResolver::AREA_CODE,
177  'customer_create_account_email_template',
178  'To sign in to our site, use these credentials during checkout',
179  ],
180  'Template from module - frontend' => [
182  'customer_create_account_email_template',
183  'To sign in to our site, use these credentials during checkout',
184  ],
185  'Template from theme - frontend' => [
187  'customer_create_account_email_template',
188  'customer_create_account_email_template template from Vendor/custom_theme',
190  ],
191  'Template from parent theme - frontend' => [
193  'customer_create_account_email_confirmation_template',
194  'customer_create_account_email_confirmation_template template from Vendor/default',
196  ],
197  'Template from grandparent theme - frontend' => [
199  'customer_create_account_email_confirmed_template',
200  'customer_create_account_email_confirmed_template template from Magento/default',
202  ],
203  'Template from grandparent theme - adminhtml' => [
204  BackendFrontNameResolver::AREA_CODE,
205  'catalog_productalert_cron_error_email_template',
206  'catalog_productalert_cron_error_email_template template from Magento/default',
207  BackendFrontNameResolver::AREA_CODE,
208  ],
209 
210  ];
211  }

◆ templateStylesVariableDataProvider()

templateStylesVariableDataProvider ( )
Returns
array

Definition at line 412 of file TemplateTest.php.

413  {
414  return [
415  'Styles from <!--@styles @--> comment - adminhtml' => [
416  BackendFrontNameResolver::AREA_CODE,
417  'p { color: #111; }',
418  [
419  '<!--@styles',
420  '{{var template_styles}}',
421  ],
422  ],
423  'Styles from <!--@styles @--> comment - frontend' => [
425  'p { color: #111; }',
426  [
427  '<!--@styles',
428  '{{var template_styles}}',
429  ],
430  ],
431  'Styles from "Template Styles" textarea from backend - adminhtml' => [
432  BackendFrontNameResolver::AREA_CODE,
433  'p { color: #222; }',
434  ['{{var template_styles}}'],
435  [
436  'template_code' => 'some_unique_code',
437  'template_type' => Template::TYPE_HTML,
438  'template_text' => 'Footer from database {{var template_styles}}',
439  'template_styles' => 'p { color: #222; }',
440  ],
441  ],
442  'Styles from "Template Styles" textarea from backend - frontend' => [
444  'p { color: #333; }',
445  ['{{var template_styles}}'],
446  [
447  'template_code' => 'some_unique_code',
448  'template_type' => Template::TYPE_HTML,
449  'template_text' => 'Footer from database {{var template_styles}}',
450  'template_styles' => 'p { color: #333; }',
451  ],
452  ],
453  ];
454  }

◆ testBeforeSave()

testBeforeSave ( )

Definition at line 720 of file TemplateTest.php.

721  {
722  $this->mockModel();
723  $this->model->setTemplateCode('test template code');
724  $this->model->beforeSave();
725  }

◆ testBeforeSaveEmptyTemplateCode()

testBeforeSaveEmptyTemplateCode ( )

@expectedException \Magento\Framework\Exception\MailException @expectedExceptionMessage Please enter a template name.

Definition at line 714 of file TemplateTest.php.

715  {
716  $this->mockModel();
717  $this->model->beforeSave();
718  }

◆ testGetDefaultEmailLogo()

testGetDefaultEmailLogo ( )

@magentoAppIsolation enabled

Definition at line 604 of file TemplateTest.php.

605  {
606  $this->mockModel();
607  $this->objectManager->get(\Magento\Framework\App\AreaList::class)
608  ->getArea(Area::AREA_FRONTEND)
609  ->load();
610 
611  $this->assertStringEndsWith(
612  '/frontend/Magento/luma/en_US/Magento_Email/logo_email.png',
613  $this->model->getDefaultEmailLogo()
614  );
615  }

◆ testGetProcessedTemplate()

testGetProcessedTemplate ( )

@magentoAppIsolation enabled @magentoDataFixture Magento/Store/_files/core_fixturestore.php

Definition at line 117 of file TemplateTest.php.

118  {
119  $this->mockModel();
120  $this->objectManager->get(\Magento\Framework\App\AreaList::class)
121  ->getArea(Area::AREA_FRONTEND)
122  ->load();
123 
124  $expectedViewUrl = '/frontend/Magento/blank/en_US/Magento_Theme/favicon.ico';
125  $this->model->setDesignConfig([
126  'area' => 'frontend',
127  'store' => $this->objectManager->get(\Magento\Store\Model\StoreManagerInterface::class)
128  ->getStore('fixturestore')
129  ->getId(),
130  ]);
131  $this->model->setTemplateText('{{view url="Magento_Theme::favicon.ico"}}');
132 
133  $this->setNotDefaultThemeForFixtureStore();
134  $this->assertStringEndsNotWith($expectedViewUrl, $this->model->getProcessedTemplate());
135 
136  $this->setDefaultThemeForFixtureStore();
137  $this->assertStringEndsWith($expectedViewUrl, $this->model->getProcessedTemplate());
138  }

◆ testGetProcessedTemplateSubject()

testGetProcessedTemplateSubject ( )

@magentoAppIsolation enabled @magentoDataFixture Magento/Store/_files/core_fixturestore.php

Definition at line 573 of file TemplateTest.php.

574  {
575  $this->mockModel();
576  $this->objectManager->get(\Magento\Framework\App\AreaList::class)
577  ->getArea(Area::AREA_FRONTEND)
578  ->load();
579 
580  $this->model->setTemplateSubject('{{view url="Magento_Theme::favicon.ico"}}');
581  $this->model->setDesignConfig([
582  'area' => 'frontend',
583  'store' => $this->objectManager->get(\Magento\Store\Model\StoreManagerInterface::class)
584  ->getStore('fixturestore')
585  ->getId(),
586  ]);
587 
588  $this->setNotDefaultThemeForFixtureStore();
589  $this->assertStringMatchesFormat(
590  '%s/frontend/Magento/luma/en_US/Magento_Theme/favicon.ico',
591  $this->model->getProcessedTemplateSubject([])
592  );
593 
594  $this->setDefaultThemeForFixtureStore();
595  $this->assertStringMatchesFormat(
596  '%s/frontend/Magento/blank/en_US/Magento_Theme/favicon.ico',
597  $this->model->getProcessedTemplateSubject([])
598  );
599  }

◆ testGetSendingException()

testGetSendingException ( )

Definition at line 682 of file TemplateTest.php.

683  {
684  $this->mockModel();
685  $this->assertNull($this->model->getSendingException());
686  }

◆ testGetSubject()

testGetSubject ( )

Definition at line 734 of file TemplateTest.php.

735  {
736  $this->mockModel();
737  $this->model->setVars(['foo', 'bar', 'baz']);
738  $this->assertEquals('Subject', $this->model->getSubject());
739  }

◆ testGetType()

testGetType ( )

@dataProvider getTypeDataProvider

Parameters
string$templateType
int$expectedResult

Definition at line 674 of file TemplateTest.php.

675  {
676  $this->mockModel();
677  $templateTypeId = 'test_template';
678  $this->model->setTemplateType($templateTypeId);
679  $this->assertEquals($templateTypeId, $this->model->getType());
680  }

◆ testGetTypeHtml()

testGetTypeHtml ( )

Definition at line 667 of file TemplateTest.php.

668  {
669  $this->mockModel();
670  $this->model->setId('customer_create_account_email_template');
671  $this->assertEquals(TemplateTypesInterface::TYPE_HTML, $this->model->getType());
672  }

◆ testGetTypeNonExistentType()

testGetTypeNonExistentType ( )

@expectedException \UnexpectedValueException @expectedExceptionMessage Email template 'foo' is not defined.

Definition at line 660 of file TemplateTest.php.

661  {
662  $this->mockModel();
663  $this->model->setId('foo');
664  $this->model->getType();
665  }

◆ testGetVariablesOptionArray()

testGetVariablesOptionArray ( )

Definition at line 688 of file TemplateTest.php.

689  {
690  $this->mockModel();
691  $testTemplateVariables = '{"var data.name":"Sender Name","var data.email":"Sender Email"}';
692  $this->model->setOrigTemplateVariables($testTemplateVariables);
693  $variablesOptionArray = $this->model->getVariablesOptionArray();
694  $this->assertEquals('{{var data.name}}', $variablesOptionArray[0]['value']);
695  $this->assertEquals('Sender Name', $variablesOptionArray[0]['label']->getArguments()[0]);
696  $this->assertEquals('{{var data.email}}', $variablesOptionArray[1]['value']);
697  $this->assertEquals('Sender Email', $variablesOptionArray[1]['label']->getArguments()[0]);
698  }

◆ testGetVariablesOptionArrayInGroup()

testGetVariablesOptionArrayInGroup ( )

Definition at line 700 of file TemplateTest.php.

701  {
702  $this->mockModel();
703  $testTemplateVariables = '{"var data.name":"Sender Name","var data.email":"Sender Email"}';
704  $this->model->setOrigTemplateVariables($testTemplateVariables);
705  $variablesOptionArray = $this->model->getVariablesOptionArray(true);
706  $this->assertEquals('Template Variables', $variablesOptionArray['label']->getText());
707  $this->assertEquals($this->model->getVariablesOptionArray(), $variablesOptionArray['value']);
708  }

◆ testIsValidForSend()

testIsValidForSend ( )

Definition at line 650 of file TemplateTest.php.

651  {
652  $this->mockModel();
653  $this->assertTrue($this->model->isValidForSend());
654  }

◆ testLoadDefault()

testLoadDefault ( )

Definition at line 103 of file TemplateTest.php.

104  {
105  $this->mockModel();
106  $this->model->loadDefault('customer_create_account_email_template');
107  $this->assertNotEmpty($this->model->getTemplateText());
108  $this->assertNotEmpty($this->model->getTemplateSubject());
109  $this->assertNotEmpty($this->model->getOrigTemplateVariables());
110  $this->assertInternalType('array', json_decode($this->model->getOrigTemplateVariables(), true));
111  }

◆ testProcessTemplate()

testProcessTemplate ( )

Definition at line 727 of file TemplateTest.php.

728  {
729  $this->mockModel();
730  $this->model->setId('customer_create_account_email_template');
731  $this->assertContains('<body', $this->model->processTemplate());
732  }

◆ testSetAndGetId()

testSetAndGetId ( )

Definition at line 642 of file TemplateTest.php.

643  {
644  $this->mockModel();
645  $testId = 9999;
646  $this->model->setId($testId);
647  $this->assertEquals($testId, $this->model->getId());
648  }

◆ testSetDesignConfigException()

testSetDesignConfigException (   $config)
Parameters
$config@dataProvider setDesignConfigExceptionDataProvider @expectedException \Magento\Framework\Exception\LocalizedException

Definition at line 622 of file TemplateTest.php.

623  {
624  $this->mockModel();
625  $model = $this->objectManager->create(\Magento\Email\Model\Template::class);
626  $model->setDesignConfig($config);
627  }
$config
Definition: fraud_order.php:17

◆ testSetGetTemplateFilter()

testSetGetTemplateFilter ( )

Definition at line 88 of file TemplateTest.php.

89  {
90  $this->mockModel();
91  $filter = $this->model->getTemplateFilter();
92  $this->assertSame($filter, $this->model->getTemplateFilter());
93  $this->assertEquals(
94  $this->objectManager->get(\Magento\Store\Model\StoreManagerInterface::class)->getStore()->getId(),
95  $filter->getStoreId()
96  );
97 
98  $filter = $this->objectManager->create(\Magento\Email\Model\Template\Filter::class);
99  $this->model->setTemplateFilter($filter);
100  $this->assertSame($filter, $this->model->getTemplateFilter());
101  }

◆ testSetOptions()

testSetOptions ( )

Definition at line 741 of file TemplateTest.php.

742  {
743  $this->mockModel();
744  $options = ['area' => 'test area', 'store' => 1];
745  $this->model->setOptions($options);
746  $this->assertEquals($options, $this->model->getDesignConfig()->getData());
747  }

◆ testTemplateDirective()

testTemplateDirective (   $area,
  $templateType,
  $templateText,
  $assertContains,
  $assertNotContains = null,
  $storeConfigPath = null,
  $mockAdminTheme = false 
)

Test template directive to ensure that templates can be loaded from modules, overridden in backend, and overridden in themes

@magentoDataFixture Magento/Store/_files/core_fixturestore.php @magentoComponentsDir Magento/Email/Model/_files/design @magentoAppIsolation enabled @magentoDbIsolation enabled @dataProvider templateDirectiveDataProvider

Parameters
string$area
int$templateType
string$templateText
string$assertContains
string$assertNotContains
string$storeConfigPath
bool$mockAdminTheme

Definition at line 231 of file TemplateTest.php.

239  {
240  $this->mockModel();
241 
242  if ($mockAdminTheme) {
243  $this->setUpAdminThemeFallback();
244  } else {
245  $this->setUpThemeFallback($area);
246  }
247 
248  $this->model->setTemplateType($templateType);
249  $this->model->setTemplateText($templateText);
250 
251  // Allows for testing of templates overridden in backend
252  if ($storeConfigPath) {
253  $template = $this->objectManager->create(\Magento\Email\Model\Template::class);
254  $templateData = [
255  'template_code' => 'some_unique_code',
256  'template_type' => $templateType,
257  'template_text' => $assertContains,
258  ];
259  $template->setData($templateData);
260  $template->save();
261 
262  // Store the ID of the newly created template in the system config so that this template will be loaded
263  $this->objectManager->get(\Magento\Framework\App\Config\MutableScopeConfigInterface::class)
264  ->setValue($storeConfigPath, $template->getId(), ScopeInterface::SCOPE_STORE, 'fixturestore');
265  }
266 
267  $this->assertContains($assertContains, $this->model->getProcessedTemplate());
268  if ($assertNotContains) {
269  $this->assertNotContains($assertNotContains, $this->model->getProcessedTemplate());
270  }
271  }
$templateType
Definition: list.phtml:37
$templateData
$template
Definition: export.php:12

◆ testTemplateFallback()

testTemplateFallback (   $area,
  $templateId,
  $expectedOutput,
  $mockThemeFallback = false 
)

Test template directive to ensure that templates can be loaded from modules

Parameters
string$area
string$templateId
string$expectedOutput
bool$mockThemeFallback@magentoDataFixture Magento/Store/_files/core_fixturestore.php @magentoComponentsDir Magento/Email/Model/_files/design @magentoAppIsolation enabled @magentoDbIsolation enabled @dataProvider templateFallbackDataProvider

Definition at line 154 of file TemplateTest.php.

155  {
156  $this->mockModel();
157 
158  if ($mockThemeFallback == BackendFrontNameResolver::AREA_CODE) {
159  $this->setUpAdminThemeFallback();
160  } elseif ($mockThemeFallback == Area::AREA_FRONTEND) {
161  $this->setUpThemeFallback($area);
162  }
163 
164  $this->model->setId($templateId);
165 
166  $this->assertContains($expectedOutput, $this->model->processTemplate());
167  }
elseif(isset( $params[ 'redirect_parent']))
Definition: iframe.phtml:17
$templateId
Definition: queue.php:15

◆ testTemplateStylesVariable()

testTemplateStylesVariable (   $area,
  $expectedOutput,
  $unexpectedOutputs,
  $templateForDatabase = [] 
)

Ensure that the template_styles variable contains styles from either or the "Template Styles" textarea in backend, depending on whether template was loaded from filesystem or DB.

@magentoDataFixture Magento/Store/_files/core_fixturestore.php @magentoComponentsDir Magento/Email/Model/_files/design @magentoAppIsolation enabled @magentoDbIsolation enabled @dataProvider templateStylesVariableDataProvider

Parameters
string$area
string$expectedOutput
array$unexpectedOutputs
array$templateForDatabase

Definition at line 359 of file TemplateTest.php.

360  {
361  if (count($templateForDatabase)) {
362  $this->mockModel();
363  $this->setUpThemeFallback($area);
364 
365  $template = $this->objectManager->create(\Magento\Email\Model\Template::class);
366  $template->setData($templateForDatabase);
367  $template->save();
368  $templateId = $template->getId();
369 
370  $this->model->load($templateId);
371  } else {
372  // <!--@styles @--> parsing only via the loadDefault method. Since email template files won't contain
373  // @styles comments by default, it is necessary to mock an object to return testable contents
374  $themeDirectory = $this->getMockBuilder(\Magento\Framework\Filesystem\Directory\ReadInterface::class)
375  ->disableOriginalConstructor()
376  ->setMethods([
377  'readFile',
378  ])
379  ->getMockForAbstractClass();
380 
381  $themeDirectory->expects($this->once())
382  ->method('readFile')
383  ->will($this->returnValue('<!--@styles p { color: #111; } @--> {{var template_styles}}'));
384 
385  $filesystem = $this->getMockBuilder(\Magento\Framework\Filesystem::class)
386  ->disableOriginalConstructor()
387  ->setMethods(['getDirectoryRead'])
388  ->getMock();
389 
390  $filesystem->expects($this->once())
391  ->method('getDirectoryRead')
392  ->with(DirectoryList::ROOT)
393  ->will($this->returnValue($themeDirectory));
394 
395  $this->mockModel($filesystem);
396 
397  $this->model->loadDefault('design_email_header_template');
398  }
399 
400  $processedTemplate = $this->model->getProcessedTemplate();
401 
402  foreach ($unexpectedOutputs as $unexpectedOutput) {
403  $this->assertNotContains($unexpectedOutput, $processedTemplate);
404  }
405 
406  $this->assertContains($expectedOutput, $processedTemplate);
407  }
$templateId
Definition: queue.php:15
$filesystem
$template
Definition: export.php:12

Field Documentation

◆ $mail

$mail
protected

Definition at line 30 of file TemplateTest.php.

◆ $model

$model
protected

Definition at line 25 of file TemplateTest.php.

◆ $objectManager

$objectManager
protected

Definition at line 35 of file TemplateTest.php.


The documentation for this class was generated from the following file: