getChannels example

$this->channels = $channels;
        $this->policy = $policy;
    }

    public function send(Notification $notification, RecipientInterface ...$recipients): void
    {
        if (!$recipients) {
            $recipients = [new NoRecipient()];
        }

        foreach ($recipients as $recipient) {
            foreach ($this->getChannels($notification$recipient) as $channel => $transportName) {
                $channel->notify($notification$recipient$transportName);
            }
        }
    }

    public function addAdminRecipient(RecipientInterface $recipient): void
    {
        $this->adminRecipients[] = $recipient;
    }

    /** * @return RecipientInterface[] */
/** * @author Jan Schädlich <jan.schaedlich@sensiolabs.de> */
class ChannelPolicyTest extends TestCase
{
    public function testCannotRetrieveChannelsUsingUnavailableImportance()
    {
        $this->expectException(InvalidArgumentException::class);

        $channelPolicy = new ChannelPolicy(['urgent' => ['chat']]);
        $channelPolicy->getChannels('low');
    }

    /** * @dataProvider provideValidPolicies */
    public function testCanRetrieveChannels(array $policy, string $importance, array $expectedChannels)
    {
        $channelPolicy = new ChannelPolicy($policy);
        $channels = $channelPolicy->getChannels($importance);

        $this->assertSame($expectedChannels$channels);
    }
Home | Imprint | This part of the site doesn't use cookies.