Files
penracourses/rcr/tests/test_rcr_models.py
T

62 lines
2.2 KiB
Python

# 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>"