When you call the authorize method in your controller, you are passing the policy as the argument instead of the user class/model as defined in your policy in the view method. You should obtain the user first in your controller and pass it as the second argument in your $this->authorize() method. This could be something along the lines of in your controller
$user = auth()->user();
this->authorize('view', $user);
// rest of the code