diff --git a/lib/radiator/outline.ex b/lib/radiator/outline.ex index 00edf9888..ca78f9fff 100644 --- a/lib/radiator/outline.ex +++ b/lib/radiator/outline.ex @@ -70,8 +70,11 @@ defmodule Radiator.Outline do """ def update_node_content(node_id, content) do case NodeRepository.get_node(node_id) do - nil -> {:error, :not_found} - node -> node + nil -> + {:error, :not_found} + + node -> + node |> Node.update_content_changeset(%{content: content}) |> Repo.update() end diff --git a/lib/radiator/outline/event/node_content_changed_event.ex b/lib/radiator/outline/event/node_content_changed_event.ex index a28059970..7059eb71d 100644 --- a/lib/radiator/outline/event/node_content_changed_event.ex +++ b/lib/radiator/outline/event/node_content_changed_event.ex @@ -1,6 +1,5 @@ defmodule Radiator.Outline.Event.NodeContentChangedEvent do @moduledoc false - defstruct [:event_id, :node] end diff --git a/test/radiator/outline/node_test.exs b/test/radiator/outline/node_test.exs index 6e136d6c4..8f6f4a546 100644 --- a/test/radiator/outline/node_test.exs +++ b/test/radiator/outline/node_test.exs @@ -12,6 +12,7 @@ defmodule Radiator.Outline.NodeTest do episode = PodcastFixtures.episode_fixture() uuid = Ecto.UUID.generate() + attributes = %{ "uuid" => uuid, "episode_id" => episode.id, diff --git a/test/radiator_web/live/episode_live_test.exs b/test/radiator_web/live/episode_live_test.exs index 51baff2bd..6aed9a88b 100644 --- a/test/radiator_web/live/episode_live_test.exs +++ b/test/radiator_web/live/episode_live_test.exs @@ -120,19 +120,16 @@ defmodule RadiatorWeb.EpisodeLiveTest do node = node_fixture(%{episode_id: episode.id}) - params = - node - |> Map.from_struct() - |> Map.put(:content, "update node content") + update_attrs = %{ + content: "update node content", + event_id: Ecto.UUID.generate() + } + params = node |> Map.from_struct() |> Map.merge(update_attrs) assert live |> render_hook(:update_node, params) - updated_node = - NodeRepository.list_nodes() - |> Enum.find(&(&1.content == "update node content")) - - assert updated_node.uuid == params.uuid - assert updated_node.content == params.content + updated_node = NodeRepository.get_node!(node.uuid) + assert updated_node.content == update_attrs.content end test "delete node", %{conn: conn, show: show, episode: episode} do