-
Notifications
You must be signed in to change notification settings - Fork 0
/
test.ts
69 lines (55 loc) · 1.53 KB
/
test.ts
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
import { assertEquals } from 'https://deno.land/[email protected]/testing/asserts.ts';
import Email from './mod.ts';
const key = await Deno.readTextFile('../.credentials-arc-host/sendgrid');
if (!key) throw new Error('key required');
const name = 'Plants';
const subject = 'Free Planting 🍑 🍆';
const from = '[email protected]';
const to = ['[email protected]'];
const reply = '[email protected]';
const email = new Email();
email.key(key);
email.sandbox(true);
email.client('sendgrid');
Deno.test('sendgrid with template', async () => {
const { html, text, attachments } = email.template({
title: 'Foo Bar',
provider: 'Super Man',
link: 'https://foobar.com/',
content: {
firstName: 'foo',
lastName: 'bar',
},
});
const result = await email.send({
name,
subject,
from,
to,
reply,
html,
text,
attachments,
});
console.log(await result.text());
// with sandbox
await assertEquals(result.status, 200);
// without sandbox
// await assertEquals(result.status, 202);
});
Deno.test('sendgrid without template', async () => {
const result = await email.send({
name,
subject,
from,
to,
reply,
html: '<h1>Hello World</h1>',
text: 'Hello World',
});
console.log(await result.text());
// with sandbox
await assertEquals(result.status, 200);
// without sandbox
// await assertEquals(result.status, 202);
});