chore: archive mac mini automation baseline
This commit is contained in:
+36
@@ -0,0 +1,36 @@
|
||||
import assert from "node:assert/strict";
|
||||
import test from "node:test";
|
||||
import {
|
||||
listMailAccounts,
|
||||
listMailboxes,
|
||||
listMailMessages,
|
||||
readMailMessage,
|
||||
} from "../src/integrations/mail.js";
|
||||
|
||||
const enabled = process.env.RUN_APPLE_INTEGRATION_TESTS === "1";
|
||||
|
||||
test("Apple Mail read-only integration: enumerate accounts and read a selected inbox message", { skip: !enabled }, async () => {
|
||||
const accounts = await listMailAccounts();
|
||||
assert.ok(accounts.length > 0, "Apple Mail must have at least one configured account");
|
||||
|
||||
const mailboxes = await listMailboxes({ accountId: accounts[0].id });
|
||||
const inbox = mailboxes.find((mailbox) => mailbox.role === "inbox");
|
||||
assert.ok(inbox, "Apple Mail must expose a global inbox");
|
||||
|
||||
let accountWithMessage = null;
|
||||
for (const account of accounts) {
|
||||
const messages = await listMailMessages({ accountId: account.id, mailbox: inbox.name, limit: 1 });
|
||||
if (messages.length) {
|
||||
accountWithMessage = account;
|
||||
break;
|
||||
}
|
||||
}
|
||||
assert.ok(accountWithMessage, "At least one configured account must contain an inbox message");
|
||||
|
||||
const messages = await listMailMessages({ accountId: accountWithMessage.id, mailbox: inbox.name, limit: 1 });
|
||||
assert.equal(messages.length, 1);
|
||||
const message = await readMailMessage({ accountId: accountWithMessage.id, mailbox: inbox.name, id: messages[0].id });
|
||||
assert.equal(message.id, messages[0].id);
|
||||
assert.equal(message.accountId, accountWithMessage.id);
|
||||
assert.equal(typeof message.body, "string");
|
||||
});
|
||||
Reference in New Issue
Block a user