Example #1
0
    def test_count_elements_by_type_and_visibility_type_journal(self):
        """
        Testando a função count_elements_by_type_and_visibility() com 20
        periódicos cadastrados, deve retornar apenas 20 periódicos.
        """

        utils.makeAnyJournal(items=20)

        total_journal = controllers.count_elements_by_type_and_visibility('journal')

        self.assertEqual(total_journal, 20)
Example #2
0
    def test_collection_list_feed(self):
        """
        Teste para verificar a reposta da ``view funciton``collection_list_feed
        Se cadastra 10 periódicos, deve retornar na interface do rss, utilizando
        o template ``collection/list_feed_content.html```.
        """

        with current_app.app_context():

            collection = utils.makeOneCollection()
            journals = utils.makeAnyJournal(items=10)
            issues = []

            for journal in journals:
                issue = utils.makeOneIssue({'journal': journal.id})
                utils.makeAnyArticle(
                    issue=issue,
                    attrib={'journal': journal.id, 'issue': issue.id}
                )
                issues.append(issue)

            response = self.client.get(url_for('main.collection_list_feed'))

            self.assertStatus(response, 200)
            self.assertTemplateUsed('collection/list_feed_content.html')

            for journal in journals:
                self.assertIn('%s' % journal.url_segment,
                              response.data.decode('utf-8'))

            for issue in issues:
                self.assertIn('%s' % issue.url_segment,
                              response.data.decode('utf-8'))
Example #3
0
    def test_count_elements_by_type_and_visibility_journal_public_only(self):
        """
        Testando a função count_elements_by_type_and_visibility() com 20
        periódicos cadastrados com atributo puclic=true e 6 public=false,
        deve retornar apenas 20 periódicos(somente os periódicos marcados como
        publicos).
        """

        utils.makeAnyJournal(items=20)
        utils.makeOneJournal({'is_public': False})
        utils.makeOneJournal({'is_public': False})
        utils.makeOneJournal({'is_public': False})
        utils.makeOneJournal({'is_public': False})
        utils.makeOneJournal({'is_public': False})
        utils.makeOneJournal({'is_public': False})

        total_journal = controllers.count_elements_by_type_and_visibility('journal', public_only=True)

        self.assertEqual(total_journal, 20)
Example #4
0
    def test_collection_list_theme(self):
        """
        Teste para avaliar o retorno da ``view function`` collection_list_theme
        ao cadastrarmos 60 periódico a interface deve retornar uma listagem
        contendo elementos esperado tambémdeve retornar o template
        ``collection/list_theme.html``.
        """

        journals = utils.makeAnyJournal(items=30,
                                        attrib={"study_areas": ["Engineering"]})
        journals = utils.makeAnyJournal(items=30,
                                        attrib={"study_areas": ["Human Sciences",
                                                "Biological Sciences", "Engineering"]})

        response = self.client.get(url_for('main.collection_list_theme'))

        self.assertStatus(response, 200)
        self.assertTemplateUsed('collection/list_theme.html')

        for journal in journals:
            self.assertIn('journals/%s' % journal.id,
                          response.data.decode('utf-8'))
Example #5
0
    def test_journal_detail_with_unknow_id(self):
        """
        Teste da ``view function`` ``journal_detail`` com um id desconhecido
        deve retornar uma página com ``status_code`` 404 e msg
        ``Periódico não encontrado``.
        """

        journals = utils.makeAnyJournal(items=6)

        unknow_id = '0k2qhs8slwnui8'

        response = self.client.get(url_for('main.journal_detail',
                                   journal_id=unknow_id))

        self.assertStatus(response, 404)
        self.assertIn(u'Periódico não encontrado',
                      response.data.decode('utf-8'))
Example #6
0
    def test_collection_list_feed_without_issues(self):
        """
        Teste para verificar a reposta da ``view funciton``collection_list_feed
        Se cadastra 10 periódicos sem fascículo, deve retornar na interface do
        rss, utilizando o template ``collection/list_feed_content.html```.
        """

        with current_app.app_context():

            collection = utils.makeOneCollection()
            journals = utils.makeAnyJournal(items=10)

            response = self.client.get(url_for('main.collection_list_feed'))

            self.assertStatus(response, 200)
            self.assertTemplateUsed('collection/list_feed_content.html')

            for journal in journals:
                self.assertIn('%s' % journal.url_segment,
                              response.data.decode('utf-8'))
Example #7
0
    def test_collection_list_alpha(self):
        """
        Teste para avaliar o retorno da ``view function`` collection_list_alpha,
        ao cadastrarmos 10 periódico a interface deve retornar uma listagem
        contendo elementos esperado também deve retornar o template
        ``collection/list_alpha.html``.
        """

        journals = utils.makeAnyJournal(items=10)

        response = self.client.get(url_for('main.collection_list_alpha'))

        self.assertStatus(response, 200)
        self.assertTemplateUsed('collection/list_alpha.html')

        for journal in journals:
            self.assertIn('journals/%s' % journal.id,
                          response.data.decode('utf-8'))

        self.assertListEqual(sorted([journal.id for journal in journals]),
                             sorted([journal.id for journal in self.get_context_variable('journals')]))
Example #8
0
 def _makeAny(self, items=3):
     """
     Retorna uma lista de objetos ``Journal`` com atributos ``jid``,
     ``is_public`` e ``acronym`` limitando a quantidade pelo param ``items``.
     """
     return utils.makeAnyJournal(items=items)