def test_user_can_only_select_journal_contacts(self): """ Test list of contacts Make sure the list contains all the contacts of the publisher and only that """ request = self.factory.get( reverse('userspace:journal:editor:add'), args=(self.journal.pk, )) request.user = self.user middleware = SessionMiddleware() middleware.process_request(request) request.session.save() view = IssueSubmissionCreate(request=request, journal_pk=self.journal.pk) view.current_journal = self.journal form = view.get_form() user_contacts = set(User.objects.filter( journals=self.user.journals.all() ).distinct()) form_contacts = set( form.fields['contact'].queryset ) self.assertEquals( user_contacts, form_contacts )
def test_can_capture_a_metric_when_a_submission_is_created( self, mock_write_points, mock_list_db, mock_create_db): # Setup mock_write_points.side_effect = fake_write_points post_data = { 'journal': self.journal.pk, 'year': '2015', 'volume': '2', 'number': '2', 'contact': self.user.pk, 'comment': 'lorem ipsum dolor sit amet', } request = self.factory.post( reverse('userspace:journal:editor:add', args=(self.journal.pk, )), post_data) request.user = self.user middleware = SessionMiddleware() middleware.process_request(request) request.session.save() MessageMiddleware().process_request(request) view = IssueSubmissionCreate(request=request, journal_pk=self.journal.pk) view.current_journal = self.journal # Run view.post(request) # Check global _test_points self.assertEqual(len(_test_points), 1) issuesubmission = IssueSubmission.objects.last() self.assertEqual(_test_points, [{ 'tags': {}, 'fields': { 'author_id': self.user.pk, 'submission_id': issuesubmission.pk, 'num': 1, }, 'measurement': 'erudit__issuesubmission__create', }])
def test_can_capture_a_metric_when_a_submission_is_created( self, mock_write_points, mock_list_db, mock_create_db): # Setup mock_write_points.side_effect = fake_write_points post_data = { 'journal': self.journal.pk, 'year': '2015', 'volume': '2', 'number': '2', 'contact': self.user.pk, 'comment': 'lorem ipsum dolor sit amet', } request = self.factory.post( reverse('userspace:journal:editor:add', args=(self.journal.pk, )), post_data) request.user = self.user middleware = SessionMiddleware() middleware.process_request(request) request.session.save() MessageMiddleware().process_request(request) view = IssueSubmissionCreate(request=request, journal_pk=self.journal.pk) view.current_journal = self.journal # Run view.post(request) # Check global _test_points self.assertEqual(len(_test_points), 1) issuesubmission = IssueSubmission.objects.last() self.assertEqual( _test_points, [{ 'tags': {}, 'fields': { 'author_id': self.user.pk, 'submission_id': issuesubmission.pk, 'num': 1, }, 'measurement': 'erudit__issuesubmission__create', }])
def test_user_can_only_select_journal_contacts(self): """ Test list of contacts Make sure the list contains all the contacts of the publisher and only that """ request = self.factory.get(reverse('userspace:journal:editor:add'), args=(self.journal.pk, )) request.user = self.user middleware = SessionMiddleware() middleware.process_request(request) request.session.save() view = IssueSubmissionCreate(request=request, journal_pk=self.journal.pk) view.current_journal = self.journal form = view.get_form() user_contacts = set( User.objects.filter(journals=self.user.journals.all()).distinct()) form_contacts = set(form.fields['contact'].queryset) self.assertEquals(user_contacts, form_contacts)