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