Skip to content

Commit

Permalink
Add test to check minimal citation when journal name not provided
Browse files Browse the repository at this point in the history
  • Loading branch information
jonavellecuerdo committed May 9, 2024
1 parent cf9c2a5 commit 53628b5
Show file tree
Hide file tree
Showing 2 changed files with 24 additions and 12 deletions.
18 changes: 6 additions & 12 deletions solenoid/records/models.py
Original file line number Diff line number Diff line change
Expand Up @@ -90,10 +90,8 @@ def create_citation(paper_data):
first_init = first_name[0]

citation = "{last}, {first_init}. ".format(
last=paper_data.get(
Fields.LAST_NAME,
citation_field_placeholder.format(field=Fields.LAST_NAME.upper()),
),
last=paper_data.get(Fields.LAST_NAME)
or citation_field_placeholder.format(field=Fields.LAST_NAME.upper()),
first_init=first_init
or citation_field_placeholder.format(field=Fields.FIRST_NAME.upper()),
)
Expand All @@ -102,14 +100,10 @@ def create_citation(paper_data):
citation += f"({paper_data[Fields.PUBDATE][0:4]}). "

citation += "{title}. {journal}".format(
title=paper_data.get(
Fields.TITLE,
citation_field_placeholder.format(field=Fields.TITLE.upper()),
),
journal=paper_data.get(
Fields.JOURNAL,
citation_field_placeholder.format(field=Fields.JOURNAL.upper()),
),
title=paper_data.get(Fields.TITLE)
or citation_field_placeholder.format(field=Fields.TITLE.upper()),
journal=paper_data.get(Fields.JOURNAL)
or citation_field_placeholder.format(field=Fields.JOURNAL.upper()),
)

if paper_data[Fields.VOLUME] and paper_data[Fields.ISSUE]:
Expand Down
18 changes: 18 additions & 0 deletions solenoid/records/tests/test_models.py
Original file line number Diff line number Diff line change
Expand Up @@ -423,6 +423,24 @@ def test_create_citation_case_8(self):
"</a>",
)

def test_create_citation_case_9(self):
"""Minimal citation:
journal: NO
publication date: YES
volume & issue: YES
doi: YES
"""
data = copy.copy(self.citation_data)
data.update(dict.fromkeys([Fields.JOURNAL], None))
citation = Record.create_citation(data)
self.assertEqual(
citation,
"Wilczek, F. (1973). Ultraviolet behavior of "
"non-abelian gauge theories. <JOURNAL-NAME UNIDENTIFIED>, "
'30(26). <a href="https://doi.org/10.1103/PhysRevLett.30.1343">'
"doi:10.1103/PhysRevLett.30.1343</a>",
)

def test_create_citation_error_case_1(self):
"""Minimal citation; has volume, lacks issue."""
data = copy.copy(self.citation_data)
Expand Down

0 comments on commit 53628b5

Please sign in to comment.