from django.contrib.auth.models import User from django.test import TestCase from django.urls import reverse from shop.models import CustomerAddress from shop.tests.mixins import CreateProductsMixin class TestCustomerAddresses(TestCase, CreateProductsMixin): def setUp(self): self.user = User.objects.create_user('vader', 'darth@vader.com', 'ihatesand') self.customer_address = CustomerAddress.objects.create( user=self.user, full_name='Darth Vader', address_type=CustomerAddress.Types.SHIPPING, address='Vader Fortress', address_town='Mustafar', address_country='Mustafar', address_state='Mustafar', address_phone='612345678', address_zip='00001', ) def test_update_customer_address(self): self.client.force_login(self.user) data = { 'full_name': 'Anakin Skywalker', 'address': 'Mos Eisley', 'address_town': 'Mos Eisley', 'address_country': 'Tatooine', 'address_state': 'Tatooine', 'address_phone': '612345678', 'address_zip': '00001', } response = self.client.post( reverse('web:update_customer_address', kwargs={'pk': self.customer_address.pk}), data ) assert response.status_code == 200 self.customer_address.refresh_from_db() assert self.customer_address.full_name == data.get('full_name') assert self.customer_address.address == data.get('address') assert self.customer_address.address_town == data.get('address_town') assert self.customer_address.address_state == data.get('address_state') assert self.customer_address.address_phone == data.get('address_phone')