mitgliederverwaltung/test/mv/vereinfacht/client_test.exs
Moritz e4e6cfdd47
test(vereinfacht): add tests and scope README
- Config, Client, SyncContact, Vereinfacht module tests (no real API)
- vereinfacht_test_README: document test scope
2026-02-23 19:53:20 +01:00

50 lines
1.3 KiB
Elixir

defmodule Mv.Vereinfacht.ClientTest do
@moduledoc """
Tests for Mv.Vereinfacht.Client.
Only tests the "not configured" path; no real HTTP calls. Config reads from
ENV first, then from Settings (DB), so we use DataCase so get_settings() is available.
"""
use Mv.DataCase, async: false
alias Mv.Vereinfacht.Client
setup do
clear_vereinfacht_env()
:ok
end
describe "create_contact/1" do
test "returns {:error, :not_configured} when Vereinfacht is not configured" do
member = build_member_struct()
assert Client.create_contact(member) == {:error, :not_configured}
end
end
describe "update_contact/2" do
test "returns {:error, :not_configured} when Vereinfacht is not configured" do
member = build_member_struct()
assert Client.update_contact("123", member) == {:error, :not_configured}
end
end
defp build_member_struct do
%{
first_name: "Test",
last_name: "User",
email: "test@example.com",
street: "Street 1",
house_number: "2",
postal_code: "12345",
city: "Berlin"
}
end
defp clear_vereinfacht_env do
System.delete_env("VEREINFACHT_API_URL")
System.delete_env("VEREINFACHT_API_KEY")
System.delete_env("VEREINFACHT_CLUB_ID")
end
end