Seeds split, Credo strict, and member/settings UI polish #458
1 changed files with 14 additions and 12 deletions
|
|
@ -8,7 +8,9 @@ defmodule Mv.Membership.MembersPDFTest do
|
|||
- Generates valid PDF binary (starts with "%PDF")
|
||||
- Handles errors gracefully
|
||||
"""
|
||||
use ExUnit.Case, async: true
|
||||
# async: false so tests that manipulate the template file (e.g. "returns error when template file is missing")
|
||||
# do not run in parallel and cannot leave the template removed on failure
|
||||
use ExUnit.Case, async: false
|
||||
|
||||
alias Mv.Config
|
||||
alias Mv.Membership.MembersPDF
|
||||
|
|
@ -162,13 +164,13 @@ defmodule Mv.Membership.MembersPDFTest do
|
|||
end
|
||||
|
||||
test "returns error when template file is missing" do
|
||||
# Temporarily rename template to simulate missing file
|
||||
template_path =
|
||||
Path.join(Application.app_dir(:mv, "priv"), "pdf_templates/members_export.typ")
|
||||
|
||||
original_content = File.read!(template_path)
|
||||
File.rm(template_path)
|
||||
|
||||
try do
|
||||
export_data = %{
|
||||
columns: [%{key: "first_name", kind: :member_field, label: "Vorname"}],
|
||||
rows: [["Max"]],
|
||||
|
|
@ -178,10 +180,10 @@ defmodule Mv.Membership.MembersPDFTest do
|
|||
result = MembersPDF.render(export_data)
|
||||
|
||||
assert {:error, {:template_not_found, _reason}} = result
|
||||
|
||||
# Restore template
|
||||
after
|
||||
File.write!(template_path, original_content)
|
||||
end
|
||||
end
|
||||
|
||||
test "handles empty rows gracefully" do
|
||||
export_data = %{
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue