53 lines
2.7 KiB
Markdown
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)
|
|
|