52 lines
1.3 KiB
TypeScript
52 lines
1.3 KiB
TypeScript
import {
|
|
mailboxHeaderAddresses,
|
|
mailLookupSuggestions,
|
|
mailtoHref
|
|
} from "../src/features/mail/mailAddressIntegration";
|
|
|
|
function assertEqual(actual: unknown, expected: unknown): void {
|
|
if (actual !== expected) throw new Error(`expected ${String(expected)}, got ${String(actual)}`);
|
|
}
|
|
|
|
function assertDeepEqual(actual: unknown, expected: unknown): void {
|
|
const actualJson = JSON.stringify(actual);
|
|
const expectedJson = JSON.stringify(expected);
|
|
if (actualJson !== expectedJson) throw new Error(`expected ${expectedJson}, got ${actualJson}`);
|
|
}
|
|
|
|
assertDeepEqual(
|
|
mailLookupSuggestions([
|
|
{
|
|
display_name: "Ada Lovelace",
|
|
email: "Ada@Example.Test"
|
|
},
|
|
{
|
|
display_name: "Duplicate",
|
|
email: "ada@example.test"
|
|
},
|
|
{
|
|
display_name: "No email",
|
|
email: null
|
|
}
|
|
]),
|
|
[{ name: "Ada Lovelace", email: "ada@example.test" }]
|
|
);
|
|
|
|
assertDeepEqual(
|
|
mailboxHeaderAddresses('Ada Lovelace <ada@example.test>, "Grace Hopper" <grace@example.test>'),
|
|
[
|
|
{ name: "Ada Lovelace", email: "ada@example.test" },
|
|
{ name: "Grace Hopper", email: "grace@example.test" }
|
|
]
|
|
);
|
|
|
|
assertEqual(
|
|
mailtoHref([
|
|
{ name: "Ada Lovelace", email: "ada@example.test" },
|
|
{ email: "grace@example.test" }
|
|
]),
|
|
"mailto:ada%40example.test,grace%40example.test"
|
|
);
|
|
|
|
console.log("mail address integration tests passed");
|