diff --git a/tienda_ilusion/don_confiao/tests/Mixins.py b/tienda_ilusion/don_confiao/tests/Mixins.py new file mode 100644 index 0000000..7957827 --- /dev/null +++ b/tienda_ilusion/don_confiao/tests/Mixins.py @@ -0,0 +1,10 @@ +from django.contrib.auth.models import User + + +class LoginMixin: + def login(self): + username = 'nombre_usuario' + password = 'contraseña' + email = 'correo@example.com' + self.user = User.objects.create_user(username, email, password) + self.client.login(username=username, password=password) diff --git a/tienda_ilusion/don_confiao/tests/test_admin_code.py b/tienda_ilusion/don_confiao/tests/test_admin_code.py index 87194f0..10d1533 100644 --- a/tienda_ilusion/don_confiao/tests/test_admin_code.py +++ b/tienda_ilusion/don_confiao/tests/test_admin_code.py @@ -1,20 +1,21 @@ -from django.test import TestCase, Client +from django.test import TestCase from ..models import AdminCode +from .Mixins import LoginMixin import json -class TestAdminCode(TestCase): +class TestAdminCode(TestCase, LoginMixin): def setUp(self): + self.login() + self.valid_code = 'some valid code' admin_code = AdminCode() admin_code.value = self.valid_code admin_code.clean() admin_code.save() - self.client = Client() - def test_validate_code(self): url = '/don_confiao/api/admin_code/validate/' + self.valid_code response = self.client.get(url) diff --git a/tienda_ilusion/don_confiao/tests/test_api.py b/tienda_ilusion/don_confiao/tests/test_api.py index e9c59dc..dcc6441 100644 --- a/tienda_ilusion/don_confiao/tests/test_api.py +++ b/tienda_ilusion/don_confiao/tests/test_api.py @@ -2,14 +2,16 @@ import json import csv import io -from django.urls import reverse from rest_framework import status from rest_framework.test import APITestCase from ..models import Sale, Product, Customer +from .Mixins import LoginMixin -class TestAPI(APITestCase): +class TestAPI(APITestCase, LoginMixin): def setUp(self): + self.login() + self.product = Product.objects.create( name='Panela', price=5000, diff --git a/tienda_ilusion/don_confiao/tests/test_customers_from_tryton.py b/tienda_ilusion/don_confiao/tests/test_customers_from_tryton.py index 3924f4d..6af2382 100644 --- a/tienda_ilusion/don_confiao/tests/test_customers_from_tryton.py +++ b/tienda_ilusion/don_confiao/tests/test_customers_from_tryton.py @@ -1,12 +1,15 @@ import json from unittest.mock import patch -from django.test import Client, TestCase +from django.test import TestCase from ..models import Customer +from .Mixins import LoginMixin -class TestCustomersFromTryton(TestCase): +class TestCustomersFromTryton(TestCase, LoginMixin): def setUp(self): + self.login() + self.customer = Customer.objects.create( name='Calos', external_id=5 diff --git a/tienda_ilusion/don_confiao/tests/test_exportar_ventas_para_tryton.py b/tienda_ilusion/don_confiao/tests/test_exportar_ventas_para_tryton.py index 09765da..8ef8503 100644 --- a/tienda_ilusion/don_confiao/tests/test_exportar_ventas_para_tryton.py +++ b/tienda_ilusion/don_confiao/tests/test_exportar_ventas_para_tryton.py @@ -2,13 +2,16 @@ import csv import json from unittest.mock import patch -from django.test import TestCase, Client -from django.urls import reverse +from django.test import TestCase from ..models import Sale, SaleLine, Product, Customer +from .Mixins import LoginMixin -class TestExportarVentasParaTryton(TestCase): + +class TestExportarVentasParaTryton(TestCase, LoginMixin): def setUp(self): + self.login() + self.product = Product.objects.create( name='Panela', price=5000, @@ -41,9 +44,8 @@ class TestExportarVentasParaTryton(TestCase): ) def test_exportar_ventas_para_tryton(self): - client = Client() url = '/don_confiao/exportar_ventas_para_tryton' - response = client.get(url) + response = self.client.get(url) self.assertEqual(response.status_code, 200) self.assertEqual(response['Content-Type'], 'text/csv') csv_content = response.content.decode('utf-8') @@ -82,12 +84,11 @@ class TestExportarVentasParaTryton(TestCase): @patch('sabatron_tryton_rpc_client.client.Client.call') @patch('sabatron_tryton_rpc_client.client.Client.connect') def test_send_sales_to_tryton(self, mock_connect, mock_call): - client = Client() external_id = '23423' url = '/don_confiao/api/enviar_ventas_a_tryton' mock_connect.return_value = None mock_call.return_value = [external_id] - response = client.post(url) + response = self.client.post(url) self.assertEqual(response.status_code, 200) content = json.loads(response.content.decode('utf-8')) diff --git a/tienda_ilusion/don_confiao/tests/test_jar_reconciliation.py b/tienda_ilusion/don_confiao/tests/test_jar_reconciliation.py index c7a97f2..7f1386c 100644 --- a/tienda_ilusion/don_confiao/tests/test_jar_reconciliation.py +++ b/tienda_ilusion/don_confiao/tests/test_jar_reconciliation.py @@ -1,18 +1,19 @@ -from django.test import TestCase, Client +from django.test import TestCase from django.core.exceptions import ValidationError from ..models import Sale, Product, SaleLine, Customer, ReconciliationJar +from .Mixins import LoginMixin import json -class TestJarReconcliation(TestCase): +class TestJarReconcliation(TestCase, LoginMixin): def setUp(self): + self.login() + customer = Customer() customer.name = 'Alejo Mono' customer.save() - self.client = Client() - purchase = Sale() purchase.customer = customer purchase.date = "2024-07-30" diff --git a/tienda_ilusion/don_confiao/tests/test_payment_methods.py b/tienda_ilusion/don_confiao/tests/test_payment_methods.py index 4fa504d..6d38a12 100644 --- a/tienda_ilusion/don_confiao/tests/test_payment_methods.py +++ b/tienda_ilusion/don_confiao/tests/test_payment_methods.py @@ -1,10 +1,10 @@ -from django.test import Client, TestCase +from django.test import TestCase +from .Mixins import LoginMixin -# from ..models import PaymentMethods -class TestPaymentMethods(TestCase): +class TestPaymentMethods(TestCase, LoginMixin): def setUp(self): - self.client = Client() + self.login() def test_keys_in_payment_methods_to_select(self): response = self.client.get( diff --git a/tienda_ilusion/don_confiao/tests/test_products_from_tryton.py b/tienda_ilusion/don_confiao/tests/test_products_from_tryton.py index 9b96193..52a80ab 100644 --- a/tienda_ilusion/don_confiao/tests/test_products_from_tryton.py +++ b/tienda_ilusion/don_confiao/tests/test_products_from_tryton.py @@ -2,12 +2,15 @@ import json from decimal import Decimal from unittest.mock import patch -from django.test import Client, TestCase -from ..models import ProductCategory, Product +from django.test import TestCase +from ..models import Product +from .Mixins import LoginMixin -class TestProductsFromTryton(TestCase): +class TestProductsFromTryton(TestCase, LoginMixin): def setUp(self): + self.login() + self.product = Product.objects.create( name='Panela', price=5000, diff --git a/tienda_ilusion/don_confiao/tests/test_summary_view_purchase.py b/tienda_ilusion/don_confiao/tests/test_summary_view_purchase.py index 8def1b4..63e3cd6 100644 --- a/tienda_ilusion/don_confiao/tests/test_summary_view_purchase.py +++ b/tienda_ilusion/don_confiao/tests/test_summary_view_purchase.py @@ -1,14 +1,16 @@ -from django.test import TestCase, Client +from django.test import TestCase from ..models import Sale, Product, SaleLine, Customer +from .Mixins import LoginMixin -class TestSummaryViewPurchase(TestCase): +class TestSummaryViewPurchase(TestCase, LoginMixin): def setUp(self): + self.login() + customer = Customer() customer.name = 'Alejo Mono' customer.save() - self.client = Client() purchase = Sale() purchase.customer = customer purchase.date = "2024-07-30" diff --git a/tienda_ilusion/tienda_ilusion/settings.py b/tienda_ilusion/tienda_ilusion/settings.py index a48f9c4..df1a981 100644 --- a/tienda_ilusion/tienda_ilusion/settings.py +++ b/tienda_ilusion/tienda_ilusion/settings.py @@ -65,7 +65,7 @@ ROOT_URLCONF = 'tienda_ilusion.urls' TEMPLATES = [ { 'BACKEND': 'django.template.backends.django.DjangoTemplates', - 'DIRS': [], + 'DIRS': [os.path.join(BASE_DIR, 'tienda_ilusion/templates')], 'APP_DIRS': True, 'OPTIONS': { 'context_processors': [ @@ -134,3 +134,14 @@ STATIC_URL = 'static/' DEFAULT_AUTO_FIELD = 'django.db.models.BigAutoField' FIXTURE_DIRS = ['don_confiao/tests/Fixtures'] + +REST_FRAMEWORK = { + 'DEFAULT_AUTHENTICATION_CLASSES': [ + 'rest_framework.authentication.SessionAuthentication', + ], + 'DEFAULT_PERMISSION_CLASSES': [ + 'rest_framework.permissions.IsAuthenticated', + ], +} + +LOGOUT_REDIRECT_URL = '/start/' diff --git a/tienda_ilusion/tienda_ilusion/templates/registration/login.html b/tienda_ilusion/tienda_ilusion/templates/registration/login.html new file mode 100644 index 0000000..0ec0e16 --- /dev/null +++ b/tienda_ilusion/tienda_ilusion/templates/registration/login.html @@ -0,0 +1,5 @@ +
diff --git a/tienda_ilusion/tienda_ilusion/templates/registration/profile.html b/tienda_ilusion/tienda_ilusion/templates/registration/profile.html new file mode 100644 index 0000000..e70c7fe --- /dev/null +++ b/tienda_ilusion/tienda_ilusion/templates/registration/profile.html @@ -0,0 +1,27 @@ + + + +Nombre de usuario: {{ user.username }}
+Email: {{ user.email }}
+ +