test(vereinfacht): add tests and scope README
Some checks failed
continuous-integration/drone/push Build is failing

- Config, Client, SyncContact, Vereinfacht module tests (no real API)
- vereinfacht_test_README: document test scope
This commit is contained in:
Moritz 2026-02-18 22:29:05 +01:00
parent 5628de7bc6
commit f168d3f093
Signed by: moritz
GPG key ID: 1020A035E5DD0824
5 changed files with 291 additions and 0 deletions

View file

@ -0,0 +1,61 @@
defmodule Mv.ConfigVereinfachtTest do
@moduledoc """
Tests for Mv.Config Vereinfacht-related helpers.
"""
use Mv.DataCase, async: false
describe "vereinfacht_env_configured?/0" do
test "returns false when no Vereinfacht ENV variables are set" do
clear_vereinfacht_env()
refute Mv.Config.vereinfacht_env_configured?()
end
test "returns true when VEREINFACHT_API_URL is set" do
set_vereinfacht_env("VEREINFACHT_API_URL", "https://api.example.com")
assert Mv.Config.vereinfacht_env_configured?()
after
clear_vereinfacht_env()
end
test "returns true when VEREINFACHT_CLUB_ID is set" do
set_vereinfacht_env("VEREINFACHT_CLUB_ID", "2")
assert Mv.Config.vereinfacht_env_configured?()
after
clear_vereinfacht_env()
end
end
describe "vereinfacht_configured?/0" do
test "returns false when no config is set" do
clear_vereinfacht_env()
# Settings may have nil for vereinfacht fields
refute Mv.Config.vereinfacht_configured?()
end
end
describe "vereinfacht_contact_view_url/1" do
test "returns nil when API URL is not configured" do
clear_vereinfacht_env()
assert Mv.Config.vereinfacht_contact_view_url("123") == nil
end
test "returns URL when API URL is set" do
set_vereinfacht_env("VEREINFACHT_API_URL", "https://api.example.com/api/v1")
assert Mv.Config.vereinfacht_contact_view_url("42") ==
"https://api.example.com/api/v1/finance-contacts/42"
after
clear_vereinfacht_env()
end
end
defp set_vereinfacht_env(key, value) do
System.put_env(key, value)
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