diff --git a/client/justfile b/client/justfile index 9d749df..cda0638 100644 --- a/client/justfile +++ b/client/justfile @@ -6,7 +6,7 @@ build: gleam run -m lustre/dev build test: - gleam test + gleam test # Update project dependencies deps-update: diff --git a/client/test/client_test/page/register_crew_test.gleam b/client/test/client_test/page/register_crew_test.gleam new file mode 100644 index 0000000..bf46bf9 --- /dev/null +++ b/client/test/client_test/page/register_crew_test.gleam @@ -0,0 +1,50 @@ +import client/page/register_crew +import client_test/dummy +import gleam/int +import gleam/list +import gleam/option +import lustre/effect + +pub fn leader_selection_test() { + let leader = dummy.user() + + let suggested = { + use acc, _ <- int.range(0, 5, []) + [dummy.user(), ..acc] + } + + let sequence = [ + register_crew.ApiSuggestedLeaders(Ok(suggested)), + register_crew.UserSelectedLeader(leader), + ] + + let #(model, _) = { + use acc, msg <- list.fold(sequence, #(register_crew.init, effect.none())) + register_crew.update(acc.0, msg) + } + + assert model.selected_leader == option.Some(leader) + assert model.crew_leader_name == leader.full_name + assert model.suggested_leaders == [] +} + +pub fn leader_selection_cleanup_test() { + let suggested = { + use acc, _ <- int.range(0, 5, []) + [dummy.user(), ..acc] + } + + let sequence = [ + register_crew.ApiSuggestedLeaders(Ok(suggested)), + register_crew.UserSelectedLeader(dummy.user()), + register_crew.UserTypedLeaderName(""), + ] + + let #(model, _) = { + use acc, msg <- list.fold(sequence, #(register_crew.init, effect.none())) + register_crew.update(acc.0, msg) + } + + assert model.selected_leader == option.None + assert model.suggested_leaders == [] +} diff --git a/server/justfile b/server/justfile index 5f04581..196e8ad 100644 --- a/server/justfile +++ b/server/justfile @@ -1,5 +1,3 @@ -set quiet := true - # database pg_image := "docker.io/postgres:18-alpine" @@ -58,7 +56,7 @@ build-server: #  Run database container [group("podman")] [no-cd] -init-database pod_name: +@init-database pod_name: podman run -d \ --pod {{ pod_name }} \ --name db \ @@ -69,7 +67,7 @@ init-database pod_name: #  Run app container [group("podman")] -init-server pod_name: build-server +@init-server pod_name: build-server podman run -d \ --pod {{ pod_name }} \ --name server \