Loading src/Plugin/QueueWorker/CommerceTicketingSendTicketReceiptWorker.php +12 −3 Original line number Diff line number Diff line Loading @@ -38,11 +38,21 @@ class CommerceTicketingSendTicketReceiptWorker extends QueueWorkerBase implement protected $logger; /** * {@inheritdoc} * Constructs a new CommerceTicketingSendTicketReceiptWorker. * * @param array $configuration * A configuration array containing information about the plugin instance. * @param string $plugin_id * The plugin_id for the plugin instance. * @param mixed $plugin_definition * The plugin implementation definition. * @param \Drupal\commerce_ticketing\Mail\TicketReceiptMail $ticket_receipt_mail * The receipt mail service. * @param \Psr\Log\LoggerInterface $logger * A logger instance. */ public function __construct(array $configuration, $plugin_id, $plugin_definition, TicketReceiptMail $ticket_receipt_mail, LoggerInterface $logger) { parent::__construct($configuration, $plugin_id, $plugin_definition); $this->ticketReceiptMail = $ticket_receipt_mail; $this->logger = $logger; } Loading @@ -55,7 +65,6 @@ class CommerceTicketingSendTicketReceiptWorker extends QueueWorkerBase implement $configuration, $plugin_id, $plugin_definition, $container->get('entity_type.manager'), $container->get('commerce_ticketing.ticket_receipt_mail'), $container->get('logger.factory')->get('commerce_ticketing') ); Loading tests/src/Kernel/MailQueueTest.php +18 −13 Original line number Diff line number Diff line Loading @@ -13,21 +13,11 @@ use Drupal\commerce_payment\Entity\Payment; */ class MailQueueTest extends TicketKernelTestBase { /** * {@inheritdoc} */ protected function setUp(): void { parent::setUp(); // Adds the ticket's field to the commerce order default type. $field_definition = commerce_ticketing_build_ticketing_field_definition('default_without_email'); $this->container->get('commerce.configurable_field_manager')->createField($field_definition); } /** * Tests queue generation for orders with email. */ public function testOrderWithEmail() { $queue_name = 'commerce_ticketing_send_ticket_receipt_worker'; $this->assertEquals(0, \Drupal::queue('commerce_ticketing_send_ticket_receipt_worker')->numberOfItems()); $payment = Payment::create([ 'type' => 'payment_default', Loading @@ -38,13 +28,28 @@ class MailQueueTest extends TicketKernelTestBase { ]); $payment->save(); $this->order->save(); $this->assertEquals(1, \Drupal::queue('commerce_ticketing_send_ticket_receipt_worker')->numberOfItems()); // Run the queue. $queue_worker = \Drupal::service('plugin.manager.queue_worker')->createInstance($queue_name); /** @var \Drupal\Core\Queue\QueueInterface $queue */ $queue = \Drupal::service('queue')->get($queue_name); $this->assertEquals(1, $queue->numberOfItems()); $item = $queue->claimItem(); $queue_worker->processItem($item->data); $queue->deleteItem($item); $this->assertEquals(0, $queue->numberOfItems()); } /** * Tests orders with no mail. */ public function testNoMailWithOrderSendTicketsOff() { public function aatestNoMailWithOrderSendTicketsOff() { // Adds the ticket's field to the commerce order default type. $field_definition = commerce_ticketing_build_ticketing_field_definition('default_without_email'); $this->container->get('commerce.configurable_field_manager')->createField($field_definition); $this->assertEquals(0, \Drupal::queue('commerce_ticketing_send_ticket_receipt_worker')->numberOfItems()); $customer = $this->createUser([], ['view own commerce_ticket', 'view own commerce_order', 'view commerce_product']); Loading tests/src/Kernel/TicketKernelTestBase.php +20 −3 Original line number Diff line number Diff line Loading @@ -30,8 +30,10 @@ abstract class TicketKernelTestBase extends CartKernelTestBase { 'commerce_ticketing', 'commerce_ticketing_test', 'entity_print', 'entity_print_test', 'image', 'file' 'file', 'system', ]; /** Loading Loading @@ -78,7 +80,16 @@ abstract class TicketKernelTestBase extends CartKernelTestBase { $this->installEntitySchema('file'); $this->installEntitySchema('commerce_payment'); $this->installEntitySchema('commerce_ticket'); $this->installConfig(['commerce_ticketing', 'commerce_ticketing_test', 'commerce_payment']); $this->installConfig([ 'commerce_ticketing', 'commerce_ticketing_test', 'commerce_payment', 'system', 'entity_print', 'entity_print_test', ]); $this->container->get('theme_installer')->install(['stark']); // Enables the default commerce order for tickets. $order_type = OrderType::load('default'); Loading Loading @@ -149,6 +160,12 @@ abstract class TicketKernelTestBase extends CartKernelTestBase { assert($this->order instanceof OrderInterface); $this->assertCount(1, $this->order->getItems()); // Set the default print engine. $config = $this->container->get('config.factory')->getEditable('entity_print.settings'); $config ->set('print_engines.pdf_engine', 'testprintengine') ->save(); } /** Loading @@ -160,7 +177,7 @@ abstract class TicketKernelTestBase extends CartKernelTestBase { * @return void * @throws \Drupal\Core\Entity\EntityStorageException */ protected function addPayment($order = NULL) { protected function addPayment(OrderInterface $order = NULL) { if (empty($order)) { $payment = Payment::create([ 'type' => 'payment_default', Loading Loading
src/Plugin/QueueWorker/CommerceTicketingSendTicketReceiptWorker.php +12 −3 Original line number Diff line number Diff line Loading @@ -38,11 +38,21 @@ class CommerceTicketingSendTicketReceiptWorker extends QueueWorkerBase implement protected $logger; /** * {@inheritdoc} * Constructs a new CommerceTicketingSendTicketReceiptWorker. * * @param array $configuration * A configuration array containing information about the plugin instance. * @param string $plugin_id * The plugin_id for the plugin instance. * @param mixed $plugin_definition * The plugin implementation definition. * @param \Drupal\commerce_ticketing\Mail\TicketReceiptMail $ticket_receipt_mail * The receipt mail service. * @param \Psr\Log\LoggerInterface $logger * A logger instance. */ public function __construct(array $configuration, $plugin_id, $plugin_definition, TicketReceiptMail $ticket_receipt_mail, LoggerInterface $logger) { parent::__construct($configuration, $plugin_id, $plugin_definition); $this->ticketReceiptMail = $ticket_receipt_mail; $this->logger = $logger; } Loading @@ -55,7 +65,6 @@ class CommerceTicketingSendTicketReceiptWorker extends QueueWorkerBase implement $configuration, $plugin_id, $plugin_definition, $container->get('entity_type.manager'), $container->get('commerce_ticketing.ticket_receipt_mail'), $container->get('logger.factory')->get('commerce_ticketing') ); Loading
tests/src/Kernel/MailQueueTest.php +18 −13 Original line number Diff line number Diff line Loading @@ -13,21 +13,11 @@ use Drupal\commerce_payment\Entity\Payment; */ class MailQueueTest extends TicketKernelTestBase { /** * {@inheritdoc} */ protected function setUp(): void { parent::setUp(); // Adds the ticket's field to the commerce order default type. $field_definition = commerce_ticketing_build_ticketing_field_definition('default_without_email'); $this->container->get('commerce.configurable_field_manager')->createField($field_definition); } /** * Tests queue generation for orders with email. */ public function testOrderWithEmail() { $queue_name = 'commerce_ticketing_send_ticket_receipt_worker'; $this->assertEquals(0, \Drupal::queue('commerce_ticketing_send_ticket_receipt_worker')->numberOfItems()); $payment = Payment::create([ 'type' => 'payment_default', Loading @@ -38,13 +28,28 @@ class MailQueueTest extends TicketKernelTestBase { ]); $payment->save(); $this->order->save(); $this->assertEquals(1, \Drupal::queue('commerce_ticketing_send_ticket_receipt_worker')->numberOfItems()); // Run the queue. $queue_worker = \Drupal::service('plugin.manager.queue_worker')->createInstance($queue_name); /** @var \Drupal\Core\Queue\QueueInterface $queue */ $queue = \Drupal::service('queue')->get($queue_name); $this->assertEquals(1, $queue->numberOfItems()); $item = $queue->claimItem(); $queue_worker->processItem($item->data); $queue->deleteItem($item); $this->assertEquals(0, $queue->numberOfItems()); } /** * Tests orders with no mail. */ public function testNoMailWithOrderSendTicketsOff() { public function aatestNoMailWithOrderSendTicketsOff() { // Adds the ticket's field to the commerce order default type. $field_definition = commerce_ticketing_build_ticketing_field_definition('default_without_email'); $this->container->get('commerce.configurable_field_manager')->createField($field_definition); $this->assertEquals(0, \Drupal::queue('commerce_ticketing_send_ticket_receipt_worker')->numberOfItems()); $customer = $this->createUser([], ['view own commerce_ticket', 'view own commerce_order', 'view commerce_product']); Loading
tests/src/Kernel/TicketKernelTestBase.php +20 −3 Original line number Diff line number Diff line Loading @@ -30,8 +30,10 @@ abstract class TicketKernelTestBase extends CartKernelTestBase { 'commerce_ticketing', 'commerce_ticketing_test', 'entity_print', 'entity_print_test', 'image', 'file' 'file', 'system', ]; /** Loading Loading @@ -78,7 +80,16 @@ abstract class TicketKernelTestBase extends CartKernelTestBase { $this->installEntitySchema('file'); $this->installEntitySchema('commerce_payment'); $this->installEntitySchema('commerce_ticket'); $this->installConfig(['commerce_ticketing', 'commerce_ticketing_test', 'commerce_payment']); $this->installConfig([ 'commerce_ticketing', 'commerce_ticketing_test', 'commerce_payment', 'system', 'entity_print', 'entity_print_test', ]); $this->container->get('theme_installer')->install(['stark']); // Enables the default commerce order for tickets. $order_type = OrderType::load('default'); Loading Loading @@ -149,6 +160,12 @@ abstract class TicketKernelTestBase extends CartKernelTestBase { assert($this->order instanceof OrderInterface); $this->assertCount(1, $this->order->getItems()); // Set the default print engine. $config = $this->container->get('config.factory')->getEditable('entity_print.settings'); $config ->set('print_engines.pdf_engine', 'testprintengine') ->save(); } /** Loading @@ -160,7 +177,7 @@ abstract class TicketKernelTestBase extends CartKernelTestBase { * @return void * @throws \Drupal\Core\Entity\EntityStorageException */ protected function addPayment($order = NULL) { protected function addPayment(OrderInterface $order = NULL) { if (empty($order)) { $payment = Payment::create([ 'type' => 'payment_default', Loading