feat: Implement MFA authentication, add ride statistics model, and update various services, APIs, and tests across the application.

This commit is contained in:
pacnpal
2025-12-28 17:32:53 -05:00
parent aa56c46c27
commit c95f99ca10
452 changed files with 7948 additions and 6073 deletions

View File

@@ -21,18 +21,18 @@ dependencies are not installed or if running in CI without browser support.
import os
import unittest
from django.test import TestCase, LiveServerTestCase, override_settings
from django.urls import reverse
from django.contrib.auth import get_user_model
from django.test import LiveServerTestCase, TestCase, override_settings
from django.urls import reverse
# Check if selenium and axe are available
try:
from selenium import webdriver
from selenium.webdriver.chrome.options import Options
from selenium.webdriver.chrome.service import Service
from selenium.webdriver.common.by import By
from selenium.webdriver.support.ui import WebDriverWait
from selenium.webdriver.support import expected_conditions as EC
from selenium.webdriver.support.ui import WebDriverWait
HAS_SELENIUM = True
except ImportError:
HAS_SELENIUM = False
@@ -158,7 +158,7 @@ class WCAGComplianceTests(AccessibilityTestMixin, LiveServerTestCase):
cls.driver = webdriver.Chrome(options=chrome_options)
cls.driver.implicitly_wait(10)
except Exception as e:
raise unittest.SkipTest(f"Chrome WebDriver not available: {e}")
raise unittest.SkipTest(f"Chrome WebDriver not available: {e}") from None
@classmethod
def tearDownClass(cls):