MultiChoiceInput example

namespace Symfony\Component\Notifier\Bridge\MicrosoftTeams\Tests\Action\Input;

use Symfony\Component\Notifier\Bridge\MicrosoftTeams\Action\Input\MultiChoiceInput;
use Symfony\Component\Notifier\Bridge\MicrosoftTeams\Test\Action\Input\AbstractInputTestCase;
use Symfony\Component\Notifier\Exception\InvalidArgumentException;

final class MultiChoiceInputTest extends AbstractInputTestCase
{
    public function createInput(): MultiChoiceInput
    {
        return new MultiChoiceInput();
    }

    public function testTarget()
    {
        $input = $this->createInput()
            ->choice($display = 'DISPLAY', $value = 'VALUE');

        $this->assertSame(
            [
                ['display' => $display, 'value' => $value],
            ],
            
$action = (new ActionCard())
            ->input($input);

        $this->assertCount(1, $action->toArray()['inputs']);
        $this->assertSame($expected$action->toArray()['inputs']);
    }

    public static function availableInputs(): \Generator
    {
        yield [[['@type' => 'DateInput']]new DateInput()];
        yield [[['@type' => 'TextInput']]new TextInput()];
        yield [[['@type' => 'MultichoiceInput']]new MultiChoiceInput()];
    }

    /** * @dataProvider compatibleActions */
    public function testAction(array $expected, ActionCardCompatibleActionInterface $action)
    {
        $section = (new ActionCard())
            ->action($action);

        $this->assertCount(1, $section->toArray()['actions']);
        
Home | Imprint | This part of the site doesn't use cookies.