UNPKG

3.24 kBPlain TextView Raw
1import { expect } from "chai";
2import "mocha";
3import { CreateSignatureRequest } from "../../src/client/models";
4import * as postmark from "../../src/index";
5
6import * as nconf from "nconf";
7const testingKeys = nconf.env().file({ file: __dirname + "/../../testing_keys.json" });
8
9describe("Client - Signatures", () => {
10 const accountToken: string = testingKeys.get("ACCOUNT_TOKEN");
11 const testDomainName: string = testingKeys.get("DOMAIN_NAME");
12 const client: postmark.AccountClient = new postmark.AccountClient(accountToken);
13 const domainName: string = testDomainName;
14
15 function signatureToTest() {
16 return new CreateSignatureRequest("John Smith", `mailing+${Date.now()}@${domainName}`);
17 }
18
19 async function cleanup() {
20 const domains = await client.getDomains();
21
22 for (const domain of domains.Domains) {
23 if (domain.Name.includes(domainName)) { await client.deleteDomain(domain.ID); }
24 }
25 }
26
27 before(cleanup);
28 after(cleanup);
29
30 it("createSenderSignature", async () => {
31 const signatureOptions = signatureToTest();
32
33 const signatureDetails = await client.createSenderSignature(signatureOptions);
34 expect(signatureDetails.EmailAddress).to.equal(signatureOptions.FromEmail);
35 });
36
37 it("getSenderSignatures", async () => {
38 const signatures = await client.getSenderSignatures();
39 expect(signatures.TotalCount).to.gte(0);
40 });
41
42 it("getSenderSignature", async () => {
43 const signatureOptions = signatureToTest();
44 const signature = await client.createSenderSignature(signatureOptions);
45
46 const signatureDetails = await client.getSenderSignature(signature.ID);
47 expect(signatureDetails.EmailAddress).to.equal(signatureOptions.FromEmail);
48 });
49
50 it("editSenderSignature", async () => {
51 const editName = "Updated name";
52 const signatureOptions = signatureToTest();
53 const signature = await client.createSenderSignature(signatureOptions);
54
55 const signatureDetails = await client.editSenderSignature(signature.ID, { Name: editName });
56 expect(signatureDetails.Name).to.equal(editName);
57 });
58
59 it("deleteSenderSignature", async () => {
60 const signatureOptions = signatureToTest();
61 const signature = await client.createSenderSignature(signatureOptions);
62
63 const result: postmark.Models.DefaultResponse = await client.deleteSenderSignature(signature.ID);
64 expect(result.Message.length).to.above(0);
65 });
66
67 it("resendSenderSignatureConfirmation", async () => {
68 const signatureOptions = signatureToTest();
69 const signature = await client.createSenderSignature(signatureOptions);
70
71 const result: postmark.Models.DefaultResponse = await client.resendSenderSignatureConfirmation(signature.ID);
72 expect(result.Message.length).to.above(0);
73 });
74
75 it("resendSenderSignatureConfirmation", async () => {
76 const signatureOptions = signatureToTest();
77 const signature = await client.createSenderSignature(signatureOptions);
78
79 const signatureDetails = await client.verifySenderSignatureSPF(signature.ID);
80 expect(signatureDetails.ID).to.eq(signature.ID);
81 });
82});