     end
   end
 
-  test "the inclusion of a user map with metadata about a user's presence in the retro" do
-    assert_push "presence_state", %{
-      "wyatt derp" => %{
-        user: %{ name: _, online_at: _online_at }
-      }
-    }
-
-    assert_push "presence_diff", %{
-      joins: %{
-        "wyatt derp" => %{
-          user: %{ name: _, online_at: _online_at }
-        }
-      }
-    }
-  end
-
   describe "pushing a new idea to the socket" do
+    setup [:join_the_retro_channel]
     test "results in the broadcast of the new idea to all connected clients", %{ socket: socket } do
       push(socket, "new_idea", %{ category: "happy", body: "we're pacing well" })
 

  alias RemoteRetro.Repo
  alias RemoteRetro.Idea

  setup [:join_the_retro_channel]

  describe "joining a RetroChannel" do
    test "assigns the retro_id to the socket", %{ socket: socket, retro: retro } do
      assert socket.assigns.retro_id == retro.id
    end


    test "results in the broadcast of a new presence diff to all connected clients" do
      assert_broadcast "presence_diff", %{ joins: %{ "wyatt derp" => %{} } }
    end

    test "the inclusion of a user map with metadata about a user's presence in the retro" do
      assert_push "presence_state", %{
        "wyatt derp" => %{
          user: %{ name: _, online_at: _online_at }
        }
      }

      assert_push "presence_diff", %{
        joins: %{
          "wyatt derp" => %{
            user: %{ name: _, online_at: _online_at }
          }
        }
      }
    end

    test "results in a push of existing ideas to the new user" do
