same basic rcr unit tests
This commit is contained in:
@@ -361,5 +361,3 @@ def test_cookies(db, client):
|
||||
#assert "csrftoken" in [i.text for i in soup.find_all("th")]
|
||||
#assert "sessionid" in [i.text for i in soup.find_all("th")]
|
||||
|
||||
|
||||
|
||||
|
||||
@@ -0,0 +1,87 @@
|
||||
import pytest
|
||||
from django.contrib.auth.models import Group
|
||||
|
||||
from rcr.models import Item, Level, OncologyCategory, Outcome, OutcomeReason, RadiologyCategory
|
||||
|
||||
@pytest.fixture
|
||||
def create_superuser(db, django_user_model):
|
||||
return django_user_model.objects.create_superuser(
|
||||
"admin", "ross@xkjq.uk", "adminpassword"
|
||||
)
|
||||
|
||||
@pytest.fixture
|
||||
def create_cid_manager(db, django_user_model):
|
||||
user = django_user_model.objects.create_user(
|
||||
"cid_user", "cid@user.com", "password1234"
|
||||
)
|
||||
g = Group.objects.create(name="cid_user_manager")
|
||||
g.save()
|
||||
user.groups.add(g)
|
||||
return user
|
||||
|
||||
@pytest.fixture
|
||||
def create_groups(db):
|
||||
Group.objects.create(name="rcr_radiology_assessor")
|
||||
Group.objects.create(name="rcr_oncology_assessor")
|
||||
Group.objects.create(name="rcr_assessor")
|
||||
|
||||
|
||||
@pytest.fixture
|
||||
def create_radiology_user(db, django_user_model, create_groups):
|
||||
user = django_user_model.objects.create_user(
|
||||
"rad", "rad@user.com", "password1234", first_name="Radiology", last_name="User"
|
||||
)
|
||||
user.groups.add(Group.objects.get(name="rcr_radiology_assessor"))
|
||||
return user
|
||||
|
||||
@pytest.fixture
|
||||
def create_oncology_user(db, django_user_model, create_groups):
|
||||
user = django_user_model.objects.create_user(
|
||||
"onc", "onc@user.com", "password1234", first_name="Oncology", last_name="User"
|
||||
)
|
||||
user.groups.add(Group.objects.get(name="rcr_oncology_assessor"))
|
||||
return user
|
||||
|
||||
@pytest.fixture
|
||||
def create_item(db, create_radiology_category, create_oncology_category, create_outcome, create_outcome_reason, create_level):
|
||||
return Item.objects.create(
|
||||
name="Test Item",
|
||||
description="Test Description",
|
||||
content_type="Test Content Type",
|
||||
number_of_items=1,
|
||||
specialty="Test Specialty",
|
||||
access_count=1,
|
||||
targeted_to_group="Test Group",
|
||||
review_link="Test Review Link",
|
||||
review_link_password="Test Password",
|
||||
rcr_platform_id="Test Platform ID",
|
||||
radiology_category=create_radiology_category,
|
||||
oncology_category=create_oncology_category,
|
||||
outcome=create_outcome,
|
||||
outcome_reason=create_outcome_reason,
|
||||
outcome_free_text="Test Outcome Free Text",
|
||||
comments="Test Comments",
|
||||
needs_review=True,
|
||||
completed_radiology=True,
|
||||
completed_oncology=True
|
||||
)
|
||||
|
||||
@pytest.fixture
|
||||
def create_level(db):
|
||||
return Level.objects.create(name="Test Level")
|
||||
|
||||
@pytest.fixture
|
||||
def create_radiology_category(db):
|
||||
return RadiologyCategory.objects.create(name="Test Radiology Category")
|
||||
|
||||
@pytest.fixture
|
||||
def create_oncology_category(db):
|
||||
return OncologyCategory.objects.create(name="Test Oncology Category")
|
||||
|
||||
@pytest.fixture
|
||||
def create_outcome(db):
|
||||
return Outcome.objects.create(name="Test Outcome")
|
||||
|
||||
@pytest.fixture
|
||||
def create_outcome_reason(db):
|
||||
return OutcomeReason.objects.create(reason="Test Outcome Reason")
|
||||
@@ -0,0 +1,62 @@
|
||||
# FILEPATH: /home/ross/rad/rad/rapids/tests/test_models.py
|
||||
|
||||
from django.contrib.auth import get_user_model
|
||||
from rcr.models import Item, Level, RadiologyCategory, OncologyCategory, Outcome, OutcomeReason
|
||||
import pytest
|
||||
|
||||
@pytest.fixture
|
||||
def create_level(db):
|
||||
return Level.objects.create(name="Test Level")
|
||||
|
||||
@pytest.fixture
|
||||
def create_radiology_category(db):
|
||||
return RadiologyCategory.objects.create(name="Test Radiology Category")
|
||||
|
||||
@pytest.fixture
|
||||
def create_oncology_category(db):
|
||||
return OncologyCategory.objects.create(name="Test Oncology Category")
|
||||
|
||||
@pytest.fixture
|
||||
def create_outcome(db):
|
||||
return Outcome.objects.create(name="Test Outcome")
|
||||
|
||||
@pytest.fixture
|
||||
def create_outcome_reason(db):
|
||||
return OutcomeReason.objects.create(reason="Test Outcome Reason")
|
||||
|
||||
@pytest.fixture
|
||||
def create_item(db, create_level, create_radiology_category, create_oncology_category, create_outcome, create_outcome_reason):
|
||||
item = Item.objects.create(
|
||||
name="Test Item",
|
||||
description="Test Description",
|
||||
content_type="Test Content Type",
|
||||
number_of_items=1,
|
||||
specialty="Test Specialty",
|
||||
access_count=1,
|
||||
targeted_to_group="Test Group",
|
||||
review_link="Test Review Link",
|
||||
review_link_password="Test Password",
|
||||
rcr_platform_id="Test Platform ID",
|
||||
radiology_category=create_radiology_category,
|
||||
oncology_category=create_oncology_category,
|
||||
outcome=create_outcome,
|
||||
outcome_reason=create_outcome_reason,
|
||||
outcome_free_text="Test Outcome Free Text",
|
||||
comments="Test Comments",
|
||||
needs_review=True,
|
||||
completed_radiology=True,
|
||||
completed_oncology=True
|
||||
)
|
||||
item.level.add(create_level)
|
||||
return item
|
||||
|
||||
def test_item_creation(create_item):
|
||||
assert Item.objects.count() == 1
|
||||
assert Item.objects.first().name == "Test Item"
|
||||
|
||||
def test_item_str(create_item):
|
||||
assert str(create_item) == "Test Specialty / Test Content Type / Test Item [Completed ONC] [Completed RAD]"
|
||||
|
||||
def test_item_get_assessed_by(create_item, create_radiology_user):
|
||||
create_item.assessed_by.add(create_radiology_user)
|
||||
assert create_item.get_assessed_by() == f"<span title='Assessed by Radiology User'>RU</span>"
|
||||
+75
-42
@@ -12,49 +12,82 @@ import django.test
|
||||
|
||||
|
||||
|
||||
@pytest.fixture
|
||||
def create_superuser(db, django_user_model):
|
||||
return django_user_model.objects.create_superuser(
|
||||
"admin", "ross@xkjq.uk", "adminpassword"
|
||||
)
|
||||
|
||||
@pytest.fixture
|
||||
def create_cid_manager(db, django_user_model):
|
||||
user = django_user_model.objects.create_user(
|
||||
"cid_user", "cid@user.com", "password1234"
|
||||
)
|
||||
g = Group.objects.create(name="cid_user_manager")
|
||||
g.save()
|
||||
user.groups.add(g)
|
||||
return user
|
||||
|
||||
@pytest.fixture
|
||||
def create_groups(db):
|
||||
Group.objects.create(name="rcr_radiology_assessor")
|
||||
Group.objects.create(name="rcr_oncology_assessor")
|
||||
Group.objects.create(name="rcr_assessor")
|
||||
|
||||
|
||||
@pytest.fixture
|
||||
def create_radiology_user(db, django_user_model):
|
||||
user = django_user_model.objects.create_user(
|
||||
"rad", "rad@user.com", "password1234"
|
||||
)
|
||||
user.groups.add(Group.objects.get(name="rcr_radiology_assessor"))
|
||||
return user
|
||||
|
||||
@pytest.fixture
|
||||
def create_oncology_user(db, django_user_model):
|
||||
user = django_user_model.objects.create_user(
|
||||
"onc", "onc@user.com", "password1234"
|
||||
)
|
||||
user.groups.add(Group.objects.get(name="rcr_oncology_assessor"))
|
||||
return user
|
||||
|
||||
|
||||
def test_index(client: django.test.Client, create_groups, create_radiology_user):
|
||||
def test_radiology_index_view(client, create_radiology_user):
|
||||
client.force_login(create_radiology_user)
|
||||
response = client.get(reverse(f"rcr:radiology_index_view"))
|
||||
|
||||
url = reverse("rcr:radiology_index_view")
|
||||
response = client.get(url)
|
||||
assert response.status_code == 200
|
||||
|
||||
print(response.content)
|
||||
def test_radiology_index_all_view(client, create_radiology_user):
|
||||
client.force_login(create_radiology_user)
|
||||
url = reverse("rcr:radiology_index_all_view")
|
||||
response = client.get(url)
|
||||
assert response.status_code == 200
|
||||
|
||||
def test_radiology_review_view(client, create_radiology_user):
|
||||
client.force_login(create_radiology_user)
|
||||
url = reverse("rcr:radiology_review_view")
|
||||
response = client.get(url)
|
||||
assert response.status_code == 302
|
||||
|
||||
def test_radiology_index_completed_view(client, create_radiology_user):
|
||||
client.force_login(create_radiology_user)
|
||||
url = reverse("rcr:radiology_index_completed_view")
|
||||
response = client.get(url)
|
||||
assert response.status_code == 200
|
||||
|
||||
def test_radiology_assessors_view(client, create_radiology_user):
|
||||
client.force_login(create_radiology_user)
|
||||
url = reverse("rcr:radiology_assessors_view")
|
||||
response = client.get(url)
|
||||
assert response.status_code == 200
|
||||
|
||||
def test_radiology_assigned_user_view(client, create_radiology_user):
|
||||
client.force_login(create_radiology_user)
|
||||
user_pk = create_radiology_user.pk
|
||||
url = reverse("rcr:radiology_assigned_user_view", args=[user_pk])
|
||||
response = client.get(url)
|
||||
assert response.status_code == 200
|
||||
|
||||
def test_radiology_assessor_assignment_view(client, create_radiology_user):
|
||||
client.force_login(create_radiology_user)
|
||||
assessor_pk = create_radiology_user.pk
|
||||
url = reverse("rcr:radiology_assessor_assignment_view", args=[assessor_pk])
|
||||
response = client.get(url)
|
||||
assert response.status_code == 200
|
||||
|
||||
def test_radiology_index_completed_by_user_view(client, create_radiology_user):
|
||||
client.force_login(create_radiology_user)
|
||||
user_pk = create_radiology_user.pk
|
||||
url = reverse("rcr:radiology_index_completed_by_user_view", args=[user_pk])
|
||||
response = client.get(url)
|
||||
assert response.status_code == 200
|
||||
|
||||
def test_radiology_detail_view(client, create_radiology_user, create_item):
|
||||
client.force_login(create_radiology_user)
|
||||
item_pk = create_item.pk
|
||||
url = reverse("rcr:radiology_detail_view", args=[item_pk])
|
||||
response = client.get(url)
|
||||
assert response.status_code == 200
|
||||
|
||||
def test_radiology_update_next_view(client, create_radiology_user):
|
||||
client.force_login(create_radiology_user)
|
||||
url = reverse("rcr:radiology_update_next_view")
|
||||
response = client.get(url)
|
||||
assert response.status_code == 302
|
||||
|
||||
def test_radiology_update_next_skip_view(client, create_radiology_user):
|
||||
client.force_login(create_radiology_user)
|
||||
skip = 1 # Replace with a valid skip value
|
||||
url = reverse("rcr:radiology_update_next_skip_view", args=[skip])
|
||||
response = client.get(url)
|
||||
assert response.status_code == 302
|
||||
|
||||
def test_radiology_update_view(client, create_radiology_user, create_item):
|
||||
client.force_login(create_radiology_user)
|
||||
item_pk = create_item.pk
|
||||
url = reverse("rcr:radiology_update_view", args=[item_pk])
|
||||
response = client.get(url)
|
||||
assert response.status_code == 200
|
||||
Reference in New Issue
Block a user