def test_set_mission(self): documents_bundle = domain.Journal(id="0034-8910-rsp-48-2") documents_bundle.mission = { "pt": "Publicar trabalhos científicos originais sobre a Amazonia.", "es": "Publicar trabajos científicos originales sobre Amazonia.", "en": "To publish original scientific papers about Amazonia.", } self.assertEqual( documents_bundle.mission, { "pt": "Publicar trabalhos científicos originais sobre a Amazonia.", "es": "Publicar trabajos científicos originales sobre Amazonia.", "en": "To publish original scientific papers about Amazonia.", }, ) self.assertEqual( documents_bundle.manifest["metadata"]["mission"][-1], ( "2018-08-05T22:33:49.795151Z", { "pt": "Publicar trabalhos científicos originais sobre a Amazonia.", "es": "Publicar trabajos científicos originales sobre Amazonia.", "en": "To publish original scientific papers about Amazonia.", }, ), )
def test_set_subject_areas_content_raises_value_error(self): journal = domain.Journal(id="0034-8910-rsp-48-2") subject_areas = ( "AGRICULTURAL", "APPLIED SOCIAL", "BIOLOGICAL", "ENGINEERING", "EXACT AND EARTH", "HEALTH", "HUMAN", "LINGUISTIC, LITERATURE AND ARTS", ) invalid = [ "AGRICULTURAL", "APPLIED SOCIAL", "BIOLOGICAL", "EXACT AND EARTH", "HEALTH", "HUMAN", ] self._assert_raises_with_message( ValueError, "cannot set subject_areas with value %s: " % repr(subject_areas) + "%s are not valid" % repr(invalid), setattr, journal, "subject_areas", subject_areas, )
def test_set_acronym_slug(self): journal = domain.Journal(id="0034-8910-rsp-48-2") journal.acronym = "rsp" self.assertEqual(journal.acronym, "rsp") self.assertEqual( journal.manifest["metadata"]["acronym"], [("2018-08-05T22:33:49.795151Z", "rsp")], )
def test_set_unpublish_reason(self): journal = domain.Journal(id="0034-8910-rsp-48-2") journal.unpublish_reason = "not-open-access" self.assertEqual(journal.unpublish_reason, "not-open-access") self.assertEqual( journal.manifest["metadata"]["unpublish_reason"], [("2018-08-05T22:33:49.795151Z", "not-open-access")], )
def test_set_title_slug(self): journal = domain.Journal(id="0034-8910-rsp-48-2") journal.title_slug = "pesquisa-veterinaria-brasileira" self.assertEqual(journal.title_slug, "pesquisa-veterinaria-brasileira") self.assertEqual( journal.manifest["metadata"]["title_slug"], [("2018-08-05T22:33:49.795151Z", "pesquisa-veterinaria-brasileira")], )
def test_set_is_public_to_false(self): journal = domain.Journal(id="0034-8910-rsp-48-2") journal.is_public = False self.assertFalse(journal.is_public) self.assertEqual( journal.manifest["metadata"]["is_public"], [("2018-08-05T22:33:49.795151Z", False)], )
def test_set_current_status(self): journal = domain.Journal(id="0034-8910-rsp-48-2") journal.current_status = "current" self.assertEqual(journal.current_status, "current") self.assertEqual( journal.manifest["metadata"]["current_status"], [("2018-08-05T22:33:49.795151Z", "current")], )
def test_set_electronic_issn(self): journal = domain.Journal(id="0034-8910-rsp-48-2") journal.electronic_issn = "1809-4392" self.assertEqual(journal.electronic_issn, "1809-4392") self.assertEqual( journal.manifest["metadata"]["electronic_issn"], [("2018-08-05T22:33:49.795151Z", "1809-4392")], )
def test_set_short_title(self): journal = domain.Journal(id="0034-8910-rsp-48-2") journal.short_title = "Rev. Saúde Pública" self.assertEqual(journal.short_title, "Rev. Saúde Pública") self.assertEqual( journal.manifest["metadata"]["short_title"], [("2018-08-05T22:33:49.795151Z", "Rev. Saúde Pública")], )
def test_set_mission_content_is_not_validated(self): documents_bundle = domain.Journal(id="0034-8910-rsp-48-2") self._assert_raises_with_message( TypeError, "cannot set mission with value " '"mission-invalid": value must be dict', setattr, documents_bundle, "mission", "mission-invalid", )
def test_set_subject_areas_content_raises_type_error(self): journal = domain.Journal(id="0034-8910-rsp-48-2") invalid = 1 self._assert_raises_with_message( TypeError, "cannot set subject_areas with value " '"%s": value must be tuple' % invalid, setattr, journal, "subject_areas", invalid, )
def test_set_subject_areas_content_raises_value_error_for_string(self): journal = domain.Journal(id="0034-8910-rsp-48-2") subject_areas = "LINGUISTIC, LITERATURE AND ARTS" invalid = list(subject_areas) self._assert_raises_with_message( ValueError, "cannot set subject_areas with value %s: " % repr(tuple(subject_areas)) + "%s are not valid" % repr(invalid), setattr, journal, "subject_areas", subject_areas, )
def test_update_title_get_updated(self): journal = domain.Journal(id="0034-8910-rsp-48-2") self.assertEqual(journal.updated(), "2018-08-05T22:33:49.795151Z") datetime_patcher = mock.patch.object( domain, "datetime", mock.Mock(wraps=datetime.datetime) ) mocked_datetime = datetime_patcher.start() mocked_datetime.utcnow.return_value = datetime.datetime( 2018, 8, 5, 22, 34, 49, 795151 ) self.addCleanup(datetime_patcher.stop) journal.title = "Novo Journal" self.assertEqual(journal.updated(), "2018-08-05T22:34:49.795151Z")
def test_subject_areas(self): journal = domain.Journal(id="0034-8910-rsp-48-2") journal.subject_areas = [ "AGRICULTURAL SCIENCES", "APPLIED SOCIAL SCIENCES", "BIOLOGICAL SCIENCES", "ENGINEERING", "EXACT AND EARTH SCIENCES", "HEALTH SCIENCES", "HUMAN SCIENCES", "LINGUISTIC, LITERATURE AND ARTS", ] self.assertEqual( journal.subject_areas, ( "AGRICULTURAL SCIENCES", "APPLIED SOCIAL SCIENCES", "BIOLOGICAL SCIENCES", "ENGINEERING", "EXACT AND EARTH SCIENCES", "HEALTH SCIENCES", "HUMAN SCIENCES", "LINGUISTIC, LITERATURE AND ARTS", ), ) self.assertEqual( journal.manifest["metadata"]["subject_areas"][-1], ( "2018-08-05T22:33:49.795151Z", ( "AGRICULTURAL SCIENCES", "APPLIED SOCIAL SCIENCES", "BIOLOGICAL SCIENCES", "ENGINEERING", "EXACT AND EARTH SCIENCES", "HEALTH SCIENCES", "HUMAN SCIENCES", "LINGUISTIC, LITERATURE AND ARTS", ), ), )
def test_manifest_is_generated_on_init(self): journal = domain.Journal(id="0034-8910-rsp-48-2") self.assertTrue(isinstance(journal.manifest, dict))
def test_manifest_schema_is_not_validated_on_init(self): existing_manifest = {"versions": []} journal = domain.Journal(manifest=existing_manifest) self.assertEqual(existing_manifest, journal.manifest)
def test_id_returns_id(self): journal = domain.Journal(id="0034-8910-rsp-48-2") self.assertEqual(journal.id(), "0034-8910-rsp-48-2")
def test_title_slug_is_empty_str(self): journal = domain.Journal(id="0034-8910-rsp-48-2") self.assertEqual(journal.title_slug, "")
def test_get_updated(self): journal = domain.Journal(id="0034-8910-rsp-48-2") self.assertEqual(journal.updated(), "2018-08-05T22:33:49.795151Z")
def test_acronym_is_empty_str(self): journal = domain.Journal(id="0034-8910-rsp-48-2") self.assertEqual(journal.acronym, "")
def test_is_public_is_default_true(self): journal = domain.Journal(id="0034-8910-rsp-48-2") self.assertTrue(journal.is_public)
def test_unpublish_reason_is_empty_str(self): journal = domain.Journal(id="0034-8910-rsp-48-2") self.assertEqual(journal.unpublish_reason, "")
def test_scielo_issn_is_empty_str(self): journal = domain.Journal(id="0034-8910-rsp-48-2") self.assertEqual(journal.scielo_issn, "")
def test_current_status_is_empty_str(self): journal = domain.Journal(id="0034-8910-rsp-48-2") self.assertEqual(journal.current_status, "")
def test_manifest_as_arg_on_init(self): existing_manifest = new_bundle("0034-8910-rsp-48-2") journal = domain.Journal(manifest=existing_manifest) self.assertEqual(existing_manifest, journal.manifest)
def test_electronic_issn_is_empty_str(self): journal = domain.Journal(id="0034-8910-rsp-48-2") self.assertEqual(journal.electronic_issn, "")