Example #1
0
 def test_journals_with_published_issues_are_not_upcoming(self):
     # Setup
     JournalFactory.create_with_issue()
     # Run
     journals = Journal.upcoming_objects.all()
     # Check
     assert list(journals) == []
Example #2
0
    def test_only_main_collections_are_shown_by_default(self):
        collection = CollectionFactory.create()
        main_collection = CollectionFactory.create(is_main_collection=True)
        journal1 = JournalFactory.create_with_issue(collection=collection)
        journal2 = JournalFactory.create_with_issue(collection=main_collection)
        url = reverse('public:journal:journal_list')
        response = self.client.get(url)

        assert list(response.context['journals']) == [journal2]
Example #3
0
 def test_can_filter_the_journals_by_collections(self):
     # Setup
     col_1 = CollectionFactory(code='col1')
     col_2 = CollectionFactory(code='col2')
     JournalFactory.create_with_issue(collection=col_1)
     journal_2 = JournalFactory.create_with_issue(collection=col_2)
     url = reverse('public:journal:journal_list')
     # Run
     response = self.client.get(url, data={'collections': [
         'col2',
     ]})
     # Check
     assert list(response.context['journals']) == [
         journal_2,
     ]
Example #4
0
 def test_can_filter_the_journals_by_open_access(self):
     # Setup
     collection = CollectionFactory.create()
     journal_1 = JournalFactory.create_with_issue(collection=collection,
                                                  open_access=True)
     JournalFactory.create(collection=collection, open_access=False)
     url = reverse('public:journal:journal_list')
     # Run
     response = self.client.get(url, data={'open_access': True})
     # Check
     assert list(response.context['journals']) == [
         journal_1,
     ]
Example #5
0
 def test_can_sort_journals_by_disciplines(self):
     # Setup
     collection = CollectionFactory.create()
     discipline_1 = DisciplineFactory.create(code='abc-discipline',
                                             name='ABC')
     discipline_2 = DisciplineFactory.create(code='def-discipline',
                                             name='DEF')
     discipline_3 = DisciplineFactory.create(code='ghi-discipline',
                                             name='GHI')
     journal_1 = JournalFactory.create_with_issue(collection=collection)
     journal_1.disciplines.add(discipline_1)
     journal_2 = JournalFactory.create_with_issue(collection=collection)
     journal_2.disciplines.add(discipline_1)
     journal_3 = JournalFactory.create_with_issue(collection=collection)
     journal_3.disciplines.add(discipline_2)
     journal_4 = JournalFactory.create_with_issue(collection=collection)
     journal_4.disciplines.add(discipline_3)
     journal_5 = JournalFactory.create_with_issue(collection=collection)
     journal_5.disciplines.add(discipline_3)
     journal_6 = JournalFactory.create_with_issue(collection=collection)
     journal_6.disciplines.add(discipline_3)
     url = reverse('public:journal:journal_list')
     # Run
     response = self.client.get(url, {'sorting': 'disciplines'})
     # Check
     assert response.status_code == 200
     assert len(response.context['sorted_objects']) == 3
     assert response.context['sorted_objects'][0][
         'key'] == discipline_1.code
     assert response.context['sorted_objects'][0]['collections'][0][
         'key'] == collection
     assert response.context['sorted_objects'][0]['collections'][0][
         'objects'] == [
             journal_1,
             journal_2,
         ]
     assert response.context['sorted_objects'][1][
         'key'] == discipline_2.code
     assert response.context['sorted_objects'][1]['collections'][0][
         'key'] == collection
     assert response.context['sorted_objects'][1]['collections'][0][
         'objects'] == [
             journal_3,
         ]
     assert response.context['sorted_objects'][2][
         'key'] == discipline_3.code
     assert response.context['sorted_objects'][2]['collections'][0][
         'key'] == collection
     assert set(response.context['sorted_objects'][2]['collections'][0]
                ['objects']) == set([
                    journal_4,
                    journal_5,
                    journal_6,
                ])
Example #6
0
 def test_can_filter_the_journals_by_types(self):
     # Setup
     collection = CollectionFactory.create()
     jtype_1 = JournalType.objects.create(code='T1', name='T1')
     jtype_2 = JournalType.objects.create(code='T2', name='T2')
     JournalFactory.create(collection=collection, type=jtype_1)
     journal_2 = JournalFactory.create_with_issue(collection=collection,
                                                  type=jtype_2)
     url = reverse('public:journal:journal_list')
     # Run
     response = self.client.get(url, data={'types': [
         'T2',
     ]})
     # Check
     assert list(response.context['journals']) == [
         journal_2,
     ]
Example #7
0
 def test_can_sort_journals_by_name(self):
     # Setup
     collection = CollectionFactory.create()
     journal_1 = JournalFactory.create_with_issue(collection=collection,
                                                  name='ABC journal')
     journal_2 = JournalFactory.create_with_issue(collection=collection,
                                                  name='ACD journal')
     journal_3 = JournalFactory.create_with_issue(collection=collection,
                                                  name='DEF journal')
     journal_4 = JournalFactory.create_with_issue(collection=collection,
                                                  name='GHI journal')
     journal_5 = JournalFactory.create_with_issue(collection=collection,
                                                  name='GIJ journal')
     journal_6 = JournalFactory.create_with_issue(collection=collection,
                                                  name='GJK journal')
     url = reverse('public:journal:journal_list')
     # Run
     response = self.client.get(url)
     # Check
     assert response.status_code == 200
     assert len(response.context['sorted_objects']) == 3
     assert response.context['sorted_objects'][0]['key'] == 'A'
     assert response.context['sorted_objects'][0]['objects'] == [
         journal_1,
         journal_2,
     ]
     assert response.context['sorted_objects'][1]['key'] == 'D'
     assert response.context['sorted_objects'][1]['objects'] == [
         journal_3,
     ]
     assert response.context['sorted_objects'][2]['key'] == 'G'
     assert response.context['sorted_objects'][2]['objects'] == [
         journal_4,
         journal_5,
         journal_6,
     ]
Example #8
0
 def test_journals_with_published_and_unpublished_issues_are_not_upcoming(self):
     # Setup
     journal_1 = JournalFactory.create_with_issue()
     IssueFactory(journal=journal_1, is_published=False)
     # Test
     assert list(Journal.upcoming_objects.all()) == []