Skip to content

Commit

Permalink
✅ Fix broken tests - use sample/container mgr to create them
Browse files Browse the repository at this point in the history
  • Loading branch information
znatty22 committed Jan 25, 2024
1 parent 0553e37 commit 1074988
Show file tree
Hide file tree
Showing 3 changed files with 14 additions and 17 deletions.
3 changes: 1 addition & 2 deletions tests/biospecimen/test_sample_container_management.py
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,6 @@
from dataservice.api.container.models import Container
from dataservice.api.sample.models import Sample
from dataservice.api.biospecimen.models import Biospecimen
from dataservice.api.biospecimen.manager import manage_sample_containers

from tests.create import make_participant, make_seq_center

Expand Down Expand Up @@ -207,7 +206,7 @@ def test_create_two_biospecimens_diff_container(client, upsert_biospecimen):
assert len(s.containers) == 2

# Check container was created properly
for i, c in enumerate(s.containers):
for i, _ in enumerate(s.containers):
check_container(specimens[i], s)


Expand Down
25 changes: 11 additions & 14 deletions tests/conftest.py
Original file line number Diff line number Diff line change
Expand Up @@ -39,6 +39,8 @@
Task,
TaskGenomicFile
)
from dataservice.api.biospecimen.manager import manage_sample_containers

from unittest.mock import MagicMock, patch
from tests.mocks import MockIndexd
pytest_plugins = ['tests.mocks']
Expand Down Expand Up @@ -163,7 +165,7 @@ def make_entities(client):
BiospecimenDiagnosis,
ReadGroupGenomicFile,
SequencingExperimentGenomicFile,
Container}:
Sample, Container}:
continue
for i in range(ENTITY_TOTAL):
data = ENTITY_PARAMS['fields'][endpoint].copy()
Expand Down Expand Up @@ -256,18 +258,6 @@ def make_entities(client):
_entities[BiospecimenDiagnosis].append(bd)
db.session.add(bd)

# Containers
samples = _entities[Sample]
biospecimens = _entities[Biospecimen]
for i, (sample, biospecimen) in enumerate(
zip(samples, biospecimens)
):
ct = Container(external_id=f"container-{i}")
ct.sample = sample
ct.biospecimen = biospecimen
_entities[Container].append(ct)
db.session.add(ct)

# Add relations
s0 = _entities[Study][0]
f0 = _entities[Family][0]
Expand All @@ -288,7 +278,7 @@ def make_entities(client):

# Biospecimen, Diagnosis, Phenotype, Outcome
participant_ents = [
Biospecimen, Diagnosis, Phenotype, Outcome, Sample
Biospecimen, Diagnosis, Phenotype, Outcome
]
for participant_ent in participant_ents:
for ent in _entities[participant_ent]:
Expand All @@ -306,6 +296,13 @@ def make_entities(client):

db.session.commit()

# Create sample and containers from Biospecimens
for b in _entities[Biospecimen]:
s = manage_sample_containers(b)
_entities[Sample].append(s)
for c in s.containers:
_entities[Container].append(c)

return _entities


Expand Down
3 changes: 2 additions & 1 deletion tests/test_api.py
Original file line number Diff line number Diff line change
Expand Up @@ -138,6 +138,7 @@ def test_parent_links(self, client, entities, endpoint, parents):
'biospecimens']),
('/biospecimens', ['biospecimen_genomic_files',
'biospecimen_diagnoses']),
('/samples', ['containers']),
('/genomic-files', ['task_genomic_files',
'biospecimen_genomic_files',
'read_group_genomic_files',
Expand Down Expand Up @@ -389,8 +390,8 @@ def test_missing_required_params(self, client, entities, endpoint,
('/study-files', 'study_id'),
('/diagnoses', 'participant_id'),
('/biospecimens', 'participant_id'),
('/containers', 'biospecimen_id'),
('/samples', 'participant_id'),
('/containers', 'biospecimen_id'),
('/tasks', 'cavatica_app_id'),
('/task-genomic-files',
'task_id'),
Expand Down

0 comments on commit 1074988

Please sign in to comment.