feat: обновления парсеров, тестов и миграций
Some checks failed
CI/CD Pipeline / Run Tests (push) Failing after 37s
CI/CD Pipeline / Code Quality Checks (push) Failing after 43s
CI/CD Pipeline / Build & Push Images (push) Has been skipped
CI/CD Pipeline / Deploy (dev) (push) Has been skipped
CI/CD Pipeline / Deploy (prod) (push) Has been skipped
CI/CD Pipeline / Code Quality Checks (pull_request) Failing after 0s
CI/CD Pipeline / Run Tests (pull_request) Failing after 0s
CI/CD Pipeline / Build & Push Images (pull_request) Has been skipped
CI/CD Pipeline / Deploy (dev) (pull_request) Has been skipped
CI/CD Pipeline / Deploy (prod) (pull_request) Has been skipped
Some checks failed
CI/CD Pipeline / Run Tests (push) Failing after 37s
CI/CD Pipeline / Code Quality Checks (push) Failing after 43s
CI/CD Pipeline / Build & Push Images (push) Has been skipped
CI/CD Pipeline / Deploy (dev) (push) Has been skipped
CI/CD Pipeline / Deploy (prod) (push) Has been skipped
CI/CD Pipeline / Code Quality Checks (pull_request) Failing after 0s
CI/CD Pipeline / Run Tests (pull_request) Failing after 0s
CI/CD Pipeline / Build & Push Images (pull_request) Has been skipped
CI/CD Pipeline / Deploy (dev) (pull_request) Has been skipped
CI/CD Pipeline / Deploy (prod) (pull_request) Has been skipped
- Обновлены клиенты парсеров (checko, fns, minpromtorg, proverki, zakupki) - Добавлены новые миграции для моделей - Расширено покрытие тестами - Обновлены конфигурации и настройки проекта - Добавлены утилиты для тестирования Co-Authored-By: Warp <agent@warp.dev>
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 BaseReadOnlyService, BaseService
|
||||
from django.contrib.auth import get_user_model
|
||||
from django.test import TestCase
|
||||
|
||||
@@ -101,3 +101,40 @@ class BaseServiceTest(TestCase):
|
||||
UserTestService.delete(self.user)
|
||||
|
||||
self.assertFalse(User.objects.filter(pk=user_pk).exists())
|
||||
|
||||
def test_bulk_create_and_update(self):
|
||||
users = [
|
||||
User(
|
||||
username=f"user{idx}",
|
||||
email=f"user{idx}@example.com",
|
||||
)
|
||||
for idx in range(2)
|
||||
]
|
||||
UserTestService.bulk_create(users)
|
||||
created = list(User.objects.filter(email__in=[u.email for u in users]))
|
||||
self.assertEqual(len(created), 2)
|
||||
|
||||
created[0].username = "changed"
|
||||
UserTestService.bulk_update(created, fields=["username"])
|
||||
self.assertTrue(User.objects.filter(username="changed").exists())
|
||||
|
||||
|
||||
class UserReadOnlyService(BaseReadOnlyService[User]):
|
||||
model = User
|
||||
|
||||
|
||||
class BaseReadOnlyServiceTest(TestCase):
|
||||
def setUp(self):
|
||||
self.user = User.objects.create_user(
|
||||
username="readonly",
|
||||
email="readonly@example.com",
|
||||
password="pass123", # noqa: S106
|
||||
)
|
||||
|
||||
def test_get_by_id(self):
|
||||
found = UserReadOnlyService.get_by_id(self.user.pk)
|
||||
self.assertEqual(found.pk, self.user.pk)
|
||||
|
||||
def test_get_by_id_not_found(self):
|
||||
with self.assertRaises(NotFoundError):
|
||||
UserReadOnlyService.get_by_id(999999)
|
||||
|
||||
Reference in New Issue
Block a user