seeInDatabase('users', ['email' => 'admin@laraland.test']); } /** * @When Saya mengirim form berisi email saya */ public function sayaMengirimFormBerisiEmailSaya() { $I = $this; $I->amOnPage('/password/reset'); $I->fillField('email', 'admin@laraland.test'); $I->click('button[type=submit]'); } /** * @Then Saya melihat bahwa sebuah email telah dikirim dari sistem */ public function sayaMelihatBahwaSebuahEmailTelahDikirimDariSistem() { $I = $this; $I->see('We have e-mailed your password reset link!'); } /** * @Given Saya membuka link pada email dari sistem */ public function sayaMembukaLinkPadaEmailDariSistem() { $I = $this; $I->requestEmailResetPasswordLink($I); $this->mailcatcher = new GuzzleHttp\Client([ 'base_uri' => 'http://localhost:8025/api/v1/' ]); $this->mail = $this->getLastMessage($this->mailcatcher); $pattern = '/\/password\/reset\/[\w=\s]+[^\W]+/'; foreach($this->mail as $key => $val) { if ($key == 'Content') { foreach($val as $head => $body) { if ($head == 'Body') { preg_match($pattern, $body, $matches); } } } } $url = preg_replace('/=\s+/', '', $matches[0]); $url = preg_replace('/\s+[\w\W]+/', '', $url); $I->amOnPage($url); } /** * @When Saya mengirim form berisi password baru */ public function sayaMengirimFormBerisiPasswordBaru() { $I = $this; $I->fillField('email', 'admin@laraland.test'); $I->fillField('password', 'newsecret'); $I->fillField('password_confirmation', 'newsecret'); $I->click('button[type=submit]'); } /** * @Then Saya berhasil signin dengan password baru */ public function sayaBerhasilSigninDenganPasswordBaru() { $I = $this; $I->seeCurrentUrlEquals('/home'); $I->see('Your password has been reset!'); } /** * @Given Saya berada di halaman registrasi */ public function sayaBeradaDiHalamanRegistrasi() { $I = $this; $I->amOnPage('/register'); } /** * @When Saya mengirim form registrasi */ public function sayaMengirimFormRegistrasi() { $I = $this; $I->fillField('name', \Faker\Factory::create()->name); $I->fillField('email', 'admin2@laraland.test'); $I->fillField('password', 'sosecret'); $I->fillField('password_confirmation', 'sosecret'); $I->click('button[type=submit]'); } /** * @Then Saya akan dialihkan ke halaman dashboard */ public function sayaAkanDialihkanKeHalamanDashboard() { $I = $this; $I->seeCurrentUrlEquals('/home'); $I->see('Dashboard'); } }