waitFor('@hear_about_us') ->click('@hear_about_us') ->waitFor('@hear_about_us_dropdown'); $options = $browser->elements('@hear_about_us_option'); shuffle($options); $options[0]->click(); } /** @test */ public function register_with_valid_data() { $this->browse(function (Browser $browser) { $browser->visit(new Register); $this->selectHearAboutUsReason($browser); $browser->submit([ 'name' => 'Test User', 'email' => 'testuser@test.test', 'password' => 'password', 'password_confirmation' => 'password', ]) ->assertPageIs(Onboarding::class); }); } /** @test */ public function can_not_register_with_the_same_twice() { $user = User::factory()->create(); $this->browse(function (Browser $browser) use ($user) { $browser->visit(new Register); $this->selectHearAboutUsReason($browser); $browser->submit([ 'name' => 'Test User', 'email' => $user->email, 'password' => 'password', 'password_confirmation' => 'password', ]) ->pause(3000) ->assertSee('The email has already been taken.'); }); } }