Возникли проблемы с использованием сумерек Laravel

Я новичок Ларавел Сумерки. Я пытаюсь написать сценарий, который нажимает на ссылку [href], а затем assertSee что-то. Я провел весь день, но просто не могу.

<li>
                    <a href="{{url('/administrator')}}/create" id="create-new-agent" ><div class="pull-left"><i class="zmdi zmdi-smartphone-setup mr-20"></i><span class="right-nav-text">New Admin</span></div><div class="clearfix"></div></a>
                </li>

Мой сценарий

/** @test */
    public function can_create_admin_with_authentication()
    {
        $admin = factory(Admin::class)->create([
            'email' => 'abc@abc.com',
            'password' => bcrypt('123456')
        ]);
        $this->browse(function (MyBrowser $browser) {
            $browser->loginAs(Admin::find(1))
                ->click('a[href="/administrator/create"]')
                ->assertSee('Create');
        });

    }

Я не большой поклонник использования CSSselector. В любом случае, я могу использовать xpath или ID ссылки...

Большое спасибо

1 ответ

Решение

Я проверил это, вы можете без проблем вместо:

->click('a[href="/administrator/create"]')

использование

->click('#create-new-agent')

и это будет работать.

Я вижу, что ты тоже скучаешь по бегу visit() метод. Весь тест должен выглядеть так:

public function can_create_admin_with_authentication()
{
    $admin = factory(Admin::class)->create([
        'email' => 'abc@abc.com',
        'password' => bcrypt('123456')
    ]);
    $this->browse(function (MyBrowser $browser) {
        $browser->loginAs(Admin::find(1))->visit('/your/url')
            ->click('#create-new-agent')
            ->assertSee('Create');
    });

}

На месте /your/url введите URL, который вы хотите посетить, например, использовать / для главной страницы.

Другие вопросы по тегам