ts-smtp-test
TypeScript icon, indicating that this package has built-in type declarations

1.0.8 • Public • Published

ts-smtp-test

Build status Coverage Status Dependencies NPM

SMTP server for integration tests.

Uses https://nodemailer.com/ as SMTP-Server.

const server = new SmtpTestServer();
 
before(async () => {
    await server.start();
});
 
beforeEach(() => {
    server.clear();
});
 
after(async () => {
    await server.shutdown();
});
 
it("can receive mail", async () => {
    await sendMail(server.config, {
        attachments: [{content: "text attachment"}],
        from: "me@me.de",
        html: "some html",
        subject: "hi",
        text: "some text",
        to: "to@me.de",
    });
 
    expect(server.messages).length(1);
 
    const mail = server.messages[0];
    expect(mail.from).to.eq("me@me.de");
    expect(mail.to).to.eq("to@me.de");
    expect(mail.subject).to.eq("hi");
    expect(mail.textContent).to.eq("some text");
    expect(mail.htmlContent).to.eq("some html");
    expect(mail.attachments).length(1);
});
 
it("can wait for mails", async () => {
    setTimeout(() =>
        sendMail(server.config, {
                text: "1",
                to: "to@me.de",
            },
        ).catch(console.error), 5);
 
    setTimeout(() =>
        sendMail(server.config, {
                text: "2",
                to: "to@me.de",
            },
        ).catch(console.error), 10);
 
    // wait for 2 messages with a timeout of 15 millis
    const messages = await server.waitForMessages(2, 15);
 
    expect(messages).length(2);
    expect(messages[0].textContent).to.contain("1");
    expect(messages[1].textContent).to.contain("2");
});

Previous versions

Source: https://bitbucket.org/martinmo/ts-tools

Readme

Keywords

Package Sidebar

Install

npm i ts-smtp-test

Weekly Downloads

44

Version

1.0.8

License

MIT

Unpacked Size

16.6 kB

Total Files

9

Last publish

Collaborators

  • martinmoeller