:swoosh_attachment mutates attachment presence and disposition.
Two kinds of mutation, separately ignorable by variant label:
- whole-attachment removal (
delete) — aSwoosh.Email.attachment(email, ...)call collapses to the email (piped stages become identity), and the singularattachment:option in Swoosh.Email.new/1 is dropped. A survivor means no test asserts the attachment exists. (Swoosh.Email.new/1 has noattachments:option, so none is matched.) - disposition swap (
inline/attachment) — Swoosh exposes disposition on Swoosh.Attachment.new/2 through the :type option; type: :inline and type: :attachment are swapped where that option is present.