'Tests that has_changes() does not throw an exception when a child doesn\'t exist.'

@ddt.data(*itertools.product((ModuleStoreEnum.Type.mongo, ModuleStoreEnum.Type.split), (ModuleStoreEnum.Branch.draft_preferred, ModuleStoreEnum.Branch.published_only)))
@ddt.unpack
def test_has_changes_missing_child(self, default_ms, default_branch):

    self.initdb(default_ms)
    with self.store.branch_setting(default_branch, self.course.id):
        parent = self.store.create_item(self.user_id, self.course.id, 'vertical', block_id='parent')
        parent.children += [self.course.id.make_usage_key('vertical', 'does_not_exist')]
        parent = self.store.update_item(parent, self.user_id)
        self.assertTrue(self.store.has_changes(parent))
