feat: added mlscore app

This commit is contained in:
ITQ
2025-02-16 12:40:41 +03:00
parent bdafd96d94
commit 2aa93a2b51
7 changed files with 150 additions and 0 deletions
@@ -0,0 +1,70 @@
from django.test import TestCase
from django.db.utils import IntegrityError
from django.core.exceptions import ValidationError
from config.errors import ConflictError
from apps.advertiser.models import Advertiser
from apps.client.models import Client
from apps.mlscore.models import Mlscore
class MlscoreModelTest(TestCase):
def setUp(self):
self.advertiser = Advertiser.objects.create(name="Test Advertiser")
self.client_obj = Client.objects.create(
login="test_client",
age=25,
location="test_location",
gender=Client.GenderChoices.MALE,
)
def test_create_mlscore(self):
mlscore = Mlscore.objects.create(
advertiser=self.advertiser,
client=self.client_obj,
score=95,
)
self.assertEqual(mlscore.score, 95)
self.assertEqual(str(mlscore), "Test Advertiser | test_client")
def test_mlscore_unique_together_constraint(self):
Mlscore.objects.create(
advertiser=self.advertiser,
client=self.client_obj,
score=80,
)
with self.assertRaises(ConflictError):
Mlscore.objects.create(
advertiser=self.advertiser,
client=self.client_obj,
score=85,
)
def test_delete_advertiser_cascades(self):
mlscore = Mlscore.objects.create(
advertiser=self.advertiser,
client=self.client_obj,
score=90,
)
self.advertiser.delete()
self.assertFalse(Mlscore.objects.filter(id=mlscore.id).exists())
def test_delete_client_cascades(self):
mlscore = Mlscore.objects.create(
advertiser=self.advertiser,
client=self.client_obj,
score=90,
)
self.client_obj.delete()
self.assertFalse(Mlscore.objects.filter(id=mlscore.id).exists())
def test_score_positive_integer_constraint(self):
with self.assertRaises(ValidationError):
Mlscore.objects.create(
advertiser=self.advertiser,
client=self.client_obj,
score=-5,
)