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

/ts-smtp-test/

    Package Sidebar

    Install

    npm i ts-smtp-test

    Weekly Downloads

    17

    Version

    1.0.8

    License

    MIT

    Unpacked Size

    16.6 kB

    Total Files

    9

    Last publish

    Collaborators

    • martinmoeller