aboutsummaryrefslogtreecommitdiff
path: root/tests/uploader/publications/test_misc.py
diff options
context:
space:
mode:
authorFrederick Muriuki Muriithi2025-04-14 14:04:31 -0500
committerFrederick Muriuki Muriithi2025-04-14 14:04:31 -0500
commitb9490c4e26d97c1a569edbe99929bcf962d9df3b (patch)
tree306e7851ce4ad29eceb540491603ca5f046270c9 /tests/uploader/publications/test_misc.py
parentc58105c64920625b5e01d820169c884dc136d260 (diff)
downloadgn-uploader-b9490c4e26d97c1a569edbe99929bcf962d9df3b.tar.gz
Move test to appropriate package.
Diffstat (limited to 'tests/uploader/publications/test_misc.py')
-rw-r--r--tests/uploader/publications/test_misc.py67
1 files changed, 67 insertions, 0 deletions
diff --git a/tests/uploader/publications/test_misc.py b/tests/uploader/publications/test_misc.py
new file mode 100644
index 0000000..7a52941
--- /dev/null
+++ b/tests/uploader/publications/test_misc.py
@@ -0,0 +1,67 @@
+"""Tests for functions used for bulk editing."""
+import pytest
+
+from uploader.publications.misc import publications_differences
+
+
+@pytest.mark.unit_test
+@pytest.mark.parametrize(
+ "filedata,dbdata,pubmed2pubidmap,expected",
+ (((), (), {}, tuple()), # no data
+
+ # Same Data
+ (({"phenotype_id": 1, "xref_id": 10001, "PubMed_ID": 9999999999999},
+ {"phenotype_id": 1, "xref_id": 10002, "PubMed_ID": 9999999999999},
+ {"phenotype_id": 1, "xref_id": 10003, "PubMed_ID": 9999999999999},
+ {"phenotype_id": 1, "xref_id": 10005, "PubMed_ID": 9999999999999}),
+ ({"PhenotypeId": 1, "xref_id": 10001, "PublicationId": 15,
+ "PubMed_ID": 9999999999999},
+ {"PhenotypeId": 1, "xref_id": 10002, "PublicationId": 15,
+ "PubMed_ID": 9999999999999},
+ {"PhenotypeId": 1, "xref_id": 10003, "PublicationId": 15,
+ "PubMed_ID": 9999999999999},
+ {"PhenotypeId": 1, "xref_id": 10004, "PublicationId": 15,
+ "PubMed_ID": 9999999999999}),
+ {9999999999999: 15},
+ tuple()),
+
+ # Differences: no new pubmeds (all pubmeds in db)
+ (({"phenotype_id": 1, "xref_id": 10001, "PubMed_ID": 9999999999999},
+ {"phenotype_id": 1, "xref_id": 10002, "PubMed_ID": 9999999999998},
+ {"phenotype_id": 1, "xref_id": 10003, "PubMed_ID": 9999999999999},
+ {"phenotype_id": 1, "xref_id": 10004, "PubMed_ID": 9999999999997}),
+ ({"PhenotypeId": 1, "xref_id": 10001, "PublicationId": 15,
+ "PubMed_ID": 9999999999999},
+ {"PhenotypeId": 1, "xref_id": 10002, "PublicationId": 15,
+ "PubMed_ID": 9999999999999},
+ {"PhenotypeId": 1, "xref_id": 10003, "PublicationId": 15,
+ "PubMed_ID": 9999999999999},
+ {"PhenotypeId": 1, "xref_id": 10004, "PublicationId": 15,
+ "PubMed_ID": None}),
+ {9999999999999: 15, 9999999999998: 18, 9999999999997: 12},
+ ({"PhenotypeId": 1, "xref_id": 10002, "PublicationId": 18,
+ "PubMed_ID": 9999999999998},
+ {"PhenotypeId": 1, "xref_id": 10004, "PublicationId": 12,
+ "PubMed_ID": 9999999999997})),
+
+ # Differences: Deletions of pubmeds
+ (({"phenotype_id": 1, "xref_id": 10001, "PubMed_ID": 9999999999999},
+ {"phenotype_id": 1, "xref_id": 10002, "PubMed_ID": None},
+ {"phenotype_id": 1, "xref_id": 10003, "PubMed_ID": 9999999999999},
+ {"phenotype_id": 1, "xref_id": 10004, "PubMed_ID": None}),
+ ({"PhenotypeId": 1, "xref_id": 10001, "PublicationId": 15,
+ "PubMed_ID": 9999999999999},
+ {"PhenotypeId": 1, "xref_id": 10002, "PublicationId": 15,
+ "PubMed_ID": 9999999999999},
+ {"PhenotypeId": 1, "xref_id": 10003, "PublicationId": 15,
+ "PubMed_ID": 9999999999999},
+ {"PhenotypeId": 1, "xref_id": 10004, "PublicationId": 15,
+ "PubMed_ID": 9999999999999}),
+ {9999999999999: 15, 9999999999998: 18, 9999999999997: 12},
+ ({"PhenotypeId": 1, "xref_id": 10002, "PublicationId": None,
+ "PubMed_ID": None},
+ {"PhenotypeId": 1, "xref_id": 10004, "PublicationId": None,
+ "PubMed_ID": None}))))
+def test_publications_differences(filedata, dbdata, pubmed2pubidmap, expected):
+ assert publications_differences(
+ filedata, dbdata, pubmed2pubidmap) == expected