Check two approcaches:
// Mock the storage behavior
Storage::shouldReceive('disk')->with(StorageDiskName::DO_S3->value)->andReturnSelf();
Storage::shouldReceive('temporaryUrl')->andReturn($expectedUrl);
// Mock the fake filesystem
$fakeFilesystem = Storage::fake(StorageDiskName::DO_S3->value);
$proxyMockedFakeFilesystem = Mockery::mock($fakeFilesystem);
$proxyMockedFakeFilesystem->shouldReceive('temporaryUrl')->andReturn($expectedUrl);
Storage::set(StorageDiskName::DO_S3->value, $proxyMockedFakeFilesystem);
See more in the article: https://dev.to/tegos/testing-temporary-urls-in-laravel-storage-20p7