Mmh, this is indeed hard to test. Mocking your models in is general hard to do and in my opinion a bad practise. If I'm looking at your code I see that you call some url that triggers a controller which returns a view. Why don't you test against that
public function testEventIndex()
{
$this->loginWithFakeUser();
$response = $this->call('GET', action('User\EventController@index'));
$response->assertOk()
->assertViewIs('user/event.overview.index')
->assertViewHas('event_overviews');
}
You can find more like these methods here: https://laravel.com/docs/6.x/http-tests#available-assertions
Note: Testing should be fun and easy ;) Don't try to mock what you don't own like the way models work on Laravel :D