Files
piratepoet/tests/unit/WooCommerce/TransactionalEmailsUnitTest.php
Pavel Dohnal 7e0b536ff4 Use Di for newsletter renderer
[MAILPOET-2899]
2020-05-28 11:28:51 +02:00

49 lines
1.9 KiB
PHP

<?php
namespace MailPoet\WooCommerce;
use Codeception\Stub;
use MailPoet\Newsletter\NewslettersRepository;
use MailPoet\Settings\SettingsController;
use MailPoet\WooCommerce\Helper as WooCommerceHelper;
use MailPoet\WooCommerce\TransactionalEmails\Template;
use MailPoet\WP\Functions as WPFunctions;
class TransactionalEmailsUnitTest extends \MailPoetUnitTest {
public function testGetEmailHeadings() {
$wp = Stub::make(new WPFunctions, [
'getOption' => function($name) {
if ($name === 'woocommerce_new_order_settings')
return ['heading' => '{site_title}: New Order: #{order_number}'];
if ($name === 'woocommerce_customer_completed_order_settings')
return ['heading' => 'Thanks for shopping at {site_address}'];
if ($name === 'woocommerce_customer_note_settings')
return ['heading' => 'Note added to order #{order_number} - {order_date}'];
if ($name === 'blogname')
return 'Test';
return false;
},
'homeUrl' => 'http://test.loc',
'wpSpecialcharsDecode' => function($text) {
expect($text)->equals('Test');
return $text;
},
'wpParseUrl' => function($url) {
expect($url)->equals('http://test.loc');
return 'test.loc';
},
]);
$settings = Stub::make(SettingsController::class);
$template = Stub::make(Template::class);
$woocommerceHelper = Stub::make(WooCommerceHelper::class);
$newslettersRepository = Stub::make(NewslettersRepository::class);
$transactionalEmails = new TransactionalEmails($wp, $settings, $template, $woocommerceHelper, $newslettersRepository);
expect($transactionalEmails->getEmailHeadings())->equals([
'new_account' => 'Test: New Order: #0001',
'processing_order' => 'Thank you for your order',
'completed_order' => 'Thanks for shopping at test.loc',
'customer_note' => 'Note added to order #0001 - ' . date('Y-m-d'),
]);
}
}