def test_valid_data(self): tests = ( # (data, cleaned_data) ( { "name": "Иванов Иван Иванович", "birthday": "01/01/2000", "phone": "+7 999 123-45-67", "email": "*****@*****.**", "wishes": "пожелания", "place": "brateevo", }, { "name": "Иванов Иван Иванович", "birthday": datetime.date(day=1, month=1, year=2000), "phone": "+7 999 123-45-67", "email": "*****@*****.**", "wishes": "пожелания", "place": "brateevo", }, ), # empty wishes ( { "name": "Иванов Иван Иванович", "birthday": "01/01/2000", "phone": "+7 999 123-45-67", "email": "*****@*****.**", "wishes": "", "place": "brateevo", }, { "name": "Иванов Иван Иванович", "birthday": datetime.date(day=1, month=1, year=2000), "phone": "+7 999 123-45-67", "email": "*****@*****.**", "wishes": "", "place": "brateevo", }, ), ) for data, cleaned_data in tests: form = ChildrenCourseEntryForm(data=data, place_choices=self.place_choices) self.assertTrue(form.is_valid(), form.errors) self.assertEqual(form.cleaned_data, cleaned_data)
def test_invalid_data(self): tests = ( # (data, errors) # invalid place ( { "name": "Иванов Иван Иванович", "birthday": "01/01/2000", "phone": "+7 999 123-45-67", "email": "*****@*****.**", "wishes": "пожелания", "place": "unknown", }, {"place": ["Выберите корректный вариант. unknown нет среди " "допустимых значений."]}, ), # too long name ( { "name": "a" * 256, "birthday": "01/01/2000", "phone": "+7 999 123-45-67", "email": "*****@*****.**", "wishes": "пожелания", "place": "brateevo", }, {"name": ["Убедитесь, что это значение содержит не более 255 символов " "(сейчас 256)."]}, ), # empty name ( { "name": "", "birthday": "01/01/2000", "phone": "+7 999 123-45-67", "email": "*****@*****.**", "wishes": "пожелания", "place": "brateevo", }, {"name": ["Обязательное поле."]}, ), # too long wishes ( { "name": "Иванов Иван Иванович", "birthday": "01/01/2000", "phone": "+7 999 123-45-67", "email": "*****@*****.**", "wishes": "a" * 256, "place": "brateevo", }, {"wishes": ["Убедитесь, что это значение содержит не более 255 символов " "(сейчас 256)."]}, ), # empty email ( { "name": "Иванов Иван Иванович", "birthday": "01/01/2000", "phone": "+7 999 123-45-67", "email": "", "wishes": "пожелания", "place": "brateevo", }, {"email": ["Обязательное поле."]}, ), # invalid email ( { "name": "Иванов Иван Иванович", "birthday": "01/01/2000", "phone": "+7 999 123-45-67", "email": "invalid-email", "wishes": "пожелания", "place": "brateevo", }, {"email": ["Введите правильный адрес электронной почты."]}, ), # empty birthday ( { "name": "Иванов Иван Иванович", "birthday": "", "phone": "+7 999 123-45-67", "email": "*****@*****.**", "wishes": "пожелания", "place": "brateevo", }, {"birthday": ["Обязательное поле."]}, ), # invalid birthday ( { "name": "Иванов Иван Иванович", "birthday": "01.01.2000", "phone": "+7 999 123-45-67", "email": "*****@*****.**", "wishes": "пожелания", "place": "brateevo", }, {"birthday": ["Введите дату в формате ДД/ММ/ГГГГ, например, 01/02/1991."]}, ), # empty phone ( { "name": "Иванов Иван Иванович", "birthday": "01/01/2000", "phone": "", "email": "*****@*****.**", "wishes": "пожелания", "place": "brateevo", }, {"phone": ["Обязательное поле."]}, ), # invalid phone ( { "name": "Иванов Иван Иванович", "birthday": "01/01/2000", "phone": "+79991234567", "email": "*****@*****.**", "wishes": "пожелания", "place": "brateevo", }, {"phone": ["Ведите телефон в формате +X XXX XXX-XX-XX, например, " "+7 123 456-78-90."]}, ), ) for data, errors in tests: form = ChildrenCourseEntryForm(data=data, place_choices=self.place_choices) self.assertFalse(form.is_valid(), form.cleaned_data) self.assertEqual(form.errors, errors)