и там в ответе получает ссылку на картинку, и сохраняет себе картинку через \Storage::put(basename($img), file_get_contents($img));
В тесте замокал ответ сервиса, но как правильно в тесте подсунуть ссылку на картинку, которую потом подсовывать в file_get_contents ?
сделай обертку над file_get_contents. ImageDownloader какой-нибудь нехитрый. и замокай его
+1. А вообще хорошая идея использовать CURL класс (как этот https://github.com/php-curl-class/php-curl-class), который можно для всяких сложных запросов использовать (в т.ч. скачивать) и мокать в тестах.
Генерируешь сам фото для теста и возвращаешь ссылку в моке и далее проверяешь как твой алгоритм обработал фотку. $storage = Storage::disk("public"); $fileName = "test.jpg"; $storage->put($fileName, base64_decode("/9j/4AAQSkZJRgABAQAAAQABAAD/2wBDAAMDAwMDAwQEBAQFBQUFBQcHBgYHBwsICQgJCAsRCwwLCwwLEQ8SDw4PEg8bFRMTFRsfGhkaHyYiIiYwLTA+PlT/wAALCAAKAAoBAREA/8QAJwABAQAAAAAAAAAAAAAAAAAAAAkQAQAAAAAAAAAAAAAAAAAAAAD/2gAIAQEAAD8AqmA//9k=")); // public url echo $storage->url($fileName); // doc_root url echo $storage->path($fileName); когда закончил и больше фотка не нужна $storage->delete($fileName);
Обсуждают сегодня