def METHOD_NAME(self):
    """Test re-ordering of tabs"""
    # get the original tabs
    course_tabs = list(self.course.tabs)
    num_orig_tabs = len(self.course.tabs)
    # make sure we have enough tabs to play around with
    assert num_orig_tabs >= 5
    # Randomise the order of static tabs, leave the rest intact
    course_tabs.sort(key=lambda tab: (100 + random.random()) if tab.type == 'static_tab' else tab.priority)
    tabs_data = [
        {'tab_locator': str(self.course.id.make_usage_key("static_tab", tab.url_slug))}
        for tab in course_tabs
        if tab.type == 'static_tab'
    ]
    # Remove one tab randomly. This shouldn't delete the tab.
    tabs_data.pop()
    # post the request
    resp = self.client.ajax_post(
        self.url,
        data={
            'tabs': tabs_data
        },
    )
    assert resp.status_code == 204
    # reload the course and verify the new tab order
    self.reload_course()
    reordered_tab_ids = [tab.tab_id for tab in course_tabs]
    new_tab_ids = [tab.tab_id for tab in self.course.tabs]
    assert new_tab_ids == reordered_tab_ids