def test_note_on_erratum(): record = { "document_type": ["article"], "publication_info": [ { "journal_title": "Zażółć gęślą jaźń", "journal_volume": "A", "page_start": "12", "page_end": "15", "year": 2016, "material": "erratum", }, { "journal_title": "A Title", "journal_volume": "B", "artid": "987", "material": "addendum", }, ], } expected_note = ( "[Erratum: Zażółć gęślą jaźń A, 12--15 (2016), Addendum: A Title B, 987]" ) schema = BibTexCommonSchema() result = schema.dump(record).data result_note = result["note"] assert expected_note == result_note
def test_get_author(): record = {"document_type": ["article"], "corporate_author": ["Corp A", "Corp B"]} expected_author = "{Corp A} and {Corp B}" schema = BibTexCommonSchema() result = schema.dump(record).data result_author = result["author"] assert expected_author == result_author
def test_no_collaboration(): record = {"document_type": ["article"]} expected_collaboration = "" schema = BibTexCommonSchema() result = schema.dump(record).data result_collaboration = result["collaboration"] assert expected_collaboration == result_collaboration
def test_get_editor_from_book_parent_record(mock_get_linked_records_from_dict_field): record = {"document_type": ["book chapter"]} expected_editors = ["Kiritsis, Elias"] schema = BibTexCommonSchema() result = schema.dump(record).data result_editors = result["authors_with_role_editor"] assert expected_editors == result_editors
def test_get_title(): record = {"document_type": ["article"], "titles": [{"title": "This is a title"}]} expected_title = "{This is a title}" schema = BibTexCommonSchema() result = schema.dump(record).data result_title = result["title"] assert expected_title == result_title
def test_get_editions(): record = {"document_type": ["article"], "editions": ["first"]} expected_edition = "first" schema = BibTexCommonSchema() result = schema.dump(record).data result_edition = result["edition"] assert expected_edition == result_edition
def test_get_page(): record = {"document_type": ["article"], "publication_info": [{"artid": "1"}]} expected_pages = "1" schema = BibTexCommonSchema() result = schema.dump(record).data result_pages = result["pages"] assert expected_pages == result_pages
def test_get_publisher(): record = {"document_type": ["book"], "imprints": [{"publisher": "Elsevier"}]} expected_publisher = "Elsevier" schema = BibTexCommonSchema() result = schema.dump(record).data result_publisher = result["publisher"] assert expected_publisher == result_publisher
def test_get_address_with_imprint_place(): record = {"document_type": ["book"], "imprints": [{"place": "This is a place"}]} expected_address = "This is a place" schema = BibTexCommonSchema() result = schema.dump(record).data result_address = result["address"] assert expected_address == result_address
def test_isbn(): record = {"document_type": ["book"], "isbns": [{"value": "9781108705011"}]} expected_isbn = "978-1-108-70501-1" schema = BibTexCommonSchema() result = schema.dump(record).data result_isbn = result["isbn"] assert expected_isbn == result_isbn
def test_archive_prefix_empty(): record = {"document_type": ["article"]} expected_archive_prefix = None schema = BibTexCommonSchema() result = schema.dump(record).data result_archivePrefix = result["archivePrefix"] assert expected_archive_prefix == result_archivePrefix
def test_get_school_empty(): record = {"document_type": ["thesis"]} expected_school = None schema = BibTexCommonSchema() result = schema.dump(record).data result_school = result["school"] assert expected_school == result_school
def test_get_authors_with_role_encodes_names_properly(): record = { "document_type": ["article"], "authors": [{"full_name": "Pimenta, L.S."}, {"full_name": "Smith, John, Jr."}], } expected = ["Pimenta, L. S.", "Smith, Jr., John"] schema = BibTexCommonSchema() result = schema.dump(record).data assert expected == result["authors_with_role_author"]
def test_archive_prefix(): arxiv_value = faker.arxiv() record = {"document_type": ["article"], "arxiv_eprints": [{"value": arxiv_value}]} expected_archive_prefix = "arXiv" schema = BibTexCommonSchema() result = schema.dump(record).data result_archivePrefix = result["archivePrefix"] assert expected_archive_prefix == result_archivePrefix
def test_eprint(): arxiv_value = faker.arxiv() record = {"document_type": ["article"], "arxiv_eprints": [{"value": arxiv_value}]} expected_eprint = arxiv_value schema = BibTexCommonSchema() result = schema.dump(record).data result_eprint = result["eprint"] assert expected_eprint == result_eprint
def test_get_collaboration(): record = { "document_type": ["article"], "collaborations": [{"value": "CMS"}, {"value": "ATLAS"}], } expected_collaboration = "CMS, ATLAS" schema = BibTexCommonSchema() result = schema.dump(record).data result_collaboration = result["collaboration"] assert expected_collaboration == result_collaboration
def test_get_type(): test_data = { "document_type": ["thesis"], "thesis_info": {"degree_type": "bachelor"}, } expected_type = "Bachelor thesis" schema = BibTexCommonSchema() result = schema.dump(test_data).data result_type = result["type"] assert expected_type == result_type
def test_get_school(): record = { "document_type": ["thesis"], "thesis_info": {"institutions": [{"name": "NTUA"}, {"name": "MIT"}]}, } expected_school = "NTUA, MIT" schema = BibTexCommonSchema() result = schema.dump(record).data result_school = result["school"] assert expected_school == result_school
def test_get_series(): record = { "document_type": ["book"], "book_series": [{"title": "This is a book title"}], } expected_series = "This is a book title" schema = BibTexCommonSchema() result = schema.dump(record).data result_series = result["series"] assert expected_series == result_series
def test_get_book_title_without_parent_record(mock_get_linked_records): record = { "titles": [{"title": "This is the main title"}], "document_type": ["book"], } expected_book_title = None schema = BibTexCommonSchema() result = schema.dump(record).data result_book_title = result["booktitle"] assert expected_book_title == result_book_title
def test_get_journal(): record = { "document_type": ["article"], "publication_info": [{"journal_title": "Rhys.Rev."}], } expected_journal = "Rhys. Rev." schema = BibTexCommonSchema() result = schema.dump(record).data result_journal = result["journal"] assert expected_journal == result_journal
def test_isbn_invalid(): record = { "document_type": ["book"], "isbns": [{"value": "111-1-11-111111-0"}, {"value": "1111111111111"}], } expected_isbn = "111-1-11-111111-0, 1111111111111" schema = BibTexCommonSchema() result = schema.dump(record).data result_isbn = result["isbn"] assert expected_isbn == result_isbn
def test_get_address(): record = { "document_type": ["book"], "addresses": [{"cities": ["Tokyo"], "country_code": "JP"}], } expected_address = "Tokyo, jp" schema = BibTexCommonSchema() result = schema.dump(record).data result_address = result["address"] assert expected_address == result_address
def test_get_book_title_without_book_series(): record = { "titles": [{"title": "This is the main title"}], "document_type": ["book"], } expected_book_title = "This is the main title" schema = BibTexCommonSchema() result = schema.dump(record).data result_book_title = result["booktitle"] assert expected_book_title == result_book_title
def test_get_number(): record = { "document_type": ["article"], "publication_info": [{"journal_issue": "12"}], } expected_number = "12" schema = BibTexCommonSchema() result = schema.dump(record).data result_number = result["number"] assert expected_number == result_number
def test_get_number_with_different_publication_info_material(): record = { "document_type": ["article"], "publication_info": [{"material": "foo", "journal_issue": "12"}], } expected_number = None schema = BibTexCommonSchema() result = schema.dump(record).data result_number = result["number"] assert expected_number == result_number
def test_get_year_from_thesis_when_pubinfo_present(): record = { "document_type": ["thesis"], "thesis_info": {"degree_type": "master", "date": "1996-09"}, } expected_year = 1996 schema = BibTexCommonSchema() result = schema.dump(record).data result_year = result["year"] assert expected_year == result_year
def test_get_authors_with_role_editor(): record = { "document_type": ["article"], "authors": [ {"full_name": "Kiritsis, Elias", "inspire_roles": ["editor"]}, {"full_name": "Nitti, Francesco", "inspire_roles": ["author"]}, ], } expected = ["Kiritsis, Elias"] schema = BibTexCommonSchema() result = schema.dump(record).data assert expected == result["authors_with_role_editor"]
def test_get_editor_from_proceedings_parent_record( mock_get_linked_records_from_dict_field, ): record = { "document_type": ["conference paper"], } expected_editors = ["Kiritsis, Elias"] schema = BibTexCommonSchema() result = schema.dump(record).data result_editors = result["authors_with_role_editor"] assert expected_editors == result_editors
def test_get_year_from_book_chapter_when_pubinfo_present(inspire_app): data = { "document_type": ["book chapter"], "imprints": [{"date": "1993-07-27"}], "preprint_date": "1992-01-01", } record = create_record("lit", data) expected_year = 1993 schema = BibTexCommonSchema() result = schema.dump(record).data result_year = result["year"] assert expected_year == result_year