Exemplo n.º 1
0
    def test_only_accepts_british_local_phone_number(self):
        data = self.minimal_data.copy()
        data['phone_number'] = '07 914721389'  # local UK number
        self.assertTrue(ShippingAddressForm(data).is_valid())

        data['phone_number'] = '0176 968 426 71'  # local German number
        self.assertFalse(ShippingAddressForm(data).is_valid())
Exemplo n.º 2
0
    def test_needs_country_data(self):
        CountryFactory(iso_3166_1_a2='DE', is_shipping_country=True)

        self.assertFalse(ShippingAddressForm(self.minimal_data).is_valid())

        data = self.minimal_data.copy()
        data['country'] = Country.objects.get(iso_3166_1_a2='GB').pk
        self.assertTrue(ShippingAddressForm(data).is_valid())
Exemplo n.º 3
0
 def test_local_phonenumber_invalid_without_country(self):
     # Add another country, so we have two.
     CountryFactory(iso_3166_1_a2='DE', is_shipping_country=True)
     data = self.minimal_data.copy()
     data['phone_number'] = '07 914721389'
     # User hasn't selected a country. Because there are multiple country
     # choices we should not accept the local number.
     form = ShippingAddressForm(data)
     self.assertFalse(form.is_valid())
     self.assertIn('phone_number', form.errors)
Exemplo n.º 4
0
 def test_local_phonenumber_invalid_without_country(self):
     # Add another country, so we have two.
     CountryFactory(iso_3166_1_a2='DE', is_shipping_country=True)
     data = self.minimal_data.copy()
     data['phone_number'] = '07 914721389'
     # User hasn't selected a country. Because there are multiple country
     # choices we should not accept the local number.
     form = ShippingAddressForm(data)
     self.assertFalse(form.is_valid())
     self.assertIn('phone_number', form.errors)
Exemplo n.º 5
0
    def test_only_accepts_local_phone_number_when_country_matches(self):
        CountryFactory(iso_3166_1_a2='DE', is_shipping_country=True)

        data = self.minimal_data.copy()
        data['phone_number'] = '07 914721389'  # local UK number

        data['country'] = Country.objects.get(iso_3166_1_a2='DE').pk
        self.assertFalse(ShippingAddressForm(data).is_valid())

        data['country'] = Country.objects.get(iso_3166_1_a2='GB').pk
        self.assertTrue(ShippingAddressForm(data).is_valid())
Exemplo n.º 6
0
 def test_required_fields_validated(self):
     form = ShippingAddressForm()
     self.assertTrue(form.fields['last_name'].required)
     self.assertTrue(form.fields['postcode'].required)
     self.assertFalse(form.fields['first_name'].required)
     self.assertFalse(form.fields['line2'].required)
     self.assertFalse(form.fields['line3'].required)
     self.assertFalse(form.fields['line4'].required)
def get_address_fields():
    def new_init(self, *args, **kwargs):
        super(ShippingAddressForm, self).__init__(*args, **kwargs)

    ShippingAddressForm.__init__ = new_init

    data = {
        'first_name': 'John',
        'last_name': 'Doe',
        'line1': '1 Egg Road',
        'line4': 'Shell City',
        'postcode': 'N12 9RT',
        'phone_number': '+49231555555',
    }

    form = ShippingAddressForm(data)
    form.is_valid()
    address_fields = dict((k, v) for (k, v) in form.instance.__dict__.items()
                          if not k.startswith('_'))
    return address_fields
def get_address_fields():
    def new_init(self, *args, **kwargs):
        super(ShippingAddressForm, self).__init__(*args, **kwargs)

    ShippingAddressForm.__init__ = new_init

    data = {
        'first_name': 'John',
        'last_name': 'Doe',
        'line1': '1 Egg Road',
        'line4': 'Shell City',
        'postcode': 'N12 9RT',
        'phone_number': '+49231555555',
    }

    form = ShippingAddressForm(data)
    form.is_valid()
    address_fields = dict(
        (k, v) for (k, v) in form.instance.__dict__.items()
        if not k.startswith('_'))
    return address_fields
Exemplo n.º 9
0
 def test_is_valid_with_international_phone_number(self):
     data = self.minimal_data.copy()
     data['phone_number'] = '+49 176 968426 71'
     form = ShippingAddressForm(data)
     self.assertTrue(form.is_valid())
Exemplo n.º 10
0
 def test_is_valid_without_phone_number(self):
     self.assertTrue(ShippingAddressForm(self.minimal_data).is_valid())
Exemplo n.º 11
0
 def test_required_phone_number_validated(self):
     # This needs a separate test because of the logic in PhoneNumberMixin
     form = ShippingAddressForm()
     self.assertTrue(form.fields['phone_number'].required)
Exemplo n.º 12
0
 def test_keeps_country_field(self):
     CountryFactory(iso_3166_1_a2='DE', is_shipping_country=True)
     self.assertTrue('country' in ShippingAddressForm().fields)
Exemplo n.º 13
0
 def test_removes_country_field(self):
     self.assertTrue('country' not in ShippingAddressForm().fields)
Exemplo n.º 14
0
 def test_is_valid_with_international_phone_number(self):
     data = self.minimal_data.copy()
     data['phone_number'] = '+49 176 968426 71'
     form = ShippingAddressForm(data)
     self.assertTrue(form.is_valid())