From 045a0f19a2aa65ecf3a02a1aba4d7ac9f690a90c Mon Sep 17 00:00:00 2001 From: "copilot-swe-agent[bot]" <198982749+Copilot@users.noreply.github.com> Date: Mon, 9 Mar 2026 17:13:34 +0000 Subject: [PATCH 1/3] Initial plan From 38a77164459c224254bdcf0a4139e8de9acdc2c1 Mon Sep 17 00:00:00 2001 From: "copilot-swe-agent[bot]" <198982749+Copilot@users.noreply.github.com> Date: Mon, 9 Mar 2026 17:19:09 +0000 Subject: [PATCH 2/3] Add enabled boolean field to CrossmarkPage model Co-authored-by: robertatakenaka <505143+robertatakenaka@users.noreply.github.com> --- __init__.py | 0 opac_schema/v1/models.py | 2 ++ tests/base.py | 7 +++++-- tests/test_crossmarkpage.py | 33 +++++++++++++++++++++++++++++++++ 4 files changed, 40 insertions(+), 2 deletions(-) delete mode 100644 __init__.py diff --git a/__init__.py b/__init__.py deleted file mode 100644 index e69de29..0000000 diff --git a/opac_schema/v1/models.py b/opac_schema/v1/models.py index a47995a..4d7f28d 100644 --- a/opac_schema/v1/models.py +++ b/opac_schema/v1/models.py @@ -1071,6 +1071,7 @@ def save(self, *args, **kwargs): class CrossmarkPage(Document): doi = StringField(required=True) is_doi_active = BooleanField(required=True, default=True) + enabled = BooleanField(required=True, default=True) language = StringField(max_length=5, required=True) url = StringField() text = StringField() @@ -1083,6 +1084,7 @@ class CrossmarkPage(Document): 'indexes': [ 'doi', 'is_doi_active', + 'enabled', 'language', 'journal', ] diff --git a/tests/base.py b/tests/base.py index e2e642a..4ad5409 100644 --- a/tests/base.py +++ b/tests/base.py @@ -1,7 +1,7 @@ # coding: utf-8 import uuid import unittest -from mongoengine import connect +from mongoengine import connect, disconnect import mongomock @@ -10,7 +10,10 @@ class BaseTestCase(unittest.TestCase): model_class_to_delete = [] def setUp(self): - self.connection = connect(db='mongotest', mongo_client_class=mongomock.MongoClient) + # Disconnect any existing connection first + disconnect() + # Use mongomock for testing + self.connection = connect(db='mongotest', host='mongomock://localhost') # workaroud to fix "drop database" that run only once: # https://github.com/mongomock/mongomock/issues/371 if self.model_class_to_delete: diff --git a/tests/test_crossmarkpage.py b/tests/test_crossmarkpage.py index da68b4d..5348476 100644 --- a/tests/test_crossmarkpage.py +++ b/tests/test_crossmarkpage.py @@ -265,3 +265,36 @@ def test_create_crossmarkpage_without_text(self): # then self.assertIsNone(crossmark_doc.text) + + def test_create_crossmarkpage_enabled_default_true(self): + # given + journal = self._make_journal() + crossmark_data = { + 'doi': '10.1590/crossmark-policy', + 'language': 'en', + 'journal': journal, + } + + # when + crossmark_doc = CrossmarkPage(**crossmark_data) + crossmark_doc.save() + + # then + self.assertTrue(crossmark_doc.enabled) + + def test_create_crossmarkpage_enabled_false(self): + # given + journal = self._make_journal() + crossmark_data = { + 'doi': '10.1590/crossmark-policy', + 'language': 'en', + 'journal': journal, + 'enabled': False, + } + + # when + crossmark_doc = CrossmarkPage(**crossmark_data) + crossmark_doc.save() + + # then + self.assertFalse(crossmark_doc.enabled) From e8c9942aefc062cf8637ac6ecfedf2a0eac16b88 Mon Sep 17 00:00:00 2001 From: "copilot-swe-agent[bot]" <198982749+Copilot@users.noreply.github.com> Date: Mon, 9 Mar 2026 17:57:39 +0000 Subject: [PATCH 3/3] Change enabled field default to False in CrossmarkPage Co-authored-by: robertatakenaka <505143+robertatakenaka@users.noreply.github.com> --- opac_schema/v1/models.py | 2 +- tests/base.py | 7 ++----- tests/test_crossmarkpage.py | 4 ++-- 3 files changed, 5 insertions(+), 8 deletions(-) diff --git a/opac_schema/v1/models.py b/opac_schema/v1/models.py index 4d7f28d..12c2624 100644 --- a/opac_schema/v1/models.py +++ b/opac_schema/v1/models.py @@ -1071,7 +1071,7 @@ def save(self, *args, **kwargs): class CrossmarkPage(Document): doi = StringField(required=True) is_doi_active = BooleanField(required=True, default=True) - enabled = BooleanField(required=True, default=True) + enabled = BooleanField(required=True, default=False) language = StringField(max_length=5, required=True) url = StringField() text = StringField() diff --git a/tests/base.py b/tests/base.py index 4ad5409..e2e642a 100644 --- a/tests/base.py +++ b/tests/base.py @@ -1,7 +1,7 @@ # coding: utf-8 import uuid import unittest -from mongoengine import connect, disconnect +from mongoengine import connect import mongomock @@ -10,10 +10,7 @@ class BaseTestCase(unittest.TestCase): model_class_to_delete = [] def setUp(self): - # Disconnect any existing connection first - disconnect() - # Use mongomock for testing - self.connection = connect(db='mongotest', host='mongomock://localhost') + self.connection = connect(db='mongotest', mongo_client_class=mongomock.MongoClient) # workaroud to fix "drop database" that run only once: # https://github.com/mongomock/mongomock/issues/371 if self.model_class_to_delete: diff --git a/tests/test_crossmarkpage.py b/tests/test_crossmarkpage.py index 5348476..193c453 100644 --- a/tests/test_crossmarkpage.py +++ b/tests/test_crossmarkpage.py @@ -266,7 +266,7 @@ def test_create_crossmarkpage_without_text(self): # then self.assertIsNone(crossmark_doc.text) - def test_create_crossmarkpage_enabled_default_true(self): + def test_create_crossmarkpage_enabled_default_false(self): # given journal = self._make_journal() crossmark_data = { @@ -280,7 +280,7 @@ def test_create_crossmarkpage_enabled_default_true(self): crossmark_doc.save() # then - self.assertTrue(crossmark_doc.enabled) + self.assertFalse(crossmark_doc.enabled) def test_create_crossmarkpage_enabled_false(self): # given