diff --git a/web/tests/test_customer_addresses.py b/web/tests/test_customer_addresses.py new file mode 100644 index 0000000..a4ac92e --- /dev/null +++ b/web/tests/test_customer_addresses.py @@ -0,0 +1,45 @@ +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') diff --git a/web/tests/test_user_info.py b/web/tests/test_user_info.py new file mode 100644 index 0000000..7db4320 --- /dev/null +++ b/web/tests/test_user_info.py @@ -0,0 +1,28 @@ +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 TestUserInfo(TestCase, CreateProductsMixin): + def setUp(self): + self.user = User.objects.create_user("vader", "darth@vader.com", "ihatesand") + + def test_update_user_info(self): + self.client.force_login(self.user) + data = { + "first_name": "Anakin", + "last_name": "Skywalker", + "email": "anakin@skywalker.com" + } + + response = self.client.post(reverse("web:user_info_component"), data) + + assert response.status_code == 200 + self.user.refresh_from_db() + + assert self.user.first_name == data.get('first_name') + assert self.user.last_name == data.get('last_name') + assert self.user.email == data.get('email')