From 632205a55f149c0d8a021cc3e8ada4815fe05bb2 Mon Sep 17 00:00:00 2001 From: treejamie Date: Thu, 15 May 2025 08:42:30 +0100 Subject: [PATCH 1/3] and setup on the desktop --- .tool-versions | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.tool-versions b/.tool-versions index 510eaf4..43e9701 100644 --- a/.tool-versions +++ b/.tool-versions @@ -1,2 +1,2 @@ -elixir 1.15.7-otp-26 -erlang 26.1.2 +elixir 1.18.3-otp-27 +erlang 27.3.4 From fd91ef8e51e5ca296a360328b6a135e9689a7986 Mon Sep 17 00:00:00 2001 From: treejamie Date: Thu, 15 May 2025 12:26:11 +0100 Subject: [PATCH 2/3] Three tests to test increment, one good, two ungood. One test to test decrement and that's mine --- .github/workflows/test.yml | 3 +- .tool-versions | 4 +- test/ranger_web/live/counter_live_test.exs | 48 ++++++++++++++++++++++ 3 files changed, 52 insertions(+), 3 deletions(-) diff --git a/.github/workflows/test.yml b/.github/workflows/test.yml index 125a8d9..610814f 100644 --- a/.github/workflows/test.yml +++ b/.github/workflows/test.yml @@ -44,4 +44,5 @@ jobs: run: | mix compile --force -- mix test test/ranger_web/live/greet_live_test.exs - mix test test/ranger_web/live/avatar_live_test.exs \ No newline at end of file + mix test test/ranger_web/live/avatar_live_test.exs + mix test test/ranger_web/live/counter_live_test.exs \ No newline at end of file diff --git a/.tool-versions b/.tool-versions index 43e9701..510eaf4 100644 --- a/.tool-versions +++ b/.tool-versions @@ -1,2 +1,2 @@ -elixir 1.18.3-otp-27 -erlang 27.3.4 +elixir 1.15.7-otp-26 +erlang 26.1.2 diff --git a/test/ranger_web/live/counter_live_test.exs b/test/ranger_web/live/counter_live_test.exs index 79b57a4..a7099b2 100644 --- a/test/ranger_web/live/counter_live_test.exs +++ b/test/ranger_web/live/counter_live_test.exs @@ -2,4 +2,52 @@ defmodule RangerWeb.CounterLiveTest do use RangerWeb.ConnCase import Phoenix.LiveViewTest + + @tag :good + test "user can increase count", %{conn: conn} do + {:ok, view, _html} = live(conn, ~p"/counter") + + view + |> element("#increment") + |> render_click() + + assert has_element?(view, "#count", "1") + end + + @tag :ungood + test "user can increase count (less effective)", %{conn: conn} do + {:ok, view, _html} = live(conn, ~p"/counter") + + html = + view + |> element("#increment") + |> render_click() + + # this just asserts that "1" is somewhere in the html. + # ... which is a bit dumb. + assert html =~ "1" + + end + + @tag :ungood + test "user can increase counter (bypasses HTML - not good)", %{conn: conn} do + {:ok, view, _} = live(conn, ~p"/counter") + + render_click(view, "increase") + + assert has_element?(view, "#count", "1") + end + + + @tag :mine + test "user can decreease count", %{conn: conn} do + {:ok, view, html} = live(conn, ~p"/counter") + + view + |> element("#decrement") + |> render_click() + + assert has_element?(view, "#count", "-1") + end + end From 263a4949c1d819863d8164d24f0c7a0569a7f068 Mon Sep 17 00:00:00 2001 From: treejamie Date: Thu, 15 May 2025 12:31:27 +0100 Subject: [PATCH 3/3] matching version of elixir and OTP in actions with the asdf versions in .tool-versions --- .github/workflows/test.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/test.yml b/.github/workflows/test.yml index 610814f..20a5cf8 100644 --- a/.github/workflows/test.yml +++ b/.github/workflows/test.yml @@ -8,8 +8,8 @@ jobs: strategy: matrix: os: [ubuntu-24.04] - otp: [27.x] - elixir: [1.18.3] + otp: [26.1.2] + elixir: [1.15.7] services: postgres: image: postgres