Ejemplo n.º 1
0
    def test_latest_article_version_list_only_unpublished(self):
        "ensure only the latest versions of the articles are returned when unpublished versions exist"
        self.assertEqual(self.total_version_count, models.ArticleVersion.objects.count())

        unpublish_these = [
            (3401, 3),
            (6250, 3),
            (8025, 2),
            (9571, 1)
        ]
        for msid, version in unpublish_these:
            self.unpublish(msid, version)

        total, results = logic.latest_article_version_list(only_published=False) # THIS IS THE IMPORTANT BIT
        total, results = logic.latest_unpublished_article_versions()

        self.assertEqual(len(results), self.total_art_count)
        self.assertEqual(len(results), models.Article.objects.count())

        result_idx = {obj.article.manuscript_id: obj for obj in results}
        expected_result = [
            (353, 1),
            (385, 1),
            (1328, 1),
            (2619, 1),
            (3401, 3),
            (3665, 1),
            (6250, 3),
            (7301, 1),
            (8025, 2),
            (9571, 1)
        ]
        for msid, v in expected_result:
            # throws a DoesNotExist if expected not in latest resultset
            self.assertEqual(result_idx[msid].version, v)
Ejemplo n.º 2
0
    def test_latest_article_version_list_wrapper(self):
        unpublish_these = [
            (9571, 1)
        ]
        for msid, version in unpublish_these:
            self.unpublish(msid, version)

        wrapped_total, wrapped_results = logic.latest_article_version_list(only_published=False)
        total, results = logic.latest_unpublished_article_versions()
        self.assertEqual(wrapped_total, total)
        self.assertItemsEqual(wrapped_results, results)
Ejemplo n.º 3
0
    def test_latest_article_version_list_wrapper(self):
        unpublish_these = [(9571, 1)]
        for msid, version in unpublish_these:
            self.unpublish(msid, version)

        wrapper_total, wrapper_results = logic.latest_article_version_list(
            only_published=False)
        total, results = logic.latest_unpublished_article_versions()
        self.assertEqual(wrapper_total, total)
        # checks the items as well as the length
        # https://docs.python.org/3/library/unittest.html?highlight=assertcountequal#unittest.TestCase.assertCountEqual
        self.assertCountEqual(wrapper_results, results)
Ejemplo n.º 4
0
    def test_latest_article_version_list_only_unpublished(self):
        "ensure only the latest versions of the articles are returned when unpublished versions exist"
        self.assertEqual(self.total_version_count,
                         models.ArticleVersion.objects.count())

        unpublish_these = [(3401, 3), (6250, 3), (8025, 2), (9571, 1)]
        for msid, version in unpublish_these:
            self.unpublish(msid, version)

        total, results = logic.latest_unpublished_article_versions()

        self.assertEqual(len(results), self.total_art_count)
        self.assertEqual(len(results), models.Article.objects.count())

        result_idx = {obj.article.manuscript_id: obj for obj in results}
        expected_result = [(353, 1), (385, 1), (1328, 1), (2619, 1), (3401, 3),
                           (3665, 1), (6250, 3), (7301, 1), (8025, 2),
                           (9571, 1)]
        for msid, v in expected_result:
            # throws a DoesNotExist if expected not in latest resultset
            self.assertEqual(result_idx[msid].version, v)