test: fee type column visibility, CSV export, export controller

FieldVisibility pseudo fields and visible selection; MembersCSV fee type
column; export accepts membership_fee_type and returns Fee Type column.
This commit is contained in:
Moritz 2026-02-23 23:53:54 +01:00
parent f3b213ecec
commit 8db24405fa
Signed by: moritz
GPG key ID: 1020A035E5DD0824
3 changed files with 90 additions and 0 deletions

View file

@ -146,6 +146,37 @@ defmodule MvWeb.MemberExportControllerTest do
refute header =~ "unknown_field"
end
test "export includes membership_fee_type column when requested", %{
conn: conn,
member1: m1
} do
payload = %{
"selected_ids" => [m1.id],
"member_fields" => ["first_name", "membership_fee_type", "email"],
"custom_field_ids" => [],
"query" => nil,
"sort_field" => nil,
"sort_order" => nil
}
conn = get(conn, "/members")
csrf_token = csrf_token_from_conn(conn)
conn =
post(conn, "/members/export.csv", %{
"payload" => Jason.encode!(payload),
"_csrf_token" => csrf_token
})
assert conn.status == 200
body = response(conn, 200)
header = body |> export_lines() |> hd()
# Fee Type column is included (label from MemberFields.label(:membership_fee_type))
assert header =~ "Fee Type"
assert body =~ "Alice"
end
test "export includes membership_fee_status computed field when requested", %{
conn: conn,
member1: m1