R-019 — Limite de áudios do trial é sempre igual à duração em dias
TLDR:
Trial.audio_limitnão é configurável manualmente.Trial.save()sempre o sobrescreve comduration_days, e sempre forçaaccess_library_audios = True. O admin exibeaudio_limitcomo campo desabilitado; “Permite renovação?” e “Acesso a biblioteca de áudios?” saíram da tela do admin.
Given / When / Then
Dado um Trial com duration_days = 14
Quando o admin (ou qualquer código) salva o registro, independente do valor enviado para audio_limit
Então Trial.audio_limit é persistido como 14, e Trial.access_library_audios é persistido como True
Dado o mesmo Trial
Quando um administrador abre dash.*/admin/trials/trial/<id>/change/
Então “Limite de áudios” aparece desabilitado mostrando 14; “Permite renovação?” e “Acesso a biblioteca de áudios?” não aparecem mais na tela
Restrições
allow_renewaleaccess_library_audioscontinuam existindo no modelo e no banco — só saíram da UI do admin, não foram removidos do schema- Não há backfill: trials criados antes desta mudança só têm
audio_limit/access_library_audiossincronizados no próximo save UserTrialStateSerializercontinua lendotrial.access_library_audiosetrial.audio_limitnormalmente; a API não muda, só passa a receber valores sempre coerentes comduration_daysaudio_limitdeixa de suportar “ilimitado” (None): como todosave()sobrescreve o campo comduration_days, não há mais caminho legítimo pela ORM para persistiraudio_limit=None
Teste vinculado
tests/trials/test_admin.py — sincronização de audio_limit/access_library_audios no save() do modelo e ausência de allow_renewal/access_library_audios no TrialAdminForm.