       @assertItemsEqual _.pluck(Addresses.find().fetch(), '_id'), []
   ]
 
+  testClientMultiple: [
+    ->
+      @userId = Random.id()
+
+      @assertSubscribeSuccessful 'users-posts-and-addresses', @userId, @expect()
+  ].concat @multiple
+
+  testClientMultipleTogether: [
+    ->
+      @userId = Random.id()
+
+      @assertSubscribeSuccessful 'users-posts-and-addresses-together', @userId, @expect()
+  ].concat @multiple
+
 # Register the test case.
 ClassyTestCase.addTest new RelatedTestCase()

      ]
  ]

  testClientMultiple: [
    ->
      @userId = Random.id()

      @assertSubscribeSuccessful 'users-posts-and-addresses', @userId, @expect()
  ,
    ->
      @assertEqual Posts.find().fetch(), []
      @assertEqual Addresses.find().fetch(), []

    ,
      Users.find userId,
        fields:
          addresses: 1

  Meteor.publish 'users-posts-and-addresses-together', (userId) ->
    @related (user) ->
      [
        Posts.find(
          _id:
            $in: user?.posts or []
        )
      ,
        Addresses.find(
          _id:
            $in: user?.addresses or []
        )
      ]
    ,
      Users.find userId,
        fields:
          posts: 1
          addresses: 1

  Meteor.publish 'users-posts-count', (userId, countId) ->
