public function testWhetherTriggeringDeliveryResultsInEmailsBeingEnqueued() { global $wpdb; $this->assertEquals(0, EmailQueue::getInstance()->getNumberOfPendingEmails()); $this->broadcast->deliver(); $this->assertEquals($this->numberOfSubscribers, EmailQueue::getInstance()->getNumberOfPendingEmails()); //TODO: Change the following to use the EmailQueue's API after it is written. For now hitting the database directly $getRecipientsOfAllEmailsQuery = sprintf("SELECT sid FROM %swpr_queue", $wpdb->prefix); $recipientList = $wpdb->get_col($getRecipientsOfAllEmailsQuery); $difference = array_diff($recipientList, $this->sid_array); $this->assertEquals(0, count($difference)); }
{ $htmlAddress = $this->getHtmlAddress(); if (strstr($email['htmlbody'], $this->canSpamShortCode)) { $email['htmlbody'] = str_replace($this->canSpamShortCode, $htmlAddress, $email['htmlbody']); } else { $email['htmlbody'] .= $htmlAddress; } $textAddress = JavelinConfig::senderAddress(); if (strstr($email['textbody'], $this->canSpamShortCode)) { $email['textbody'] = str_replace($this->canSpamShortCode, $textAddress, $email['textbody']); } else { $email['textbody'] .= "\r\n" . $textAddress; } } /** * @param Subscriber $subscriber * @param $email */ private function replaceCustomFields(Subscriber $subscriber, &$email) { $email['subject'] = Subscriber::replaceCustomFieldValues($email['subject'], $subscriber); $email['htmlbody'] = Subscriber::replaceCustomFieldValues($email['htmlbody'], $subscriber); $email['textbody'] = Subscriber::replaceCustomFieldValues($email['textbody'], $subscriber); } private function getHash(Subscriber $subscriber, $email) { return md5($subscriber->getEmail() . $email['subject'] . $email['htmlbody'] . $email['textbody']); } } $javelinQueue = EmailQueue::getInstance();