UNPKG

2.09 kBPlain TextView Raw
1import { expect } from "chai";
2import "mocha";
3import { CreateServerRequest, UpdateServerRequest } 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("Servers", () => {
10 const accountToken: string = testingKeys.get("ACCOUNT_TOKEN");
11 const client = new postmark.AccountClient(accountToken);
12 const serverNamePrefix: string = "node-js-test-server";
13
14 function serverToTest() {
15 return new CreateServerRequest(`${serverNamePrefix}-${Date.now()}`);
16 }
17
18 async function cleanup() {
19 const servers = await client.getServers();
20
21 for (const server of servers.Servers) {
22 if (server.Name.includes(serverNamePrefix)) { await client.deleteServer(server.ID); }
23 }
24 }
25
26 before(cleanup);
27 after(cleanup);
28
29 it("getServers", async () => {
30 const servers = await client.getServers();
31 expect(servers.TotalCount).to.gte(1);
32 });
33
34 it("createServer", async () => {
35 const serverOptions = serverToTest();
36 const serverDetails = await client.createServer(serverOptions);
37 expect(serverDetails.Name).to.equal(serverOptions.Name);
38 });
39
40 it("editServer", async () => {
41 const serverOptions = new UpdateServerRequest(undefined, "red");
42 const updatedServerOptions = new UpdateServerRequest(undefined, "green");
43
44 const servers = await client.getServers();
45 const server = servers.Servers[0];
46
47 let result = await client.editServer(server.ID, serverOptions);
48 expect(result.Color).to.eq(serverOptions.Color);
49
50 result = await client.editServer(server.ID, updatedServerOptions);
51 expect(result.Color).to.eq(updatedServerOptions.Color);
52 });
53
54 it("deleteServer", async () => {
55 const serverDetails = await client.createServer(serverToTest());
56 const result = await client.deleteServer(serverDetails.ID);
57 expect(result.Message.length).to.gte(1);
58 });
59});