public function send($to, $templateName, array $data = []) { $template = $this->templateBuilder->get($templateName); $message = $this->mailAssembler->assemble($to, $template, $data); $this->mailTransport->send($message); $event = new Event('mail-send:post', $this, ['to' => $to, 'template' => $template, 'message' => $message, 'data' => $data]); $this->eventManager->trigger($event); }
public function testAssemble() { $config = ['from-email' => '*****@*****.**', 'from-name' => 'Support Mail.com']; $assembler = new Assembler($config); $to = '*****@*****.**'; $data = []; $template = $this->prophesize(Template::class); $template->getSubject()->willReturn('Some subject'); $template->getBody(Argument::type('array'))->willReturn('Some body'); $message = $assembler->assemble($to, $template->reveal(), $data); $this->assertInstanceOf(Message::class, $message); }