Przedłużenie z datą w przeszłości.
Jeden warunek wpływał na dostęp, wiadomość do użytkownika i analitykę.
Użytkownik potwierdzał adres e-mail po zakończeniu pełnego okresu próbnego. Aplikacja informowała o przedłużeniu, choć wyliczona data końca już minęła. Wychodził też mail i zdarzenie marketingowe.
Co zrobiliśmy z AI
Zleciłem naprawę tego błędu. Poprawka sprawdza, czy nowy termin rzeczywiście jest w przyszłości. Testy obejmują dwa momenty powrotu użytkownika i sprawdzają także treść odpowiedzi oraz wysyłkę maili.
- 5. dzień
- Potwierdzenie udostępnia pozostałą część pełnej próby.
- 20. dzień
- Adres zostaje potwierdzony. Próba pozostaje zakończona.
Zobacz poprawkę i test
Warunek przed zapisaniem nowego terminu
if pelna <= now:
return None
pelna to koniec pełnej próby liczony od rejestracji. Gdy termin minął, funkcja kończy się bez ogłaszania przedłużenia.
Fragment testu powrotu po 20 dniach
assert body["user"]["is_email_verified"] is True
assert body["trial_extended"] is False
assert body["trial_started"] is False
assert response.get_json()["message"] == "Adres został potwierdzony."
assert _sent(app, "trial_extended", to_email=email) == []
assert _sent(app, "trial_started", to_email=email) == []
Test sprawdza potwierdzenie adresu bez fałszywej informacji o nowej próbie. W dalszej części weryfikuje, że plan pozostaje nieaktywny.