File tree Expand file tree Collapse file tree 2 files changed +25
-0
lines changed Expand file tree Collapse file tree 2 files changed +25
-0
lines changed Original file line number Diff line number Diff line change @@ -69,6 +69,7 @@ defmodule Radiator.Outline.NodeRepository do
69
69
def list_nodes_by_node_container ( outline_node_container_id ) do
70
70
Node
71
71
|> where ( [ p ] , p . outline_node_container_id == ^ outline_node_container_id )
72
+ |> preload ( :urls )
72
73
|> Repo . all ( )
73
74
|> Enum . group_by ( & & 1 . parent_id )
74
75
|> Enum . map ( fn { _parent_id , children } -> Radiator.Outline . order_sibling_nodes ( children ) end )
Original file line number Diff line number Diff line change @@ -4,6 +4,7 @@ defmodule Radiator.Outline.NodeRepositoryTest do
4
4
alias Radiator.Outline.Node
5
5
alias Radiator.Outline.NodeRepository
6
6
alias Radiator.PodcastFixtures
7
+ alias Radiator.ResourcesFixtures
7
8
8
9
import Radiator.OutlineFixtures
9
10
import Ecto.Query , warn: false
@@ -80,6 +81,29 @@ defmodule Radiator.Outline.NodeRepositoryTest do
80
81
end
81
82
end
82
83
84
+ describe "list_nodes_by_episode/1" do
85
+ test "returns only nodes of this episode" do
86
+ node1 = node_fixture ( )
87
+ node2 = node_fixture ( )
88
+
89
+ assert NodeRepository . list_nodes_by_episode ( node1 . episode_id ) |> Enum . map ( & & 1 . uuid ) == [
90
+ node1 . uuid
91
+ ]
92
+
93
+ assert NodeRepository . list_nodes_by_episode ( node2 . episode_id ) |> Enum . map ( & & 1 . uuid ) == [
94
+ node2 . uuid
95
+ ]
96
+ end
97
+
98
+ test "preloads optional associated URLs" do
99
+ node = node_fixture ( )
100
+ url = ResourcesFixtures . url_fixture ( node_id: node . uuid )
101
+ [ loaded_node ] = NodeRepository . list_nodes_by_episode ( node . episode_id )
102
+ assert loaded_node . uuid == node . uuid
103
+ assert loaded_node . urls == [ url ]
104
+ end
105
+ end
106
+
83
107
describe "delete_node/1" do
84
108
test "deletes the node" do
85
109
node = node_fixture ( )
You can’t perform that action at this time.
0 commit comments