Esempio n. 1
0
    def test_valid_data(self):
        tests = (
            # (data, cleaned_data)
            (
                {
                    "name": "Иванов Иван Иванович",
                    "birthday": "01/01/2000",
                    "phone": "+7 999 123-45-67",
                    "email": "*****@*****.**",
                    "wishes": "пожелания",
                    "course": "aqua_baby",
                },
                {
                    "name": "Иванов Иван Иванович",
                    "birthday": datetime.date(day=1, month=1, year=2000),
                    "phone": "+7 999 123-45-67",
                    "email": "*****@*****.**",
                    "wishes": "пожелания",
                    "course": "aqua_baby",
                },
            ),
            # empty wishes
            (
                {
                    "name": "Иванов Иван Иванович",
                    "birthday": "01/01/2000",
                    "phone": "+7 999 123-45-67",
                    "email": "*****@*****.**",
                    "wishes": "",
                    "course": "aqua_baby",
                },
                {
                    "name": "Иванов Иван Иванович",
                    "birthday": datetime.date(day=1, month=1, year=2000),
                    "phone": "+7 999 123-45-67",
                    "email": "*****@*****.**",
                    "wishes": "",
                    "course": "aqua_baby",
                },
            ),
        )
        for data, cleaned_data in tests:
            form = ChildrenPlaceEntryForm(data=data, course_choices=self.course_choices)

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

        for data, errors in tests:
            form = ChildrenPlaceEntryForm(data=data, course_choices=self.course_choices)

            self.assertFalse(form.is_valid(), form.cleaned_data)
            self.assertEqual(form.errors, errors)