def test_add_node_with_public_exploration_in_private_collection(self):
        public_exp_id = 'public_exp_id0'
        private_exp_id = 'private_exp_id0'
        self.save_new_valid_exploration(public_exp_id, self.owner_id)
        self.save_new_valid_exploration(private_exp_id, self.owner_id)
        rights_manager.publish_exploration(self.owner_id, public_exp_id)

        self.assertTrue(
            rights_manager.is_collection_private(self.COLLECTION_ID))
        self.assertTrue(rights_manager.is_exploration_public(public_exp_id))
        self.assertTrue(rights_manager.is_exploration_private(private_exp_id))

        # No exception should be raised for either insertion.
        collection_services.update_collection(
            self.owner_id, self.COLLECTION_ID, [{
                'cmd': collection_domain.CMD_ADD_COLLECTION_NODE,
                'exploration_id': public_exp_id
            }, {
                'cmd': collection_domain.CMD_ADD_COLLECTION_NODE,
                'exploration_id': private_exp_id
            }], 'Added public and private explorations')
Ensures private collections can reference public and private
dataset/ETHPy150Open oppia/oppia/core/domain/collection_services_test.py/UpdateCollectionNodeTests.test_add_node_with_public_exploration_in_private_collection