Separate tests according to the python version, due to incompatibilities in sorted dicts.

This commit is contained in:
Eric Herrera
2020-06-23 21:21:57 -05:00
committed by Luis Moreno
parent 05b98cbba2
commit bf945e2aec

View File

@@ -4,9 +4,11 @@
import datetime
import json
import sys
import ddt
import mock
import pytest
import six
from django.test import RequestFactory, TestCase
from django.urls import reverse
@@ -949,6 +951,74 @@ class CategoryMapTestCase(CategoryMapTestMixin, ModuleStoreTestCase):
}
)
@pytest.mark.skipif(
sys.version_info < (3, 7),
reason="Python 3.7 sorted dict insertion is considered"
)
def test_sort_intermediates(self):
self.create_discussion("Chapter B", "Discussion 2")
self.create_discussion("Chapter C", "Discussion")
self.create_discussion("Chapter A", "Discussion 1")
self.create_discussion("Chapter B", "Discussion 1")
self.create_discussion("Chapter A", "Discussion 2")
self.assert_category_map_equals(
{
"children": [("Chapter A", TYPE_SUBCATEGORY), ("Chapter B", TYPE_SUBCATEGORY),
("Chapter C", TYPE_SUBCATEGORY)],
"entries": {},
"subcategories": {
"Chapter A": {
"children": [("Discussion 1", TYPE_ENTRY), ("Discussion 2", TYPE_ENTRY)],
"entries": {
"Discussion 1": {
"id": "discussion3",
"sort_key": None,
"is_divided": False,
},
"Discussion 2": {
"id": "discussion5",
"sort_key": None,
"is_divided": False,
}
},
"subcategories": {},
},
"Chapter B": {
"children": [("Discussion 2", TYPE_ENTRY), ("Discussion 1", TYPE_ENTRY)],
"entries": {
"Discussion 2": {
"id": "discussion1",
"sort_key": None,
"is_divided": False,
},
"Discussion 1": {
"id": "discussion4",
"sort_key": None,
"is_divided": False,
}
},
"subcategories": {},
},
"Chapter C": {
"entries": {
"Discussion": {
"id": "discussion2",
"sort_key": None,
"is_divided": False,
}
},
"children": [("Discussion", TYPE_ENTRY)],
"subcategories": {},
}
},
}
)
@pytest.mark.skipif(
sys.version_info >= (3, 7),
reason="Python 3.7 sorted dict insertion is not considered"
)
def test_sort_intermediates(self):
self.create_discussion("Chapter B", "Discussion 2")
self.create_discussion("Chapter C", "Discussion")