def test_get_issues_by_jid(self): """ Teste da função controllers.get_issue_by_jid() para retornar um objeto: ``Issue``. """ issue = self._makeOne() self.assertEqual(controllers.get_issues_by_jid(issue.journal.id)[0].id, issue.id)
def test_get_issues_by_jid_with_many_items(self): """ Teste da função controllers.get_issue_by_jid() com vários itens, deve deve retorna uma lista. """ journal = utils.makeOneJournal() self._makeOne({'_id': '1', 'journal': journal.id}) self._makeOne({'_id': '2', 'journal': journal.id}) self._makeOne({'_id': '3', 'journal': journal.id}) self._makeOne({'_id': '4', 'journal': journal.id}) issues = [issue.id for issue in controllers.get_issues_by_jid(journal.id)] self.assertListEqual(sorted(issues), sorted(['1', '2', '3', '4']))
def test_get_issues_by_jid_changing_default_order_by(self): """ Teste da função controllers.get_issue_by_jid() com vários itens, deve deve retorna uma lista considerando o valor explicito do atributo ``order_by`` """ journal = utils.makeOneJournal() self._makeOne({'_id': '1', 'journal': journal.id, 'number': '10'}) self._makeOne({'_id': '2', 'journal': journal.id, 'number': '9'}) self._makeOne({'_id': '3', 'journal': journal.id, 'number': '8'}) self._makeOne({'_id': '4', 'journal': journal.id, 'number': '7'}) issues = [issue.id for issue in controllers.get_issues_by_jid(journal.id, order_by=['number'])] self.assertListEqual(sorted(issues), sorted(['4', '3', '2', '1']))
def issue_grid(journal_id): journal = controllers.get_journal_by_jid(journal_id) if not journal: abort(404, _(u'Periódico não encontrado')) issues = controllers.get_issues_by_jid(journal_id) result_dict = OrderedDict() for issue in issues: key_year = str(issue.year) key_volume = str(issue.volume) result_dict.setdefault(key_year, OrderedDict()) result_dict[key_year].setdefault(key_volume, []).append(issue) context = { 'journal': journal, 'result_dict': result_dict, } return render_template("issue/grid.html", **context)