'In case of mongo, 2 queries are used by path_to_location(), and then
1 query per parent in path is needed to fetch the parent blocks.'

@ddt.data((ModuleStoreEnum.Type.mongo, 2, 2, 2), (ModuleStoreEnum.Type.mongo, 4, 2, 2), (ModuleStoreEnum.Type.mongo, 6, 2, 2), (ModuleStoreEnum.Type.mongo, 2, 3, 3), (ModuleStoreEnum.Type.mongo, 4, 3, 3), (ModuleStoreEnum.Type.mongo, 2, 4, 4), (ModuleStoreEnum.Type.split, 2, 2, 2), (ModuleStoreEnum.Type.split, 4, 2, 2), (ModuleStoreEnum.Type.split, 2, 3, 2), (ModuleStoreEnum.Type.split, 2, 4, 2))
@ddt.unpack
def test_get_path_queries(self, store_type, children_per_block, depth, expected_mongo_calls):

    course = self.create_course_with_blocks(children_per_block, depth, store_type)
    block = modulestore().get_course(course.id, depth=None)
    for __ in range((depth - 1)):
        children = block.get_children()
        block = children[(-1)]
    with check_mongo_calls(expected_mongo_calls):
        path = Bookmark.get_path(block.location)
        self.assertEqual(len(path), (depth - 2))
