getMockBuilder(FilesystemMap::class) ->disableOriginalConstructor() ->getMock(); $fileSystem = $this->getMockBuilder(Filesystem::class) ->disableOriginalConstructor() ->getMock(); $adapter = $this->getMockBuilder(Local::class) ->disableOriginalConstructor() ->getMock(); $fileSystemMap->method('get')->willReturn($fileSystem); $fileSystem->method('getAdapter')->willReturn($adapter); $adapter->expects($this->once())->method('write')->willReturnSelf(); $storage = new TemporaryFileStorage($fileSystemMap); $path = $storage->write('my_file.txt', 'some content'); $this->assertMatchesRegularExpression( '/temp\/\d{8}_\d{6}_[\w\d]{8}\/my_file.txt/', $path ); } }