ChatworkMessageBodyBuilder example



namespace Symfony\Component\Notifier\Bridge\Chatwork\Tests;

use PHPUnit\Framework\TestCase;
use Symfony\Component\Notifier\Bridge\Chatwork\ChatworkMessageBodyBuilder;

class ChatworkMessageBodyBuilderTest extends TestCase
{
    public function testSetTo()
    {
        $builder = new ChatworkMessageBodyBuilder();
        $builder->to(['abc', 'def']);
        $property = new \ReflectionProperty($builder, 'to');
        $this->assertSame(['abc', 'def']$property->getValue($builder));
        $builder->to('ghi');
        $this->assertSame(['ghi']$property->getValue($builder));
    }

    public function testSetSelfUnread()
    {
        $builder = new ChatworkMessageBodyBuilder();
        $builder->selfUnread(true);
        
return $message instanceof ChatMessage && (null === $message->getOptions() || $message->getOptions() instanceof ChatworkOptions);
    }

    protected function doSend(MessageInterface $message): SentMessage
    {
        if (!$message instanceof ChatMessage) {
            throw new UnsupportedMessageTypeException(__CLASS__, ChatMessage::class$message);
        }

        $options = $message->getOptions()?->toArray() ?? [];

        $bodyBuilder = new ChatworkMessageBodyBuilder();
        if (\array_key_exists('to', $options)) {
            $bodyBuilder->to($options['to']);
        }
        if (\array_key_exists('selfUnread', $options)) {
            $bodyBuilder->selfUnread($options['selfUnread']);
        }

        $messageBody = $bodyBuilder
            ->body($message->getSubject())
            ->getMessageBody();

        
Home | Imprint | This part of the site doesn't use cookies.