Skip to content

Commit

Permalink
fix tests
Browse files Browse the repository at this point in the history
  • Loading branch information
erikvw committed Mar 26, 2024
1 parent 4aa69f9 commit a2ec092
Show file tree
Hide file tree
Showing 18 changed files with 168 additions and 266 deletions.
1 change: 0 additions & 1 deletion edc_metadata/tests/__init__.py
Original file line number Diff line number Diff line change
@@ -1 +0,0 @@
from .crf_test_helper import CrfTestHelper
4 changes: 2 additions & 2 deletions edc_metadata/tests/crf_test_helper.py
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
from model_bakery import baker

from ..constants import NOT_REQUIRED, REQUIRED
from ..models import CrfMetadata, RequisitionMetadata
from edc_metadata.constants import NOT_REQUIRED, REQUIRED
from edc_metadata.models import CrfMetadata, RequisitionMetadata


class CrfTestHelper:
Expand Down
4 changes: 4 additions & 0 deletions edc_metadata/tests/models.py
Original file line number Diff line number Diff line change
Expand Up @@ -3,6 +3,7 @@
from django.db import models
from django.db.models.deletion import PROTECT
from edc_consent.field_mixins import PersonalFieldsMixin
from edc_consent.managers import ConsentObjectsByCdefManager, CurrentSiteByCdefManager
from edc_constants.choices import YES_NO
from edc_constants.constants import MALE
from edc_crf.model_mixins import CrfWithActionModelMixin
Expand Down Expand Up @@ -89,6 +90,9 @@ class Meta(BaseUuidModel.Meta):


class SubjectConsentV1(SubjectConsent):
objects = ConsentObjectsByCdefManager()
on_site = CurrentSiteByCdefManager()

class Meta:
proxy = True

Expand Down
60 changes: 60 additions & 0 deletions edc_metadata/tests/test_settings.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,60 @@
import sys
from pathlib import Path

from edc_test_settings.default_test_settings import DefaultTestSettings

app_name = "edc_metadata"
base_dir = Path(__file__).parent.parent.parent
print(base_dir)

project_settings = DefaultTestSettings(
calling_file=__file__,
BASE_DIR=base_dir,
GIT_DIR=base_dir,
APP_NAME=app_name,
ETC_DIR=str(base_dir / "tests" / "etc"),
SILENCED_SYSTEM_CHECKS=[
"sites.E101",
"edc_navbar.E002",
"edc_navbar.E003",
"edc_consent.E001",
],
SUBJECT_VISIT_MODEL="edc_visit_tracking.subjectvisit",
EDC_SITES_REGISTER_DEFAULT=True,
INSTALLED_APPS=[
"django.contrib.admin",
"django.contrib.auth",
"django.contrib.contenttypes",
"django.contrib.sessions",
"django.contrib.messages",
"django.contrib.staticfiles",
"django.contrib.sites",
"django_crypto_fields.apps.AppConfig",
"django_revision.apps.AppConfig",
"multisite.apps.AppConfig",
"edc_action_item.apps.AppConfig",
"edc_appointment.apps.AppConfig",
"edc_auth.apps.AppConfig",
"edc_data_manager.apps.AppConfig",
"edc_device.apps.AppConfig",
"edc_facility.apps.AppConfig",
"edc_form_runners.apps.AppConfig",
"edc_identifier.apps.AppConfig",
"edc_lab.apps.AppConfig",
"edc_label.apps.AppConfig",
"edc_locator.apps.AppConfig",
"edc_metadata.apps.AppConfig",
"edc_notification.apps.AppConfig",
"edc_offstudy.apps.AppConfig",
"edc_registration.apps.AppConfig",
"edc_sites.apps.AppConfig",
"edc_timepoint.apps.AppConfig",
"edc_visit_schedule.apps.AppConfig",
"edc_visit_tracking.apps.AppConfig",
"edc_appconfig.apps.AppConfig",
],
add_dashboard_middleware=True,
).settings

for k, v in project_settings.items():
setattr(sys.modules[__name__], k, v)
9 changes: 7 additions & 2 deletions edc_metadata/tests/tests/metadata_test_mixin.py
Original file line number Diff line number Diff line change
@@ -1,12 +1,14 @@
from django.test import TestCase
from edc_appointment.models import Appointment
from edc_consent import site_consents
from edc_facility import import_holidays
from edc_lab.models import Panel
from edc_utils import get_utcnow
from edc_visit_schedule.site_visit_schedules import site_visit_schedules

from ...models import CrfMetadata, RequisitionMetadata
from ..models import SubjectConsent
from ..consents import consent_v1
from ..models import SubjectConsentV1
from ..visit_schedule import visit_schedule


Expand All @@ -22,13 +24,16 @@ def setUp(self):
for name in ["three", "four", "five", "six"]:
Panel.objects.create(name=name)

site_consents.registry = {}
site_consents.register(consent_v1)

site_visit_schedules._registry = {}
site_visit_schedules.loaded = False
site_visit_schedules.register(visit_schedule)
self.subject_identifier = "1111111"
self.assertEqual(CrfMetadata.objects.all().count(), 0)
self.assertEqual(RequisitionMetadata.objects.all().count(), 0)
subject_consent = SubjectConsent.objects.create(
subject_consent = SubjectConsentV1.objects.create(
subject_identifier=self.subject_identifier, consent_datetime=get_utcnow()
)
_, self.schedule = site_visit_schedules.get_by_onschedule_model(
Expand Down
15 changes: 10 additions & 5 deletions edc_metadata/tests/tests/test_crf_rule_group_gender.py
Original file line number Diff line number Diff line change
@@ -1,5 +1,6 @@
from django.test import TestCase, override_settings
from edc_appointment.models import Appointment
from edc_consent import site_consents
from edc_constants.constants import FEMALE, MALE
from edc_facility.import_holidays import import_holidays
from edc_registration.models import RegisteredSubject
Expand All @@ -9,8 +10,8 @@
from edc_visit_tracking.models import SubjectVisit
from faker import Faker

from ...constants import NOT_REQUIRED, REQUIRED
from ...metadata_rules import (
from edc_metadata.constants import NOT_REQUIRED, REQUIRED
from edc_metadata.metadata_rules import (
PF,
CrfRule,
CrfRuleGroup,
Expand All @@ -22,8 +23,10 @@
TargetModelConflict,
site_metadata_rules,
)
from ...models import CrfMetadata
from ..models import CrfOne, SubjectConsent
from edc_metadata.models import CrfMetadata

from ..consents import consent_v1
from ..models import CrfOne, SubjectConsentV1
from ..visit_schedule import visit_schedule

fake = Faker()
Expand Down Expand Up @@ -119,6 +122,8 @@ def setUpTestData(cls):
import_holidays()

def setUp(self):
site_consents.registry = {}
site_consents.register(consent_v1)
site_visit_schedules._registry = {}
site_visit_schedules.loaded = False
site_visit_schedules.register(visit_schedule)
Expand All @@ -132,7 +137,7 @@ def setUp(self):

def enroll(self, gender=None):
subject_identifier = fake.credit_card_number()
subject_consent = SubjectConsent.objects.create(
subject_consent = SubjectConsentV1.objects.create(
subject_identifier=subject_identifier,
consent_datetime=get_utcnow(),
gender=gender,
Expand Down
12 changes: 8 additions & 4 deletions edc_metadata/tests/tests/test_crf_rule_groups.py
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,7 @@
from django.core.exceptions import ObjectDoesNotExist
from django.test import TestCase
from edc_appointment.models import Appointment
from edc_consent import site_consents
from edc_constants.constants import MALE
from edc_facility.import_holidays import import_holidays
from edc_utils import get_utcnow
Expand All @@ -11,11 +12,12 @@
from faker import Faker

from edc_metadata import KEYED, NOT_REQUIRED, REQUIRED
from edc_metadata.metadata_handler import MetadataHandlerError
from edc_metadata.metadata_rules import CrfRule, CrfRuleGroup, P, site_metadata_rules
from edc_metadata.models import CrfMetadata

from ...metadata_handler import MetadataHandlerError
from ...metadata_rules import CrfRule, CrfRuleGroup, P, site_metadata_rules
from ..models import CrfOne, CrfTwo, PrnOne, SubjectConsent
from ..consents import consent_v1
from ..models import CrfOne, CrfTwo, PrnOne, SubjectConsentV1
from ..visit_schedule import visit_schedule

fake = Faker()
Expand Down Expand Up @@ -81,6 +83,8 @@ def setUpTestData(cls):
import_holidays()

def setUp(self):
site_consents.registry = {}
site_consents.register(consent_v1)
site_visit_schedules._registry = {}
site_visit_schedules.loaded = False
site_visit_schedules.register(visit_schedule)
Expand All @@ -96,7 +100,7 @@ def setUp(self):

def enroll(self, gender=None):
subject_identifier = fake.credit_card_number()
subject_consent = SubjectConsent.objects.create(
subject_consent = SubjectConsentV1.objects.create(
subject_identifier=subject_identifier,
consent_datetime=get_utcnow(),
gender=gender,
Expand Down
8 changes: 6 additions & 2 deletions edc_metadata/tests/tests/test_form_mixin.py
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,7 @@
from django.test import TestCase
from django.test.client import RequestFactory
from edc_appointment.models import Appointment
from edc_consent import site_consents
from edc_facility import import_holidays
from edc_form_validators.form_validator import FormValidator
from edc_lab.models import Panel
Expand All @@ -13,7 +14,8 @@
from edc_metadata.metadata_rules import site_metadata_rules
from edc_metadata.models import CrfMetadata, RequisitionMetadata

from ..models import SubjectConsent, SubjectVisit
from ..consents import consent_v1
from ..models import SubjectConsentV1, SubjectVisit
from ..visit_schedule import visit_schedule
from .test_view_mixin import MyView

Expand All @@ -35,14 +37,16 @@ def setUp(self):
for name in ["one", "two", "three", "four", "five", "six", "seven", "eight"]:
Panel.objects.create(name=name)

site_consents.registry = {}
site_consents.register(consent_v1)
site_visit_schedules._registry = {}
site_visit_schedules.loaded = False
site_visit_schedules.register(visit_schedule)
self.subject_identifier = "1111111"
self.assertEqual(CrfMetadata.objects.all().count(), 0)
self.assertEqual(RequisitionMetadata.objects.all().count(), 0)

subject_consent = SubjectConsent.objects.create(
subject_consent = SubjectConsentV1.objects.create(
subject_identifier=self.subject_identifier, consent_datetime=get_utcnow()
)
_, self.schedule = site_visit_schedules.get_by_onschedule_model(
Expand Down
7 changes: 4 additions & 3 deletions edc_metadata/tests/tests/test_metadata_creator.py
Original file line number Diff line number Diff line change
Expand Up @@ -2,9 +2,10 @@
from edc_appointment.constants import IN_PROGRESS_APPT, MISSED_APPT
from edc_visit_tracking.constants import SCHEDULED, UNSCHEDULED

from ...metadata import CreatesMetadataError
from ...metadata_updater import MetadataUpdater
from ...models import CrfMetadata, RequisitionMetadata
from edc_metadata.metadata import CreatesMetadataError
from edc_metadata.metadata_updater import MetadataUpdater
from edc_metadata.models import CrfMetadata, RequisitionMetadata

from ..models import SubjectVisit
from .metadata_test_mixin import TestMetadataMixin

Expand Down
7 changes: 4 additions & 3 deletions edc_metadata/tests/tests/test_metadata_deleter.py
Original file line number Diff line number Diff line change
Expand Up @@ -6,9 +6,10 @@
from edc_visit_tracking.constants import MISSED_VISIT, SCHEDULED
from edc_visit_tracking.models import SubjectVisit

from ...constants import KEYED, REQUIRED
from ...metadata import DeleteMetadataError
from ...models import CrfMetadata, RequisitionMetadata
from edc_metadata.constants import KEYED, REQUIRED
from edc_metadata.metadata import DeleteMetadataError
from edc_metadata.models import CrfMetadata, RequisitionMetadata

from ..models import CrfOne, SubjectRequisition
from .metadata_test_mixin import TestMetadataMixin

Expand Down
11 changes: 6 additions & 5 deletions edc_metadata/tests/tests/test_metadata_updater.py
Original file line number Diff line number Diff line change
Expand Up @@ -2,11 +2,12 @@
from django.test import TestCase
from edc_visit_tracking.constants import SCHEDULED

from ...constants import KEYED, NOT_REQUIRED, REQUIRED
from ...metadata_handler import MetadataHandlerError
from ...metadata_inspector import MetaDataInspector
from ...metadata_updater import MetadataUpdater
from ...models import CrfMetadata, RequisitionMetadata
from edc_metadata.constants import KEYED, NOT_REQUIRED, REQUIRED
from edc_metadata.metadata_handler import MetadataHandlerError
from edc_metadata.metadata_inspector import MetaDataInspector
from edc_metadata.metadata_updater import MetadataUpdater
from edc_metadata.models import CrfMetadata, RequisitionMetadata

from ..models import CrfOne, CrfThree, CrfTwo, SubjectRequisition, SubjectVisit
from .metadata_test_mixin import TestMetadataMixin

Expand Down
Loading

0 comments on commit a2ec092

Please sign in to comment.