public function testInvoke() { $repository = $this->prophesize(RepositoryInterface::class); $listener = new LogSending($repository->reveal()); $event = $this->prophesize(EventInterface::class); $message = $this->prophesize(Message::class); $event->getParam('message')->willReturn($message->reveal()); $template = $this->prophesize(Template::class); $event->getParam('template')->willReturn($template->reveal()); $to = new AddressList(); $to->addFromString('*****@*****.**'); $message->getTo()->willReturn($to); $from = new AddressList(); $from->addFromString('*****@*****.**'); $message->getFrom()->willReturn($from); $message->getSubject()->willReturn('Some subject'); $template->getLayoutId()->willReturn(Template::LAYOUT_DEFAULT); $template->getId()->willReturn(Template::FEEDBACK_ANSWER); $mimeMessage = new MimeMessage(); $mimeMessage->addPart(new \Zend\Mime\Part('some body')); $message->getBody()->willReturn($mimeMessage); $event->getParam('data')->willReturn(['data' => 'x']); $repository->add(Argument::type(MailLogEntry::class)); $listener->__invoke($event->reveal()); }
/** * Update an address list * * Proxied to this from addFrom, addTo, addCc, addBcc, and addReplyTo. * * @param AddressList $addressList * @param string|Address\AddressInterface|array|AddressList|Traversable $emailOrAddressOrList * @param null|string $name * @param string $callingMethod * @throws Exception\InvalidArgumentException */ protected function updateAddressList(AddressList $addressList, $emailOrAddressOrList, $name, $callingMethod) { if ($emailOrAddressOrList instanceof Traversable) { foreach ($emailOrAddressOrList as $address) { $addressList->add($address); } return; } if (is_array($emailOrAddressOrList)) { $addressList->addMany($emailOrAddressOrList); return; } if (!is_string($emailOrAddressOrList) && !$emailOrAddressOrList instanceof Address\AddressInterface) { throw new Exception\InvalidArgumentException(sprintf('%s expects a string, AddressInterface, array, AddressList, or Traversable as its first argument;' . ' received "%s"', $callingMethod, is_object($emailOrAddressOrList) ? get_class($emailOrAddressOrList) : gettype($emailOrAddressOrList))); } if (is_string($emailOrAddressOrList) && $name === null) { $addressList->addFromString($emailOrAddressOrList); return; } $addressList->add($emailOrAddressOrList, $name); }
/** * Set AddressList type header a value * * @param string $name * @param string $value */ public function setAddressListHeader($name, $value) { /** @var AbstractAddressList $header */ $header = $this->getHeader($name); $addresslist = new AddressList(); $addresslist->addFromString($value); $header->setAddressList($addresslist); }