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')