Well you can't compare two hashed values because the hashed output will always be different.
So small example: Let's say I have string a and string b and when I bcrypt both I get the following results
$stringA = 'test';
$stringB = 'test';
$hashA = bcrypt($stringA); // y$swSPpBL.kOMGRltYIWcc1.6f2u0icyRFT8DCgchzDpTv3Bz7r5wGm
$hashB = bcrypt($stringB); // y$vD3DArbNt52OCLnXGzOxlOGqQ8VICBDBjcZwFJG5IoIu5TlVKzOsC
$this->assertEquals($hashA, $hashB); // returns false
Now this will fail of course! So there is no way to bcrypt the same value twice and get the same output. This is because the salt (app_key) is used to generate a unique string that hashes the value.
So if you want to compare the two you need to use a different method. So instead of checking if the string is equal to the hash you should check if the given hash returns the correct password. I believe you can do something like this
$hashA = bcrypt($stringA); // y$swSPpBL.kOMGRltYIWcc1.6f2u0icyRFT8DCgchzDpTv3Bz7r5wGm
if (Hash::check('test', $hashA)) {
return true;
}
So in your test you can do this
$user = User::find($this->user->id);
$this->assertTrue(Hash::check('newpassword', $user->password));