Files
suaveplan/packages/testkit/testing/testing-integration-mailpit/README.md
2026-05-27 23:47:53 +01:00

53 lines
2.7 KiB
Markdown

# @suaveplan/testing-integration-mailpit - Mailpit testcontainers fixture + assertMail helper for @suaveplan/testing-integration
## Summary
Mailpit testcontainers fixture + `assertMail()` helper for `@suaveplan/testing-integration`.
Implements `ServiceFixture<MailpitConfig>` — manages a Mailpit container lifecycle with SMTP and API ports, env-bridge passthrough, and API health checks.
<!-- begin:auto-docs -->
## Documentation tree
- [fixture](./src/fixture/mailpit-fixture.md) — <!-- begin:auto-docs --> _(no submodules)_ <!-- end:auto-docs -->
- [mailpit-fixture](./src/fixture/mailpit-fixture.md) — <!-- begin:auto-docs --> _(no submodules)_ <!-- end:auto-docs -->
- [helpers](./src/helpers/assert-mail.md) — <!-- begin:auto-docs --> _(no submodules)_ <!-- end:auto-docs -->
- [assert-mail](./src/helpers/assert-mail.md) — <!-- begin:auto-docs --> _(no submodules)_ <!-- end:auto-docs -->
<!-- end:auto-docs --> - [mailpit-fixture](./src/fixture/mailpit-fixture.md) — <!-- begin:auto-docs --> _(no submodules)_- [helpers](./src/helpers/assert-mail.md) — <!-- begin:auto-docs --> _(no submodules)_- [assert-mail](./src/helpers/assert-mail.md) — <!-- begin:auto-docs --> _(no submodules)_- [mailpit-fixture](./src/fixture/mailpit-fixture.md) — <!-- begin:auto-docs --> _(no submodules)_- [helpers](./src/helpers/assert-mail.md) — <!-- begin:auto-docs --> _(no submodules)_- [assert-mail](./src/helpers/assert-mail.md) — <!-- begin:auto-docs --> _(no submodules)_- [mailpit-fixture](./src/fixture/mailpit-fixture.md) — <!-- begin:auto-docs --> _(no submodules)_- [helpers](./src/helpers/assert-mail.md) — <!-- begin:auto-docs --> _(no submodules)_- [assert-mail](./src/helpers/assert-mail.md) — <!-- begin:auto-docs --> _(no submodules)_- [mailpit-fixture](./src/fixture/mailpit-fixture.md) — <!-- begin:auto-docs --> _(no submodules)_- [helpers](./src/helpers/assert-mail.md) — <!-- begin:auto-docs --> _(no submodules)_ - [assert-mail](./src/helpers/assert-mail.md) — <!-- begin:auto-docs --> _(no submodules)_
## Install
```bash
bun add -D @suaveplan/testing-integration-mailpit
```
## Quick Start
```typescript
import { MailpitFixture, assertMail } from "@suaveplan/testing-integration-mailpit";
const fixture = new MailpitFixture();
const config = await fixture.start();
// config.smtpUrl, config.apiUrl
// Send email to config.smtpUrl...
await assertMail(config.apiUrl, { to: "user@example.com", subject: "Welcome" });
await fixture.stop();
```
## Env-bridge passthrough
Set both env vars to skip container startup:
```text
MAILPIT_SMTP_URL=smtp://localhost:1025
MAILPIT_API_URL=http://localhost:8025
```
## Docs
- [MailpitFixture](src/fixture/mailpit-fixture.md)
- [assertMail](src/helpers/assert-mail.md)