1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
|
import random
import pytest
from slugify import slugify
from ctrack.caf.models import CAF, Grading
from ctrack.caf.models import EssentialService
from ctrack.caf.tests.factories import ApplicableSystemFactory
from ctrack.core.utils import fnames
from ctrack.organisations.tests.factories import PersonFactory
pytestmark = pytest.mark.django_db
def test_get_people(org, person):
person.organisation = org
person.save()
assert person in org.get_people()
def test_lead_deputy_inspector(org):
assert org.lead_inspector
assert org.deputy_lead_inspector
def test_organisation_get_absolute_url(org):
slug = slugify(org.name)
assert org.get_absolute_url() == f"/organisations/{slug}/"
def test_update_organisation(org_with_people):
# Change the name of the organisation
org_with_people.name = "Tonkers Ltd"
org_with_people.save()
assert org_with_people.name == "Tonkers Ltd"
def test_new_address(addr):
# The address "has" an organisation
assert addr.organisation.name
def test_essential_service(org):
q1 = Grading.objects.create(descriptor="Q1", description="baws", type="QUALITY")
c1 = Grading.objects.create(
descriptor="C1", description="baws_c", type="CONFIDENCE"
)
caf = CAF.objects.create(
quality_grading=q1,
organisation=org,
confidence_grading=c1,
triage_review_date=None,
triage_review_inspector=None,
)
ass = ApplicableSystemFactory.create(name=random.choice(fnames), caf=caf, )
ass2 = ApplicableSystemFactory.create(name=random.choice(fnames), caf=caf, )
es = EssentialService.objects.create(
name="Test ES", description="Test ES Description", organisation=org
)
es.systems.add(ass, ass2)
assert es.organisation.name == org.name
assert es.name == "Test ES"
assert es.systems.count() == 2
assert ass.name in [s.name for s in org.systems()]
|