code: def test_batched_outer_product():
      batch_size = 3
      X = ivy.random_uniform(shape=(batch_size, 4, 5, 6))
      Y = ivy.random_uniform(shape=(batch_size, 3))
      Z = ivy.random_uniform(shape=(batch_size, 2))
      res = ivy.batched_outer([X, Y, Z])
      true_res = ivy.tensordot(X, Y, (), batched_modes=0)
      true_res = ivy.tensordot(true_res, Z, (), batched_modes=0)
      np.testing.assert_array_almost_equal(res, true_res)
  
imports: import math
  from hypothesis import strategies
  from hypothesis import assume
  import numpy
  import pytest
  import itertools
  import ivy_tests.test_ivy.helpers
  from ivy_tests.test_ivy.helpers import handle_test, BackendHandler
  import ivy
label_desc: Use image node_id 23 for calling a global function with example usage: test_batched_outer_product() without return types