@@ -21,23 +21,22 @@ defmodule LiveAdmin.Components.ContainerTest do
2121
2222 describe "home page" do
2323 setup % { conn: conn } do
24- % { response: conn |> get ( "/" ) |> html_response ( 200 ) }
25- end
24+ { :ok , view , _ } = live ( conn , "/" )
2625
27- test "routes live view" , % { response: response } do
28- assert response =~ ~s| <title>LiveAdmin</title>|
26+ % { view: view }
2927 end
3028
31- test "links to resource" , % { response: response } do
32- { :ok , response } = Floki . parse_document ( response )
33- assert response |> Floki . find ( "a[href='/user']" ) |> Enum . any? ( )
29+ test "links to resource" , % { view: view } do
30+ assert has_element? ( view , "a[href='/user']" )
3431 end
3532 end
3633
3734 describe "list resource" do
3835 setup % { conn: conn } do
3936 user = Repo . insert! ( % User { } )
37+
4038 { :ok , view , _html } = live ( conn , "/user?per=10&page=1&sort-attr=id&sort-dir=asc" )
39+
4140 % { view: view , user: user }
4241 end
4342
@@ -76,8 +75,10 @@ defmodule LiveAdmin.Components.ContainerTest do
7675 describe "list resource with search param not matching any records" do
7776 setup % { conn: conn } do
7877 Repo . insert! ( % User { name: "Tom" } )
79- { :ok , view , html } = live ( conn , "/user?per=10&page=1&sort-attr=id&sort-dir=asc&s=fred" )
80- % { view: view , response: html }
78+
79+ { :ok , view , _ } = live ( conn , "/user?per=10&page=1&sort-attr=id&sort-dir=asc&s=fred" )
80+
81+ % { view: view }
8182 end
8283
8384 test "shows error" , % { view: view } do
@@ -88,7 +89,9 @@ defmodule LiveAdmin.Components.ContainerTest do
8889 describe "list resource with prefix param" do
8990 setup % { conn: conn } do
9091 Repo . insert! ( % User { name: "Tom" } , prefix: "alt" )
92+
9193 { :ok , view , _ } = live ( conn , "/user?per=10&page=1&sort-attr=id&sort-dir=asc&prefix=alt" )
94+
9295 % { view: view }
9396 end
9497
@@ -116,15 +119,13 @@ defmodule LiveAdmin.Components.ContainerTest do
116119
117120 describe "new parent resource" do
118121 setup % { conn: conn } do
119- { :ok , view , html } = live ( conn , "/user/new" )
120- { :ok , html } = Floki . parse_document ( html )
121- % { response: html , view: view }
122+ { :ok , view , _ } = live ( conn , "/user/new" )
123+
124+ % { view: view }
122125 end
123126
124- test "includes castable form field" , % { response: response } do
125- assert response
126- |> Floki . find ( "textarea[name='params[name]']" )
127- |> Enum . any? ( )
127+ test "includes castable form field" , % { view: view } do
128+ assert has_element? ( view , "textarea[name='params[name]']" )
128129 end
129130
130131 test "handles form change" , % { view: view } do
@@ -156,15 +157,13 @@ defmodule LiveAdmin.Components.ContainerTest do
156157
157158 describe "new child resource" do
158159 setup % { conn: conn } do
159- { :ok , view , html } = live ( conn , "/live_admin_test_post/new" )
160- { :ok , html } = Floki . parse_document ( html )
161- % { response: html , view: view }
160+ { :ok , view , _ } = live ( conn , "/live_admin_test_post/new" )
161+
162+ % { view: view }
162163 end
163164
164- test "includes search select field" , % { response: response } do
165- assert response
166- |> Floki . find ( "#params_user_id_search_select" )
167- |> Enum . any? ( )
165+ test "includes search select field" , % { view: view } do
166+ assert has_element? ( view , "#params_user_id_search_select" )
168167 end
169168
170169 test "search select responds to focus" , % { view: view } do
@@ -177,9 +176,10 @@ defmodule LiveAdmin.Components.ContainerTest do
177176 describe "edit resource" do
178177 setup % { conn: conn } do
179178 user = Repo . insert! ( % User { } )
180- { :ok , view , html } = live ( conn , "/user/edit/#{ user . id } " )
181- { :ok , html } = Floki . parse_document ( html )
182- % { response: html , view: view , user: user }
179+
180+ { :ok , view , _ } = live ( conn , "/user/edit/#{ user . id } " )
181+
182+ % { view: view , user: user }
183183 end
184184
185185 test "updates record on submit" , % { view: view , user: user } do
@@ -198,32 +198,28 @@ defmodule LiveAdmin.Components.ContainerTest do
198198 describe "edit resource with embed" do
199199 setup % { conn: conn } do
200200 user = Repo . insert! ( % User { settings: % { } } )
201- conn = get ( conn , "/user/edit/ #{ user . id } " )
202- { :ok , view , html } = live ( conn )
203- { :ok , html } = Floki . parse_document ( html )
204- % { response: html , view: view }
201+
202+ { :ok , view , _ } = live ( conn , "/user/edit/ #{ user . id } " )
203+
204+ % { view: view }
205205 end
206206
207- test "includes embed form field" , % { response: response } do
208- assert response
209- |> Floki . find ( "textarea[name='params[settings][some_option]']" )
210- |> Enum . any? ( )
207+ test "includes embed form field" , % { view: view } do
208+ assert has_element? ( view , "textarea[name='params[settings][some_option]']" )
211209 end
212210 end
213211
214212 describe "edit resource with plural embed with multiple entries" do
215213 setup % { conn: conn } do
216214 post = Repo . insert! ( % Post { title: "test" , previous_versions: [ % Version { } , % Version { } ] } )
217- { :ok , view , html } = live ( conn , "/live_admin_test_post/edit/#{ post . post_id } " )
218- { :ok , html } = Floki . parse_document ( html )
219- % { response: html , view: view }
215+
216+ { :ok , view , _ } = live ( conn , "/live_admin_test_post/edit/#{ post . post_id } " )
217+
218+ % { view: view }
220219 end
221220
222- test "includes multiple embed fields" , % { response: response } do
223- assert 2 =
224- response
225- |> Floki . find ( ".embed__item" )
226- |> Enum . count ( )
221+ test "includes multiple embed fields" , % { view: view } do
222+ assert has_element? ( view , ".embed__item:nth-child(2)" )
227223 end
228224 end
229225
@@ -234,23 +230,23 @@ defmodule LiveAdmin.Components.ContainerTest do
234230 settings: % { metadata: % { map_key: % { } } }
235231 } )
236232
237- { :ok , view , html } = live ( conn , "/user/edit/#{ user . id } " )
238- { :ok , html } = Floki . parse_document ( html )
239- % { response: html , view: view }
233+ { :ok , view , _ } = live ( conn , "/user/edit/#{ user . id } " )
234+
235+ % { view: view }
240236 end
241237
242- test "disables field" , % { response: response } do
243- assert response
244- |> Floki . find ( ".resource__action--disabled" )
245- |> Enum . any? ( )
238+ test "disables field" , % { view: view } do
239+ assert has_element? ( view , ".resource__action--disabled" )
246240 end
247241 end
248242
249243 describe "view resource" do
250244 setup % { conn: conn } do
251245 user = Repo . insert! ( % User { } )
252- { :ok , view , html } = live ( conn , "/user/#{ user . id } " )
253- % { response: html , view: view , user: user }
246+
247+ { :ok , view , _ } = live ( conn , "/user/#{ user . id } " )
248+
249+ % { view: view , user: user }
254250 end
255251
256252 test "deletes record" , % { view: view } do
@@ -265,6 +261,7 @@ defmodule LiveAdmin.Components.ContainerTest do
265261 describe "view resource with failing action" do
266262 setup % { conn: conn } do
267263 user = Repo . insert! ( % User { } )
264+
268265 { :ok , view , _ } = live ( conn , "/user/#{ user . id } " )
269266
270267 view
@@ -283,29 +280,26 @@ defmodule LiveAdmin.Components.ContainerTest do
283280 setup % { conn: conn } do
284281 user = Repo . insert! ( % User { } )
285282 post = Repo . insert! ( % Post { title: "test" , user: user } )
286- { :ok , _ , html } = live ( conn , "/live_admin_test_post/#{ post . post_id } " )
287- { :ok , html } = Floki . parse_document ( html )
288- % { response: html , user: user }
283+
284+ { :ok , view , _ } = live ( conn , "/live_admin_test_post/#{ post . post_id } " )
285+
286+ % { view: view , user: user }
289287 end
290288
291- test "links to user" , % { response: response , user: user } do
292- assert response
293- |> Floki . find ( "a[href='/user/#{ user . id } ']" )
294- |> Enum . any? ( )
289+ test "links to user" , % { view: view , user: user } do
290+ assert has_element? ( view , "a[href='/user/#{ user . id } ']" )
295291 end
296292 end
297293
298294 describe "new post with custom string field" do
299295 setup % { conn: conn } do
300- { :ok , view , html } = live ( conn , "/live_admin_test_post/new" )
301- { :ok , html } = Floki . parse_document ( html )
302- % { view: view , response: html }
296+ { :ok , view , _ } = live ( conn , "/live_admin_test_post/new" )
297+
298+ % { view: view }
303299 end
304300
305- test "includes non-disabled input field for custom string type" , % { response: response } do
306- assert response
307- |> Floki . find ( "textarea[name='params[custom_string_field]']" )
308- |> Enum . any? ( )
301+ test "includes non-disabled input field for custom string type" , % { view: view } do
302+ assert has_element? ( view , "textarea[name='params[custom_string_field]']" )
309303 end
310304
311305 test "handles form change with custom string type" , % { view: view } do
0 commit comments