<?php

namespace Tests\Browser\Components;

use Laravel\Dusk\Browser;
use Laravel\Dusk\Component as BaseComponent;

class SelectButtons extends BaseComponent
{
    public $field;

    public function __construct($field)
    {
        $this->field = $field;
    }

    /**
     * Get the root selector for the component.
     *
     * @return string
     */
    public function selector()
    {
        return '@select-buttons-'.$this->field;
    }

    /**
     * Assert that the browser page contains the component.
     *
     * @param  Browser  $browser
     * @return void
     */
    public function assert(Browser $browser)
    {
        $browser->assertVisible($this->selector());
    }

    public function selectButtons(Browser $browser, $items)
    {
        if (!is_array($items)) {
            $items = collect($items);
        }

        foreach ($items as $item) {
            if (is_string($item)) {
                $browser->click('@select-'.$item);
            }

            $browser->assertVue('modelValue', $item);
        }
    }
}
