mirror of
https://github.com/pacnpal/thrillwiki_django_no_react.git
synced 2025-12-29 22:47:00 -05:00
feat: Implement MFA authentication, add ride statistics model, and update various services, APIs, and tests across the application.
This commit is contained in:
@@ -12,11 +12,11 @@ These are faster than E2E tests and don't require Playwright.
|
||||
"""
|
||||
|
||||
import json
|
||||
import pytest
|
||||
from django.test import TestCase, Client
|
||||
from django.urls import reverse
|
||||
|
||||
from django.contrib.auth import get_user_model
|
||||
from django.contrib.contenttypes.models import ContentType
|
||||
from django.test import Client, TestCase
|
||||
from django.urls import reverse
|
||||
|
||||
User = get_user_model()
|
||||
|
||||
@@ -730,9 +730,10 @@ class TestFSMTransitionViewStateLog(TestCase):
|
||||
|
||||
def test_transition_creates_state_log(self):
|
||||
"""Test that FSM transition creates a StateLog entry."""
|
||||
from django_fsm_log.models import StateLog
|
||||
|
||||
from apps.moderation.models import EditSubmission
|
||||
from apps.parks.models import Park
|
||||
from django_fsm_log.models import StateLog
|
||||
|
||||
park = Park.objects.first()
|
||||
if not park:
|
||||
|
||||
@@ -5,19 +5,16 @@ These tests verify the complete state transition workflows for
|
||||
Parks and Rides using the FSM implementation.
|
||||
"""
|
||||
|
||||
import pytest
|
||||
from datetime import date, timedelta
|
||||
from django.test import TestCase
|
||||
from django.core.exceptions import ValidationError
|
||||
|
||||
from apps.parks.models import Park
|
||||
from apps.rides.models import Ride
|
||||
import pytest
|
||||
from django.test import TestCase
|
||||
|
||||
from tests.factories import (
|
||||
ParkAreaFactory,
|
||||
ParkFactory,
|
||||
RideFactory,
|
||||
UserFactory,
|
||||
ParkAreaFactory,
|
||||
)
|
||||
|
||||
|
||||
|
||||
@@ -6,18 +6,15 @@ validation, location creation, and related operations.
|
||||
"""
|
||||
|
||||
import pytest
|
||||
from django.test import TestCase, TransactionTestCase
|
||||
from django.db import transaction
|
||||
from django.test import TestCase
|
||||
|
||||
from apps.parks.models import Park, ParkArea, ParkReview
|
||||
from apps.parks.forms import ParkForm
|
||||
|
||||
from tests.factories import (
|
||||
ParkFactory,
|
||||
ParkAreaFactory,
|
||||
OperatorCompanyFactory,
|
||||
UserFactory,
|
||||
ParkAreaFactory,
|
||||
ParkFactory,
|
||||
RideFactory,
|
||||
UserFactory,
|
||||
)
|
||||
|
||||
|
||||
@@ -61,9 +58,9 @@ class TestParkCreationWorkflow(TestCase):
|
||||
park = ParkFactory()
|
||||
|
||||
# Add areas
|
||||
area1 = ParkAreaFactory(park=park, name="Main Entrance")
|
||||
area2 = ParkAreaFactory(park=park, name="Thrill Zone")
|
||||
area3 = ParkAreaFactory(park=park, name="Kids Area")
|
||||
ParkAreaFactory(park=park, name="Main Entrance")
|
||||
ParkAreaFactory(park=park, name="Thrill Zone")
|
||||
ParkAreaFactory(park=park, name="Kids Area")
|
||||
|
||||
# Verify structure
|
||||
assert park.areas.count() == 3
|
||||
@@ -156,7 +153,7 @@ class TestParkReviewWorkflow(TestCase):
|
||||
|
||||
from tests.factories import ParkReviewFactory
|
||||
|
||||
review1 = ParkReviewFactory(park=park, user=user1, rating=10, is_published=True)
|
||||
ParkReviewFactory(park=park, user=user1, rating=10, is_published=True)
|
||||
review2 = ParkReviewFactory(park=park, user=user2, rating=2, is_published=True)
|
||||
|
||||
# Unpublish the low rating
|
||||
|
||||
@@ -5,22 +5,21 @@ These tests verify the complete workflow of photo uploads including
|
||||
validation, processing, and moderation.
|
||||
"""
|
||||
|
||||
import pytest
|
||||
from unittest.mock import Mock, patch
|
||||
from django.test import TestCase
|
||||
|
||||
import pytest
|
||||
from django.core.files.uploadedfile import SimpleUploadedFile
|
||||
from django.test import TestCase
|
||||
|
||||
from apps.parks.models import ParkPhoto
|
||||
from apps.rides.models import RidePhoto
|
||||
from apps.parks.services.media_service import ParkMediaService
|
||||
|
||||
from tests.factories import (
|
||||
ParkFactory,
|
||||
RideFactory,
|
||||
ParkPhotoFactory,
|
||||
RideFactory,
|
||||
RidePhotoFactory,
|
||||
UserFactory,
|
||||
StaffUserFactory,
|
||||
UserFactory,
|
||||
)
|
||||
|
||||
|
||||
@@ -215,9 +214,9 @@ class TestRidePhotoWorkflow(TestCase):
|
||||
"""Test ride photos can have different types."""
|
||||
ride = RideFactory()
|
||||
|
||||
exterior = RidePhotoFactory(ride=ride, photo_type="exterior")
|
||||
queue = RidePhotoFactory(ride=ride, photo_type="queue")
|
||||
onride = RidePhotoFactory(ride=ride, photo_type="onride")
|
||||
RidePhotoFactory(ride=ride, photo_type="exterior")
|
||||
RidePhotoFactory(ride=ride, photo_type="queue")
|
||||
RidePhotoFactory(ride=ride, photo_type="onride")
|
||||
|
||||
assert ride.photos.filter(photo_type="exterior").count() == 1
|
||||
assert ride.photos.filter(photo_type="queue").count() == 1
|
||||
|
||||
Reference in New Issue
Block a user