예제 #1
0
    def test_is_valid_with_valid_data_and_empty_form(self):
        post_data = build_querydict({
            'form-TOTAL_FORMS': '2',
            'form-INITIAL_FORMS': '0',
            'form-MIN_NUM_FORMS': '1',
            'form-MAX_NUM_FORMS': '1000',
            'form-0-email_addr': '*****@*****.**',
            'form-0-days': ['thu', 'fri'],
            'form-1-email_addr': '',
        })

        formset = forms.TicketForOthersFormSet(post_data)
        self.assertTrue(formset.is_valid())
예제 #2
0
    def test_is_not_valid_with_all_deleted_forms(self):
        post_data = build_querydict({
            'form-TOTAL_FORMS': '2',
            'form-INITIAL_FORMS': '0',
            'form-MIN_NUM_FORMS': '1',
            'form-MAX_NUM_FORMS': '1000',
            'form-0-email_addr': '*****@*****.**',
            'form-0-DELETE': 'on',
            'form-1-email_addr': '',
            'form-1-DELETE': 'on',
        })

        formset = forms.TicketForOthersFormSet(post_data)
        self.assertFalse(formset.is_valid())
예제 #3
0
    def test_is_not_valid_with_no_nonempty_forms(self):
        post_data = build_querydict({
            'form-TOTAL_FORMS': '2',
            'form-INITIAL_FORMS': '0',
            'form-MIN_NUM_FORMS': '1',
            'form-MAX_NUM_FORMS': '1000',
            'form-0-email_addr': '',
            'form-1-email_addr': '',
        })

        formset = forms.TicketForOthersFormSet(post_data)
        self.assertEqual(
            formset.errors,
            [{'email_addr': ['This field is required.'], 'days': ['This field is required.']}, {}]
        )
예제 #4
0
    def test_is_not_valid_with_no_days(self):
        post_data = build_querydict({
            'form-TOTAL_FORMS': '2',
            'form-INITIAL_FORMS': '0',
            'form-MIN_NUM_FORMS': '1',
            'form-MAX_NUM_FORMS': '1000',
            'form-0-email_addr': '*****@*****.**',
            'form-0-days': ['thu', 'fri'],
            'form-1-email_addr': '*****@*****.**',
        })

        formset = forms.TicketForOthersFormSet(post_data)
        self.assertEqual(
            formset.errors,
            [{}, {'days': ['This field is required.']}]
        )
예제 #5
0
    def test_email_addrs_and_days_with_valid_data_and_deleted_form(self):
        post_data = build_querydict({
            'form-TOTAL_FORMS': '2',
            'form-INITIAL_FORMS': '0',
            'form-MIN_NUM_FORMS': '1',
            'form-MAX_NUM_FORMS': '1000',
            'form-0-email_addr': '*****@*****.**',
            'form-0-days': ['thu', 'fri'],
            'form-1-email_addr': '',
            'form-1-DELETE': 'on',
        })

        formset = forms.TicketForOthersFormSet(post_data)
        formset.errors  # Trigger full clean
        self.assertEqual(
            formset.email_addrs_and_days,
            [('*****@*****.**', ['thu', 'fri'])]
        )
예제 #6
0
    def test_email_addrs_and_days(self):
        post_data = build_querydict({
            'form-TOTAL_FORMS': '2',
            'form-INITIAL_FORMS': '0',
            'form-MIN_NUM_FORMS': '1',
            'form-MAX_NUM_FORMS': '1000',
            'form-0-email_addr': '*****@*****.**',
            'form-0-days': ['thu', 'fri'],
            'form-1-email_addr': '*****@*****.**',
            'form-1-days': ['sat', 'sun', 'mon']
        })

        formset = forms.TicketForOthersFormSet(post_data)
        formset.errors  # Trigger full clean
        self.assertEqual(
            formset.email_addrs_and_days,
            [('*****@*****.**', ['thu', 'fri']), ('*****@*****.**', ['sat', 'sun', 'mon'])]
        )