Skip to content

Commit

Permalink
add Accession tests
Browse files Browse the repository at this point in the history
  • Loading branch information
fsimonjetz committed Nov 18, 2023
1 parent ddc4728 commit 17e1246
Show file tree
Hide file tree
Showing 2 changed files with 37 additions and 0 deletions.
24 changes: 24 additions & 0 deletions ebl/tests/common/test_accession.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,24 @@
import pytest
from ebl.common.application.schemas import AccessionSchema
from ebl.common.domain.accession import Accession


ACCESSION = Accession("A", "38")
ACCESSION_DTO = {"prefix": "A", "number": "38", "suffix": ""}


def test_of():
assert Accession.of("A.38") == ACCESSION


def test_of_invalid():
with pytest.raises(ValueError, match="'invalid.' is not a valid accession number."):
Accession.of("invalid.")


def test_serialize():
assert AccessionSchema().dump(ACCESSION) == ACCESSION_DTO


def test_deserialize():
assert AccessionSchema().load(ACCESSION_DTO) == ACCESSION
13 changes: 13 additions & 0 deletions ebl/tests/fragmentarium/test_fragment_schema.py
Original file line number Diff line number Diff line change
Expand Up @@ -61,3 +61,16 @@ def test_scope_deserialization():
"authorizedScopes": SERIALIZED_SCOPES,
}
assert FragmentSchema().load(data).authorized_scopes == SCOPES


def test_empty_accession_serialization():
fragment = FragmentFactory.build(accession=None)
assert "accession" not in FragmentSchema().dump(fragment)


def test_empty_accession_deserialization():
data = {
**FragmentSchema().dump(FragmentFactory.build()),
"accession": None,
}
assert FragmentSchema().load(data).accession is None

0 comments on commit 17e1246

Please sign in to comment.