Beispiel #1
0
    def setUpTestData(cls):
        helpers.create_press()
        helpers.create_journals()
        helpers.create_roles(['reviewer', 'editor', 'author'])

        cls.journal_one = journal_models.Journal.objects.get(
            code="TST", domain="testserver")

        cls.regular_user = helpers.create_regular_user()
        cls.second_user = helpers.create_second_user(cls.journal_one)
        cls.editor = helpers.create_editor(cls.journal_one)
        cls.author = helpers.create_author(cls.journal_one)

        cls.review_form = review_models.ReviewForm.objects.create(
            name="A Form",
            slug="A Slug",
            intro="i",
            thanks="t",
            journal=cls.journal_one)

        cls.article_under_review = submission_models.Article.objects.create(
            owner=cls.regular_user,
            correspondence_author=cls.regular_user,
            title="A Test Article",
            abstract="An abstract",
            stage=submission_models.STAGE_UNDER_REVIEW,
            journal_id=cls.journal_one.id)

        cls.review_assignment = review_models.ReviewAssignment.objects.create(
            article=cls.article_under_review,
            reviewer=cls.second_user,
            editor=cls.editor,
            date_due=timezone.now(),
            form=cls.review_form)

        cls.request = helpers.Request()
        cls.request.journal = cls.journal_one
        cls.request.press = cls.journal_one.press
        cls.request.site_type = cls.journal_one
        cls.request.user = cls.editor
        cls.request.model_content_type = ContentType.objects.get_for_model(
            cls.request.journal)

        cls.test_message = 'This message is a test for outgoing email, nothing else.'

        cls.base_kwargs = {
            'request': cls.request,
            'user_message_content': cls.test_message,
            'skip': False,
        }
Beispiel #2
0
    def test_merge_accounts_o2m_unique(self):
        """Test merging of o2m unique elements of two accounts"""
        # Setup
        press = helpers.create_press()
        journal, _ = helpers.create_journals()
        from_account = models.Account.objects.create(email="*****@*****.**")
        to_account = models.Account.objects.create(email="*****@*****.**")
        role_obj = models.Role.objects.create(name="t", slug="t")
        role = models.AccountRole.objects.create(
            user=from_account,
            journal=journal,
            role=role_obj,
        )
        unique_violation = models.AccountRole.objects.create(user=to_account,
                                                             journal=journal,
                                                             role=role_obj)

        # Test
        merge_models(from_account, to_account)

        # Assert
        self.assertTrue(
            unique_violation in to_account.accountrole_set.all(),
            msg="Failed to merge user models",
        )
Beispiel #3
0
    def setUp(self):
        self.press = helpers.create_press()
        self.press.save()
        self.journal_one, self.journal_two = helpers.create_journals()
        helpers.create_roles([
            "editor", "author", "reviewer", "proofreader", "production",
            "copyeditor", "typesetter", "proofing_manager", "section-editor"
        ])

        self.regular_user = helpers.create_user("*****@*****.**")
        self.regular_user.is_active = True
        self.regular_user.save()

        self.second_user = helpers.create_user("*****@*****.**",
                                               ["reviewer"],
                                               journal=self.journal_one)
        self.second_user.is_active = True
        self.second_user.save()

        self.admin_user = helpers.create_user("*****@*****.**")
        self.admin_user.is_staff = True
        self.admin_user.is_active = True
        self.admin_user.save()

        self.journal_one.name = 'Journal One'
        self.journal_two.name = 'Journal Two'
        call_command('install_plugins')
Beispiel #4
0
    def setUp(self):
        self.press = helpers.create_press()
        self.press.save()
        self.journal_one, self.journal_two = helpers.create_journals()

        self.regular_user = helpers.create_user("*****@*****.**")
        self.regular_user.is_active = True
        self.regular_user.save()

        self.article_in_production = submission_models.Article.objects.create(
            owner=self.regular_user,
            title="A Test Article",
            abstract="An abstract",
            stage=submission_models.STAGE_TYPESETTING,
            journal=self.journal_one,
            date_accepted=timezone.now(),
        )
        self.pk_string = str(self.article_in_production.pk)
        self.request = helpers.Request()
        self.request.user = self.regular_user

        self.test_file_one = SimpleUploadedFile(
            "test.png",
            b"\x00\x01\x02\x03",
        )

        self.test_file_two = SimpleUploadedFile(
            "file.txt",
            b"content",
        )

        self.files = list()
Beispiel #5
0
 def setUp(self):
     self.press = helpers.create_press()
     self.journal_one, self.journal_two = helpers.create_journals()
     self.article_one, _ = sm_models.Article.objects.get_or_create(
         journal=self.journal_one,
         title="Test article 1",
         stage=sm_models.STAGE_PUBLISHED,
     )
     self.identifier_one, _ = id_models.Identifier.objects.get_or_create(
         article=self.article_one, id_type="doi", identifier="10.0001/test")
     self.article_two, _ = sm_models.Article.objects.get_or_create(
         journal=self.journal_two,
         title="Test article two",
         stage=sm_models.STAGE_PUBLISHED,
     )
     self.identifier_one, _ = id_models.Identifier.objects.get_or_create(
         article=self.article_two, id_type="doi", identifier="10.0002/test")
Beispiel #6
0
    def test_merge_accounts_m2m_through(self):
        """Test merging of m2m declaring 'through' when merging two accounts"""
        # Setup
        from_account = models.Account.objects.create(email="*****@*****.**")
        to_account = models.Account.objects.create(email="*****@*****.**")
        press = helpers.create_press()
        journal, _ = helpers.create_journals()
        issue = journal_models.Issue.objects.create(journal=journal)

        # Issue editors have a custom through model
        issue_editor = journal_models.IssueEditor.objects.create(
            issue=issue,
            account=from_account,
        )

        # Test
        merge_models(from_account, to_account)

        # Assert
        self.assertTrue(
            to_account.issueeditor_set.filter(issue=issue).exists(),
            msg="Failed to merge user models",
        )
Beispiel #7
0
 def setUp(self):
     self.press = helpers.create_press()
     self.press.save()
     self.journal_one, self.journal_two = helpers.create_journals()
     self.setting_group = SettingGroup.objects.create(name="test_group")
    def setUp(self):
        press = helpers.create_press()
        self.journal, _ = helpers.create_journals()
        self.journal.save()
        call_command('load_default_settings', management_command=False)
        self.journal.publisher = "doaj"
        self.journal.code = "doaj"
        self.journal.save()

        install.update_license(self.journal, management_command=False)
        install.update_settings(self.journal, file_path=SETTINGS_PATH)

        self.article = self._create_article(
            date_published=datetime.date(day=1, month=7, year=2019))
        self.encoded_article = """
        {
        "admin": {
            "publisher_record_id": null
        },
        "bibjson":{
        "end_page": null,
            "identifier":[
                {
                    "id":"0000-0000",
                    "type":"eissn"
                },
                {
                    "id": null,
                    "type": "doi"
                }
            ],
            "author":[
                {
                    "name":"Testla Musketeer",
                    "affiliation":"OLH",
                    "orcid_id": null
                }
            ],
            "journal":{
                "volume":"1",
                "license":[
                    {
                    "title":"All rights reserved",
                    "url":"https://creativecommons.org/licenses/authors",
                    "open_access":true
                    }
                ],
                "publisher":"doaj",
                "title":"Journal One",
                "number":"1",
                "language":[
                    "en"
                ]
            },
            "keywords":[

            ],
            "year": "2019",
            "month": "7",
            "start_page": null,
            "subject": null,
            "title":"The art of writing test titles",
            "link":[
                {
                    "url":"http://localhost/doaj/article/id/%s/",
                    "content_type":"text/html",
                    "type":"fulltext"
                }
            ],
            "abstract":"The test abstract"
            }
        }
        """ % (self.article.pk)