123456789101112131415161718192021222324252627282930313233343536 |
- from django.test import TestCase
-
- from oscar.apps.address import forms, models
- from oscar.test.factories import UserFactory
-
-
- class TestUserAddressForm(TestCase):
-
- def setUp(self):
- self.user = UserFactory()
- self.country = models.Country.objects.create(
- iso_3166_1_a2='GB', name="UNITED KINGDOM")
-
- def test_merges_addresses_with_same_hash(self):
- data = {
- 'user': self.user,
- 'first_name': "Matus",
- 'last_name': "Moravcik",
- 'line1': "1 Egg Street",
- 'line4': "London",
- 'postcode': "N12 9RE",
- 'country': self.country}
-
- # Create two addresses, which are slightly different
- models.UserAddress.objects.create(**data)
- other = data.copy()
- other['first_name'] = 'Izidor'
- duplicate = models.UserAddress.objects.create(**other)
-
- # Edit duplicate to be same as original and check that the two
- # addresses are merged when the form saves.
- post_data = data.copy()
- post_data['country'] = self.country.iso_3166_1_a2
- form = forms.UserAddressForm(self.user, post_data, instance=duplicate)
- self.assertFalse(form.is_valid())
- self.assertTrue(len(form.errors['__all__']) > 0)
|