Well. this solves it... I just had to pull the value from the DB! Doh!
-
add Eloquent reference to the test use Illuminate\Database\Eloquent\Model;
-
Complete the code like this:
public function testChangePassword() { $this->visit('/login') ->click('Forgot Your Password?') ->seePageIs('/forgot-password') ->type('test@test.com','email') ->press('Send Password Reset Link') ->seePageIs('/login') ->see('A password reset link was sent to the email address supplied.') ->seeInDatabase('password_resets', ['email' => 'test@test.com']); $uuid = DB::table('password_resets') ->where('email', '=', 'test@test.com') ->value('token'); $this->visit('/reset-password/' . $uuid) ->type('bbbbbbbb','password') ->type('bbbbbbbb','password_confirmation') ->press('Change Password') ->see('Your password was reset.') ->seePageIs('/login') ->type('test@test.com','email') ->type('bbbbbbbb','password') ->press('Sign In') ->seePageIs('/welcome') ->click('Logout') ->seePageIs('/login'); // Change password back $this->visit('/login') ->click('Forgot Your Password?') ->seePageIs('/forgot-password') ->type('test@test.com','email') ->press('Send Password Reset Link') ->seePageIs('/login') ->see('A password reset link was sent to the email address supplied.') ->seeInDatabase('password_resets', ['email' => 'test@test.com']); $uuid = DB::table('password_resets') ->where('email', '=', 'test@test.com') ->value('token'); $this->visit('/reset-password/' . $uuid) ->type('abcd1234','password') ->type('abcd1234','password_confirmation') ->press('Change Password') ->see('Your password was reset.') ->seePageIs('/login') ->type('test@test.com','email') ->type('abcd1234','password') ->press('Sign In') ->seePageIs('/welcome') ->click('Logout') ->seePageIs('/login'); }