示例#1
0
 def setUp(self):
     super().setUp()
     self.submissionset = SubmissionSetFactory(project=self.project)
     self.submission = SubmissionFactory(submission_set=self.submissionset)
     self.case = CaseFactory(project=self.project)
     create_families_and_individuals(self.project)
     self.individual = Individual.objects.filter(
         family__project=self.project).order_by("-date_created")[0]
class TestClearOldKioskCases(TestCase):
    def setUp(self):
        self.user = self.make_user("kiosk_user")
        self.category = ProjectFactory(
            title=settings.KIOSK_CAT, type=SODAR_CONSTANTS["PROJECT_TYPE_CATEGORY"]
        )
        self.project_above_thres = ProjectFactory(
            title=settings.KIOSK_PROJ_PREFIX + str(uuid.uuid4()), parent=self.category
        )
        self.project_below_thres = ProjectFactory(
            title=settings.KIOSK_PROJ_PREFIX + str(uuid.uuid4()), parent=self.category
        )
        self.case_above_thres = CaseFactory(project=self.project_above_thres)
        self.case_below_thres = CaseFactory(project=self.project_below_thres)
        self.case_below_thres.date_created = datetime.now() - timedelta(weeks=9)
        self.case_below_thres.save()
        self.variant_set_above_thres = SmallVariantSetFactory(case=self.case_above_thres)
        self.variant_set_below_thres = SmallVariantSetFactory(case=self.case_below_thres)
        self.small_vars_above_thres = SmallVariantFactory.create_batch(
            3, variant_set=self.variant_set_above_thres
        )
        self.small_vars_below_thres = SmallVariantFactory.create_batch(
            3, variant_set=self.variant_set_below_thres
        )

    @patch("django.conf.settings.KIOSK_MODE", True)
    def test_clear_old_kiosk_cases(self):
        self.assertEqual(Project.objects.filter(parent=self.category).count(), 2)
        self.assertEqual(Case.objects.all().count(), 2)
        self.assertEqual(SmallVariant.objects.all().count(), 6)
        clear_old_kiosk_cases()
        projects = Project.objects.filter(parent=self.category)
        cases = Case.objects.all().order_by("-date_created")
        self.assertEqual(projects.count(), 1)
        self.assertEqual(cases.count(), 1)
        self.assertEqual(SmallVariant.objects.all().count(), 3)
        self.assertEqual(projects[0].id, self.project_above_thres.id)
        self.assertEqual(cases[0].id, self.case_above_thres.id)
示例#3
0
 def setUp(self):
     super().setUp()
     self.case = CaseFactory(project=self.project)
     self.submissionset = SubmissionSetFactory(project=self.project)
     self.organisation = OrganisationFactory()
     self.submittingorg = SubmittingOrgFactory(
         organisation=self.organisation, submission_set=self.submissionset)
     self.submission = SubmissionFactory(submission_set=self.submissionset)
     self.individual = Individual.objects.get_or_create_in_project(
         project=self.project,
         case=self.case,
         name=self.case.pedigree[0]["patient"])
     self.submission_individual = SubmissionIndividualFactory(
         submission=self.submission, individual=self.individual)
 def setUp(self):
     self.user = self.make_user("kiosk_user")
     self.category = ProjectFactory(
         title=settings.KIOSK_CAT, type=SODAR_CONSTANTS["PROJECT_TYPE_CATEGORY"]
     )
     self.project_above_thres = ProjectFactory(
         title=settings.KIOSK_PROJ_PREFIX + str(uuid.uuid4()), parent=self.category
     )
     self.project_below_thres = ProjectFactory(
         title=settings.KIOSK_PROJ_PREFIX + str(uuid.uuid4()), parent=self.category
     )
     self.case_above_thres = CaseFactory(project=self.project_above_thres)
     self.case_below_thres = CaseFactory(project=self.project_below_thres)
     self.case_below_thres.date_created = datetime.now() - timedelta(weeks=9)
     self.case_below_thres.save()
     self.variant_set_above_thres = SmallVariantSetFactory(case=self.case_above_thres)
     self.variant_set_below_thres = SmallVariantSetFactory(case=self.case_below_thres)
     self.small_vars_above_thres = SmallVariantFactory.create_batch(
         3, variant_set=self.variant_set_above_thres
     )
     self.small_vars_below_thres = SmallVariantFactory.create_batch(
         3, variant_set=self.variant_set_below_thres
     )
class TestFamily(TestCase):
    """Basic tests for the ``Family`` model and manager."""
    def testCreate(self):
        self.assertEquals(Family.objects.count(), 0)
        FamilyFactory()
        self.assertEquals(Family.objects.count(), 1)

    def testGetOrCreateInProjectByCaseName(self):
        case = CaseFactory()
        self.assertEquals(Family.objects.count(), 0)

        family = Family.objects.get_or_create_in_project(project=case.project,
                                                         case_name=case.name)

        self.assertEquals(Family.objects.count(), 1)
        self.assertEquals(family.case.id, case.id)
示例#6
0
 def setUp(self):
     super().setUp()
     self.case = CaseFactory(project=self.project)
     self.small_variant = SmallVariantFactory(case_id=self.case.id)
     kwargs = {
         key: getattr(self.small_variant, key)
         for key in ("release", "chromosome", "start", "end", "bin",
                     "reference", "alternative")
     }
     self.comment = SmallVariantCommentFactory(user=self.superuser,
                                               case=self.case,
                                               **kwargs)
     self.flags = SmallVariantFlagsFactory(case=self.case, **kwargs)
     self.rating = AcmgCriteriaRatingFactory(user=self.superuser,
                                             case=self.case,
                                             **kwargs)
class TestIndividual(TestCase):
    """Basic tests for the ``Individual`` model and manager."""
    def testCreate(self):
        self.assertEquals(Family.objects.count(), 0)
        self.assertEquals(Individual.objects.count(), 0)
        IndividualFactory()
        self.assertEquals(Family.objects.count(), 1)
        self.assertEquals(Individual.objects.count(), 1)

    def testGetOrCreateInProjectByCaseName(self):
        case = CaseFactory()
        self.assertEquals(Family.objects.count(), 0)

        indiv = Individual.objects.get_or_create_in_project(
            project=case.project,
            name=case.pedigree[0]["patient"],
            case_name=case.name)

        self.assertEquals(Family.objects.count(), 1)
        self.assertEquals(indiv.family.case.id, case.id)
        self.assertEquals(Family.objects.count(), 0)
        FamilyFactory()
        self.assertEquals(Family.objects.count(), 1)

    def testGetOrCreateInProjectByCaseName(self):
        case = CaseFactory()
        self.assertEquals(Family.objects.count(), 0)

        family = Family.objects.get_or_create_in_project(project=case.project,
                                                         case_name=case.name)

        self.assertEquals(Family.objects.count(), 1)
        self.assertEquals(family.case.id, case.id)

    def testGetOrCreateInProjectByCaseNameFails(self):
        case = CaseFactory()
        self.assertEquals(Family.objects.count(), 0)

        with self.assertRaises(Case.DoesNotExist):
            Family.objects.get_or_create_in_project(project=case.project,
                                                    case_name=case.name + "_")

        self.assertEquals(Family.objects.count(), 0)

    def testGetOrCreateInProjectByCase(self):
        case = CaseFactory()
        self.assertEquals(Family.objects.count(), 0)

        family = Family.objects.get_or_create_in_project(project=case.project,
                                                         case=case)
示例#9
0
 def setUp(self):
     super().setUp()
     self.case = CaseFactory(project=self.project)
 def setUp(self):
     self.data_dir = tempfile.mkdtemp()
     self.case = CaseFactory()
     self.admin = self.make_user("admin")
     write_test_files(self.data_dir, self.case.name,
                      [m["patient"] for m in self.case.pedigree])