Enforce via increased/improved testing the relationship between draft items, published items, elemental publishing operations, and the OLX course export format.
Test every operation in ModuleStoreDraftAndPublished() in draft_and_published.py.
Use a standard "binary tree" course for each test.
Two chapters with each having two sequentials, etc.
Determine if there's any orthogonal commonality across tests that can be factored out into multiplicative tests. (See xblock/test/test_fields_api.py for an example.)
All tests should end in OLX check.
When testing OLX check, prefer the following assert format:
assertBlockXML('vertical', <url_name>, <another tag>, """
<unit>The unit should have this info...</unit>
That way, both reading XML files in a broken-up course export and reading parsed XML for the values can be more easily supported.
No variance - but this story ended up pulling in Cale for a few hours. So it felt just over 8 - but not 13.