Adds the mailing list setup.

This commit is contained in:
2026-08-31 17:58:02 -06:00
parent da23c9fc66
commit 362283b11e
6 changed files with 395 additions and 22 deletions

View File

@@ -0,0 +1,32 @@
import { describe, expect, test } from "@jest/globals";
import { Mailbox } from '../src/mailer_framework';
describe('Mailer Framework Test', () =>
{
let mailbox: Mailbox = new Mailbox({host: "", port: 0}, {host: "", port: 0}, "");
test('Should only have one mailing list', () => {
mailbox.addMailingList("test1", ["sample@gmail.com"]);
expect(mailbox.getEmails("test1")).toMatchObject(["sample@gmail.com"]);
});
test("Mailing list corruption", () =>
{
// Make sure the first one does not change.
mailbox.addMailingList("test2", ["sample@gmail.com", "sample2@gmail.com"]);
expect(mailbox.getEmails("test1")).toMatchObject(["sample@gmail.com"]);
expect(mailbox.getEmails("test2")).toMatchObject(["sample@gmail.com", "sample2@gmail.com"]);
});
test("Deregistration test", () =>
{
// Make sure the first one does not change.
mailbox.unregisterEmailFromAll("sample@gmail.com");
expect(mailbox.getEmails("test1")).toMatchObject([]);
expect(mailbox.getEmails("test2")).toMatchObject(["sample2@gmail.com"]);
});
test("Existing registration test", () =>
{
// Make sure the first one does not change.
mailbox.registerEmail("sample3@gmail.com", "test1");
expect(mailbox.getEmails("test1")).toMatchObject(["sample3@gmail.com"]);
expect(mailbox.getEmails("test2")).toMatchObject(["sample2@gmail.com"]);
});
});