Я делал следующее для определения формы Django (смущенно, да):
class DealAdvancedSearchForm(forms.Form):
weekday_choices = [
['monday', 'Monday'],
['tuesday', 'Tuesday'],
['wednesday', 'Wednesday'],
['thursday', 'Thursday'],
['friday', 'Friday'],
['saturday', 'Saturday'],
['sunday', 'Sunday'],
]
weekday_index = date.today().weekday()
weekday_choices[weekday_index][1] += ' (Today)'
weekday_choices[weekday_index+1][1] += ' (Tomorrow)'
weekday = forms.ChoiceField(label='Day of the week', choices=weekday_choices, required=False)
Как вы, наверное, уже догадались, это работает нормально, пока date.today()
не изменится. Все мои тесты пройдены. Однако после изменения даты она неправильно сохраняет выбор начальной даты, помеченный как сегодняшний.
С тех пор я выяснил, насколько это глупо, и переместил код в метод __init__
.
Теперь я хочу написать тест для него. Кто-нибудь знает, как я могу проверить, что правильный день недели помечается как (Today)
при изменении даты?