def test_knows_if_it_is_submitted(self): # Setup issue_1 = IssueSubmissionFactory.create(journal=self.journal) issue_2 = IssueSubmissionFactory.create(journal=self.journal) issue_2.submit() # Run & check assert not issue_1.is_submitted assert issue_2.is_submitted
def test_refuse(self): issue = IssueSubmissionFactory(journal=self.journal) issue.submit() issue.refuse() issues = IssueSubmission.objects.all().order_by('id') assert issues.count() == 1 assert issues.first().files_versions.count() == 2
def test_user_cant_manage(self): issue = IssueSubmissionFactory(journal=self.journal) user = UserFactory() is_granted = user.has_perm('editor.manage_issuesubmission', issue.journal) self.assertEqual(is_granted, False)
def test_can_remove_incomplete_files_during_submission(self): # Setup issue = IssueSubmissionFactory.create(journal=self.journal) rfile = ResumableFile.objects.create(path='dummy/path.png', filesize=42, uploadsize=10) issue.last_files_version.submissions.add(rfile) # Run issue.submit() # Check assert issue.files_versions.count() == 1 assert issue.files_versions.all()[0].submissions.count() == 0
def test_issuesubmission_update_restricted(self): issue = IssueSubmissionFactory(journal=self.journal) self.client.login(username=self.user_non_granted.username, password="******") url = reverse('userspace:journal:editor:update', args=( self.journal.pk, issue.pk, )) response = self.client.get(url) self.assertEqual(response.status_code, 403)
def test_user_can_manage(self): journal = JournalFactory(collection=self.collection) user = UserFactory() journal.members.add(user) journal.save() ct = ContentType.objects.get(app_label="erudit", model="journal") Authorization.objects.create( content_type=ct, user=user, object_id=journal.id, authorization_codename=AC.can_manage_issuesubmission.codename) issue = IssueSubmissionFactory(journal=journal) is_granted = user.has_perm('editor.manage_issuesubmission', issue.journal) self.assertEqual(is_granted, True)
def test_issuesubmission_update_granted(self): journal = JournalFactory(collection=self.collection) journal.save() journal.members.add(self.user_granted) issue = IssueSubmissionFactory(journal=journal) self.client.login(username=self.user_granted.username, password="******") url = reverse('userspace:journal:editor:update', kwargs={ 'journal_pk': journal.pk, 'pk': issue.pk }) response = self.client.get(url) self.assertEqual(response.status_code, 403) ct = ContentType.objects.get(app_label="erudit", model="journal") Authorization.objects.create( content_type=ct, user=self.user_granted, object_id=journal.id, authorization_codename=AC.can_manage_issuesubmission.codename) response = self.client.get(url) self.assertEqual(response.status_code, 200)
def test_version(self): issue = IssueSubmissionFactory.create(journal=self.journal) new_files_version = issue.save_version() assert issue.files_versions.count() == 2 assert issue.last_files_version == new_files_version
def test_staff_can_manage(self): user = UserFactory(is_staff=True) issue = IssueSubmissionFactory(journal=self.journal) is_granted = user.has_perm('editor.manage_issuesubmission', issue) self.assertEqual(is_granted, True)