feat: add parser source dashboard and scheduling
Some checks failed
CI/CD Pipeline / Code Quality Checks (pull_request) Failing after 9s
CI/CD Pipeline / Run Tests (pull_request) Failing after 48s
CI/CD Pipeline / Build Docker Images (pull_request) Has been skipped
CI/CD Pipeline / Push to Gitea Registry (pull_request) Has been skipped
Some checks failed
CI/CD Pipeline / Code Quality Checks (pull_request) Failing after 9s
CI/CD Pipeline / Run Tests (pull_request) Failing after 48s
CI/CD Pipeline / Build Docker Images (pull_request) Has been skipped
CI/CD Pipeline / Push to Gitea Registry (pull_request) Has been skipped
This commit is contained in:
@@ -1,7 +1,7 @@
|
||||
"""Tests for core services"""
|
||||
|
||||
from apps.core.exceptions import NotFoundError
|
||||
from apps.core.services import BaseService
|
||||
from apps.core.services import BaseService, BulkOperationsMixin
|
||||
from django.contrib.auth import get_user_model
|
||||
from django.test import TestCase
|
||||
|
||||
@@ -14,6 +14,12 @@ class UserTestService(BaseService[User]):
|
||||
model = User
|
||||
|
||||
|
||||
class UserBulkTestService(BulkOperationsMixin, BaseService[User]):
|
||||
"""Test bulk service using User model"""
|
||||
|
||||
model = User
|
||||
|
||||
|
||||
class BaseServiceTest(TestCase):
|
||||
"""Tests for BaseService"""
|
||||
|
||||
@@ -21,7 +27,7 @@ class BaseServiceTest(TestCase):
|
||||
self.user = User.objects.create_user(
|
||||
username="testuser",
|
||||
email="test@example.com",
|
||||
password="testpass123",
|
||||
password="testpass123", # noqa: S106
|
||||
)
|
||||
|
||||
def test_get_by_id_success(self):
|
||||
@@ -53,7 +59,7 @@ class BaseServiceTest(TestCase):
|
||||
User.objects.create_user(
|
||||
username="testuser2",
|
||||
email="test2@example.com",
|
||||
password="testpass123",
|
||||
password="testpass123", # noqa: S106
|
||||
)
|
||||
|
||||
result = UserTestService.get_all()
|
||||
@@ -101,3 +107,24 @@ class BaseServiceTest(TestCase):
|
||||
UserTestService.delete(self.user)
|
||||
|
||||
self.assertFalse(User.objects.filter(pk=user_pk).exists())
|
||||
|
||||
|
||||
class BulkOperationsMixinTest(TestCase):
|
||||
"""Tests for bulk operation helpers."""
|
||||
|
||||
def test_bulk_create_rejects_update_conflicts_on_django_3(self):
|
||||
"""Test Django 4-only bulk upsert API is not exposed as working."""
|
||||
instances = [
|
||||
User(
|
||||
username="bulk-user",
|
||||
email="bulk@example.com",
|
||||
)
|
||||
]
|
||||
|
||||
with self.assertRaises(NotImplementedError):
|
||||
UserBulkTestService.bulk_create_chunked(
|
||||
instances,
|
||||
update_conflicts=True,
|
||||
update_fields=["email"],
|
||||
unique_fields=["username"],
|
||||
)
|
||||
|
||||
Reference in New Issue
Block a user