Skip to content

Commit 88fecce

Browse files
committed
Remove floki dep, clean tests
1 parent e6151f9 commit 88fecce

File tree

3 files changed

+59
-67
lines changed

3 files changed

+59
-67
lines changed

mix.exs

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -58,7 +58,6 @@ defmodule LiveAdmin.MixProject do
5858
{:jason, "~> 1.3", only: [:dev, :test]},
5959
{:ecto_psql_extras, "~> 0.7", only: [:dev, :test]},
6060
{:faker, "~> 0.17", only: :dev},
61-
{:floki, ">= 0.30.0", only: :test},
6261
{:ex_doc, ">= 0.0.0", only: :dev, runtime: false},
6362
{:docout, github: "tfwright/docout", branch: "main", runtime: false, only: [:dev, :test]},
6463
{:dialyxir, "~> 1.2", only: :dev, runtime: false},

mix.lock

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -20,7 +20,6 @@
2020
"faker": {:hex, :faker, "0.17.0", "671019d0652f63aefd8723b72167ecdb284baf7d47ad3a82a15e9b8a6df5d1fa", [:mix], [], "hexpm", "a7d4ad84a93fd25c5f5303510753789fc2433ff241bf3b4144d3f6f291658a6a"},
2121
"file_system": {:hex, :file_system, "0.2.10", "fb082005a9cd1711c05b5248710f8826b02d7d1784e7c3451f9c1231d4fc162d", [:mix], [], "hexpm", "41195edbfb562a593726eda3b3e8b103a309b733ad25f3d642ba49696bf715dc"},
2222
"fine": {:hex, :fine, "0.1.4", "b19a89c1476c7c57afb5f9314aed5960b5bc95d5277de4cb5ee8e1d1616ce379", [:mix], [], "hexpm", "be3324cc454a42d80951cf6023b9954e9ff27c6daa255483b3e8d608670303f5"},
23-
"floki": {:hex, :floki, "0.38.0", "62b642386fa3f2f90713f6e231da0fa3256e41ef1089f83b6ceac7a3fd3abf33", [:mix], [], "hexpm", "a5943ee91e93fb2d635b612caf5508e36d37548e84928463ef9dd986f0d1abd9"},
2423
"gettext": {:hex, :gettext, "0.22.3", "c8273e78db4a0bb6fba7e9f0fd881112f349a3117f7f7c598fa18c66c888e524", [:mix], [{:expo, "~> 0.4.0", [hex: :expo, repo: "hexpm", optional: false]}], "hexpm", "935f23447713954a6866f1bb28c3a878c4c011e802bcd68a726f5e558e4b64bd"},
2524
"html_entities": {:hex, :html_entities, "0.5.2", "9e47e70598da7de2a9ff6af8758399251db6dbb7eebe2b013f2bbd2515895c3c", [:mix], [], "hexpm", "c53ba390403485615623b9531e97696f076ed415e8d8058b1dbaa28181f4fdcc"},
2625
"jason": {:hex, :jason, "1.4.4", "b9226785a9aa77b6857ca22832cffa5d5011a667207eb2a0ad56adb5db443b8a", [:mix], [{:decimal, "~> 1.0 or ~> 2.0", [hex: :decimal, repo: "hexpm", optional: true]}], "hexpm", "c5eb0cab91f094599f94d55bc63409236a8ec69a21a67814529e8d5f6cc90b3b"},

test/live_admin/components/container_test.exs

Lines changed: 59 additions & 65 deletions
Original file line numberDiff line numberDiff line change
@@ -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

Comments
 (0)