Last bit of major changes

Closes #1
Closes #5
Closes #6
Closes #8
Closes #9
Closes #10
This commit is contained in:
2026-01-26 04:11:38 -06:00
parent 1cd87156bd
commit 739d136209
24 changed files with 1157 additions and 410 deletions

View File

@@ -0,0 +1,30 @@
from django.test import TestCase
from django.urls import reverse
from .models import User
class ProfileThemeTest(TestCase):
def setUp(self):
self.user = User.objects.create_user(username='testuser', password='password')
self.client.login(username='testuser', password='password')
def test_theme_preference_update(self):
# Default should be dark
self.assertEqual(self.user.profile.theme_preference, 'dark')
# Check if form is in context
response = self.client.get(reverse('users:profile'))
self.assertEqual(response.status_code, 200)
self.assertIn('form', response.context)
# Update theme to light
response = self.client.post(reverse('users:profile'), {
'theme_preference': 'light'
})
# Should redirect back to profile
self.assertRedirects(response, reverse('users:profile'))
# Check if updated in DB
self.user.profile.refresh_from_db()
self.assertEqual(self.user.profile.theme_preference, 'light')

View File

@@ -0,0 +1,28 @@
from django.test import TestCase
from users.models import PaymentMethod, User
from store.utils import Encryptor
class PaymentEncryptionTest(TestCase):
def test_encryption_decryption(self):
user = User.objects.create_user(username='testuser', password='password')
pm = PaymentMethod(user=user, brand='Visa', exp_month=12, exp_year=2030)
# Test setter
pm.card_number = '1234567890123456'
pm.cvv = '123'
# Verify it's encrypted
self.assertIsNotNone(pm.card_number_encrypted)
self.assertNotEqual(pm.card_number_encrypted, b'1234567890123456')
# Verify getter
self.assertEqual(pm.card_number, '1234567890123456')
self.assertEqual(pm.cvv, '123')
# Save and retrieval
pm.save()
pm_fetched = PaymentMethod.objects.get(id=pm.id)
self.assertEqual(pm_fetched.card_number, '1234567890123456')
self.assertEqual(pm_fetched.cvv, '123')
self.assertEqual(pm_fetched.last4, '3456')