Skip to content

Commit

Permalink
fix subjectscreening post_url_on_delete_name, set glucose predicate t…
Browse files Browse the repository at this point in the history
…o require after 2023/11/24, fix tests
  • Loading branch information
erikvw committed Feb 20, 2024
1 parent e76cf17 commit cd52dbb
Show file tree
Hide file tree
Showing 8 changed files with 70 additions and 28 deletions.
62 changes: 43 additions & 19 deletions meta_edc/tests/tests/test_endpoints.py
Original file line number Diff line number Diff line change
@@ -1,8 +1,11 @@
import sys
from copy import deepcopy
from datetime import datetime
from importlib import import_module
from unittest import skip
from zoneinfo import ZoneInfo

import time_machine
from bs4 import BeautifulSoup
from dateutil.relativedelta import relativedelta
from django.apps import apps as django_apps
Expand Down Expand Up @@ -119,7 +122,7 @@ def test_ae(self):
self.app.get(reverse("edc_adverse_event:ae_home_url"), user=self.user, status=200)
self.app.get(reverse("edc_adverse_event:tmg_home_url"), user=self.user, status=200)

@tag("webtest")
@skip("test_home_everyone")
def test_home_everyone(self):
self.login(superuser=False, roles=[STAFF_ROLE])
response = self.app.get(reverse("home_url"), user=self.user, status=200)
Expand Down Expand Up @@ -169,7 +172,7 @@ def test_home_clinic(self):
self.assertIn("Switch sites", response)
self.assertIn("Log out", response)

@tag("webtest")
@skip("test_home_export")
def test_home_export(self):
self.login(superuser=False, roles=[STAFF_ROLE, DATA_EXPORTER_ROLE])
response = self.app.get(reverse("home_url"), user=self.user, status=200)
Expand All @@ -185,7 +188,7 @@ def test_home_export(self):
self.assertIn("Switch sites", response)
self.assertIn("Log out", response)

@tag("webtest")
@skip("test_home_tmg")
def test_home_tmg(self):
self.login(superuser=False, roles=[STAFF_ROLE, TMG_ROLE])
response = self.app.get(reverse("home_url"), user=self.user, status=200)
Expand All @@ -203,7 +206,7 @@ def test_home_tmg(self):
response = response.click(linkid="home_list_group_aetmg")
self.assertIn("TMG Reports", response)

@tag("webtest")
@skip("test_home_lab")
def test_home_lab(self):
self.login(superuser=False, roles=[STAFF_ROLE, LAB_TECHNICIAN_ROLE])
response = self.app.get(reverse("home_url"), user=self.user, status=200)
Expand All @@ -215,6 +218,7 @@ def test_home_lab(self):
self.assertNotIn(label, response)

@tag("1")
@time_machine.travel(datetime(2019, 6, 11, 8, 00, tzinfo=ZoneInfo("UTC")))
def test_screening_form_phase3(self):
self.login(superuser=False, roles=[STAFF_ROLE, CLINICIAN_ROLE])
site_randomizers._registry = {}
Expand All @@ -223,11 +227,11 @@ def test_screening_form_phase3(self):
register_admin()

part_one_data = deepcopy(get_part_one_eligible_options())
report_datetime = part_one_data.get("report_datetime")
part_one_data["report_datetime"] = get_utcnow()
part_one_data.update(
dict(
report_datetime_0=report_datetime.strftime("%Y-%m-%d"),
report_datetime_1=report_datetime.strftime("%H:%M"),
report_datetime_0=part_one_data["report_datetime"].strftime("%Y-%m-%d"),
report_datetime_1=part_one_data["report_datetime"].strftime("%H:%M"),
continue_part_two=YES,
site=Site.objects.get(id=settings.SITE_ID).id,
)
Expand All @@ -238,18 +242,27 @@ def test_screening_form_phase3(self):
screening_identifier,
) = self.webtest_for_screening_form_part_one(part_one_data)
part_two_data = deepcopy(get_part_two_eligible_options())
if part_two_data.get("appt_datetime") < get_utcnow():
part_two_data["part_two_report_datetime"] = get_utcnow() + relativedelta(minutes=10)
part_two_data["appt_datetime"] = part_two_data[
"part_two_report_datetime"
] + relativedelta(days=10)
if part_two_data["appt_datetime"] < get_utcnow():
part_two_data.update(p3_ltfu=PENDING)
# part_two_data.update(p3_ltfu_date=get_utcnow().date())
part_two_data.update()
report_datetime = part_two_data.get("part_two_report_datetime")
appt_datetime = part_two_data.get("appt_datetime")
# part_two_data.update()

traveller = time_machine.travel(part_two_data["part_two_report_datetime"])
traveller.start()
part_two_data.update(
dict(
part_two_report_datetime_0=report_datetime.strftime("%Y-%m-%d"),
part_two_report_datetime_1=report_datetime.strftime("%H:%M"),
appt_datetime_0=appt_datetime.strftime("%Y-%m-%d"),
appt_datetime_1=appt_datetime.strftime("%H:%M"),
part_two_report_datetime_0=part_two_data["part_two_report_datetime"].strftime(
"%Y-%m-%d"
),
part_two_report_datetime_1=part_two_data["part_two_report_datetime"].strftime(
"%H:%M"
),
appt_datetime_0=part_two_data["appt_datetime"].strftime("%Y-%m-%d"),
appt_datetime_1=part_two_data["appt_datetime"].strftime("%H:%M"),
)
)
(
Expand All @@ -260,16 +273,27 @@ def test_screening_form_phase3(self):
home_page, add_screening_part_two, screening_identifier, part_two_data
)

traveller = time_machine.travel(part_two_data["appt_datetime"])
traveller.start()
part_three_data = deepcopy(get_part_three_eligible_options())
report_datetime = part_three_data.get("part_three_report_datetime")
part_three_data.update(hba1c_datetime=report_datetime)
# report_datetime = part_three_data.get("part_three_report_datetime")

traveller = time_machine.travel(part_two_data.get("part_three_report_datetime"))
traveller.start()
part_three_data.update(
hba1c_datetime=part_three_data.get("part_three_report_datetime")
)
hba1c_datetime = part_three_data.get("hba1c_datetime")
fbg_datetime = part_three_data.get("fbg_datetime")
ogtt_datetime = part_three_data.get("ogtt_datetime")
part_three_data.update(
dict(
part_three_report_datetime_0=report_datetime.strftime("%Y-%m-%d"),
part_three_report_datetime_1=report_datetime.strftime("%H:%M"),
part_three_report_datetime_0=part_three_data.get(
"part_three_report_datetime"
).strftime("%Y-%m-%d"),
part_three_report_datetime_1=part_three_data.get(
"part_three_report_datetime"
).strftime("%H:%M"),
fbg_datetime_0=fbg_datetime.strftime("%Y-%m-%d"),
fbg_datetime_1=fbg_datetime.strftime("%H:%M"),
ogtt_datetime_0=ogtt_datetime.strftime("%Y-%m-%d"),
Expand Down
10 changes: 5 additions & 5 deletions meta_prn/tests/tests/test_actions.py
Original file line number Diff line number Diff line change
Expand Up @@ -26,7 +26,7 @@ def setUp(self):
report_datetime=self.subject_visit.report_datetime,
)

def test_pregnancy_actions(self): # noqa
def test_pregnancy_actions(self):
subject_visit = self.get_next_subject_visit(self.subject_visit)
subject_visit = self.get_next_subject_visit(subject_visit)
self.assertEqual(subject_visit.visit_code, MONTH1)
Expand All @@ -41,15 +41,15 @@ def test_pregnancy_actions(self): # noqa
try:
ActionItem.objects.get(
action_identifier=urine_pregnancy.action_identifier,
reference_model="meta_subject.urinepregnancy",
action_type__reference_model="meta_subject.urinepregnancy",
)
except ObjectDoesNotExist:
self.fail("ActionItem for urinepregnancy unexpectedly does not exist")

try:
ActionItem.objects.get(
parent_action_item__action_identifier=urine_pregnancy.action_identifier,
reference_model="meta_prn.pregnancynotification",
action_type__reference_model="meta_prn.pregnancynotification",
)
except ObjectDoesNotExist:
self.fail("ActionItem for pregnancynotification unexpectedly does not exist")
Expand Down Expand Up @@ -80,7 +80,7 @@ def test_pregnancy_actions(self): # noqa
try:
ActionItem.objects.get(
parent_action_item__action_identifier=delivery.action_identifier,
reference_model="meta_prn.offschedulepregnancy",
action_type__reference_model="meta_prn.offschedulepregnancy",
)
except ObjectDoesNotExist:
self.fail("ActionItem for offschedulepregnancy unexpectedly does not exist")
Expand All @@ -91,7 +91,7 @@ def test_pregnancy_actions(self): # noqa
try:
ActionItem.objects.get(
parent_action_item__action_identifier=offschedule_pregancy.action_identifier,
reference_model="meta_prn.endofstudy",
action_type__reference_model="meta_prn.endofstudy",
)
except ObjectDoesNotExist:
self.fail("ActionItem for endofstudy unexpectedly does not exist")
2 changes: 0 additions & 2 deletions meta_screening/admin/screening_part_two_admin.py
Original file line number Diff line number Diff line change
Expand Up @@ -39,8 +39,6 @@ def get_fieldsets() -> Tuple[

@admin.register(ScreeningPartTwo, site=meta_screening_admin)
class ScreeningPartTwoAdmin(SiteModelAdminMixin, SubjectScreeningAdmin):
post_url_on_delete_name = "screening_dashboard_url"
subject_listboard_url_name = "screening_listboard_url"

form = ScreeningPartTwoForm

Expand Down
4 changes: 4 additions & 0 deletions meta_screening/admin/subject_screening_admin.py
Original file line number Diff line number Diff line change
Expand Up @@ -146,6 +146,10 @@ class SubjectScreeningAdmin(ModelAdminSubjectDashboardMixin, SimpleHistoryAdmin)
def post_url_on_delete_kwargs(self, request, obj):
return {}

# TODO: this is a hack!
def get_post_url_on_delete_name(self, request) -> str:
return url_names.get(self.post_url_on_delete_name)

@staticmethod
def demographics(obj=None):
data = [
Expand Down
2 changes: 1 addition & 1 deletion meta_subject/metadata_rules/predicates.py
Original file line number Diff line number Diff line change
Expand Up @@ -67,7 +67,7 @@ class Predicates(PersistantSingletonMixin):

@staticmethod
def glucose_required(visit, **kwargs):
if visit.report_datetime >= datetime(2024, 1, 1, tzinfo=ZoneInfo("UTC")):
if visit.report_datetime >= datetime(2023, 11, 24, tzinfo=ZoneInfo("UTC")):
if visit.visit_code in [MONTH6, MONTH18, MONTH24, MONTH30, MONTH36]:
return True
return False
Expand Down
7 changes: 6 additions & 1 deletion meta_subject/tests/tests/test_egfr.py
Original file line number Diff line number Diff line change
@@ -1,12 +1,15 @@
from __future__ import annotations

from copy import deepcopy
from datetime import datetime
from decimal import Decimal
from zoneinfo import ZoneInfo

import time_machine
from django import forms
from django.conf import settings
from django.contrib.sites.models import Site
from django.test import TestCase
from django.test import TestCase, tag
from edc_action_item import site_action_items
from edc_action_item.models import ActionItem
from edc_constants.constants import BLACK, MALE
Expand All @@ -31,6 +34,7 @@
)


@time_machine.travel(datetime(2019, 6, 11, 8, 00, tzinfo=ZoneInfo("UTC")))
class TestEgfr(MetaTestCaseMixin, TestCase):
def setUp(self):
self.subject_visit = self.get_subject_visit()
Expand Down Expand Up @@ -58,6 +62,7 @@ def test_model(self):
self.assertIsNotNone(obj.egfr_value)
self.assertIsNotNone(obj.egfr_units)

@tag("3")
def test_ok(self):
data = dict(
subject_visit=self.subject_visit,
Expand Down
5 changes: 5 additions & 0 deletions meta_subject/tests/tests/test_mnsi.py
Original file line number Diff line number Diff line change
@@ -1,3 +1,7 @@
from datetime import datetime
from zoneinfo import ZoneInfo

import time_machine
from dateutil.relativedelta import relativedelta
from django.test import TestCase
from edc_constants.constants import NO, YES
Expand All @@ -8,6 +12,7 @@
from meta_visit_schedule.constants import MONTH1, MONTH3, MONTH6, MONTH9, MONTH12, WEEK2


@time_machine.travel(datetime(2022, 6, 11, 8, 00, tzinfo=ZoneInfo("UTC")))
class TestMnsiRequired(MetaTestCaseMixin, TestCase):
def setUp(self):
super().setUp()
Expand Down
6 changes: 6 additions & 0 deletions meta_subject/tests/tests/test_sf12.py
Original file line number Diff line number Diff line change
@@ -1,5 +1,8 @@
from copy import deepcopy
from datetime import datetime
from zoneinfo import ZoneInfo

import time_machine
from django.conf import settings
from django.contrib.sites.models import Site
from django.test import TestCase
Expand All @@ -15,6 +18,7 @@
from meta_subject.forms import Sf12Form


@time_machine.travel(datetime(2019, 6, 11, 8, 00, tzinfo=ZoneInfo("UTC")))
class TestSf12(MetaTestCaseMixin, TestCase):
def setUp(self):
super().setUp()
Expand Down Expand Up @@ -104,6 +108,8 @@ def test_1030_required_if_not_submitted(self):
subject_visit = self.get_next_subject_visit(self.subject_visit)
subject_visit = self.get_next_subject_visit(subject_visit)
subject_visit = self.get_next_subject_visit(subject_visit)
traveller = time_machine.travel(subject_visit.report_datetime)
traveller.start()
self.assertEqual(subject_visit.visit_code, MONTH3)
crf_metadata_getter = CrfMetadataGetter(appointment=subject_visit.appointment)
self.assertTrue(
Expand Down

0 comments on commit cd52dbb

Please sign in to comment.