Mock Laravel Cache remember for ever

Sometimes you want to make sure certain things are cached properly. With mocking this is possible. In this example I will show how to test Cache::rememberForever and see the results.

    $cacheRepository = Cache::driver();
    $cacheRepositorySpy = Mockery::spy($cacheRepository);



        ->with('users', \Closure::class);

    // It's also possible to get back what was put in the cache
    $store = $cacheRepositorySpy->getStore();

    // ...and write assertsions against this
    $this->assertEquals('[email protected]', $store->get('users')->first()->value);