Hi guys!
I’m trying to test a Phoenix channel, like below:
ref = push socket, "new_search", %{}
assert_reply ref, :ok, %{}
I got following error:
22:33:17.559 [error] GenServer #PID<0.426.0> terminating
** (Poison.EncodeError) unable to encode value: #Reference<0.1243961306.4228907012.90196>
(poison) lib/poison/encoder.ex:354: Poison.Encoder.Any.encode/2
(poison) lib/poison/encoder.ex:213: anonymous fn/4 in Poison.Encoder.Map.encode/3
(poison) lib/poison/encoder.ex:214: Poison.Encoder.Map."-encode/3-lists^foldl/2-0-"/3
(poison) lib/poison/encoder.ex:214: Poison.Encoder.Map.encode/3
(poison) lib/poison.ex:41: Poison.encode!/2
(phoenix) lib/phoenix/transports/websocket_serializer.ex:25: Phoenix.Transports.WebSocketSerializer.encode!/1
(phoenix) lib/phoenix/channel/server.ex:151: Phoenix.Channel.Server.reply/5
(phoenix) lib/phoenix/channel/server.ex:287: Phoenix.Channel.Server.handle_result/2
(stdlib) gen_server.erl:616: :gen_server.try_dispatch/4
(stdlib) gen_server.erl:686: :gen_server.handle_msg/6
(stdlib) proc_lib.erl:247: :proc_lib.init_p_do_apply/3
Last message: %Phoenix.Socket.Message{event: "new_search", payload: %{}, ref: #Reference<0.1243961306.4228907012.90196>, topic: "search:1432"}
Does reference value should be a plain string?
Versions I use:
Elixir: 1.4.5
Erlang/OTP: 20
Phoenix: 1.2.1
Poison: 2.2
Thanks for any help/hint