mailgun.js 3.7.0 → 3.7.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +7 -0
- package/dist/index.d.ts +2 -2
- package/dist/lib/client.d.ts +2 -2
- package/dist/lib/interfaces/IFormData.d.ts +4 -12
- package/dist/lib/request.d.ts +4 -3
- package/dist/mailgun.node.js +2 -2
- package/dist/mailgun.node.js.LICENSE.txt +1 -1
- package/dist/mailgun.web.js +2 -2
- package/dist/mailgun.web.js.LICENSE.txt +1 -1
- package/index.ts +3 -3
- package/lib/client.ts +2 -2
- package/lib/interfaces/IFormData.ts +5 -15
- package/lib/request.ts +18 -8
- package/package.json +1 -1
- package/test/client.test.ts +4 -3
- package/test/domains.test.ts +2 -1
- package/test/events.test.ts +2 -1
- package/test/ips.test.ts +2 -1
- package/test/lists.test.ts +2 -1
- package/test/mailListMembers.test.ts +2 -1
- package/test/messageAttachment.test.ts +2 -1
- package/test/messages.test.ts +2 -1
- package/test/parse.test.ts +2 -1
- package/test/request.test.ts +6 -5
- package/test/routes.test.ts +2 -1
- package/test/stats.test.ts +2 -1
- package/test/suppressions.test.ts +2 -1
- package/test/validate.test.ts +2 -1
- package/test/webhooks.test.ts +2 -1
package/index.ts
CHANGED
|
@@ -1,11 +1,11 @@
|
|
|
1
1
|
import Client from './lib/client';
|
|
2
|
+
import { InputFormData } from './lib/interfaces/IFormData';
|
|
2
3
|
import Options from './lib/interfaces/Options';
|
|
3
|
-
import IFormData from './lib/interfaces/IFormData';
|
|
4
4
|
|
|
5
5
|
class Mailgun {
|
|
6
|
-
private formData:
|
|
6
|
+
private formData: InputFormData
|
|
7
7
|
|
|
8
|
-
constructor(FormData:
|
|
8
|
+
constructor(FormData: InputFormData) {
|
|
9
9
|
this.formData = FormData;
|
|
10
10
|
}
|
|
11
11
|
|
package/lib/client.ts
CHANGED
|
@@ -16,7 +16,7 @@ import IpsClient from './ips';
|
|
|
16
16
|
import IpPoolsClient from './ip-pools';
|
|
17
17
|
import ListsClient from './lists';
|
|
18
18
|
import MailListsMembers from './mailListMembers';
|
|
19
|
-
import
|
|
19
|
+
import { InputFormData } from './interfaces/IFormData';
|
|
20
20
|
|
|
21
21
|
export default class Client {
|
|
22
22
|
private request;
|
|
@@ -35,7 +35,7 @@ export default class Client {
|
|
|
35
35
|
public ip_pools;
|
|
36
36
|
public lists;
|
|
37
37
|
|
|
38
|
-
constructor(options: Options, formData:
|
|
38
|
+
constructor(options: Options, formData: InputFormData) {
|
|
39
39
|
const config: RequestOptions = { ...options } as RequestOptions;
|
|
40
40
|
|
|
41
41
|
if (!config.url) {
|
|
@@ -1,19 +1,9 @@
|
|
|
1
|
-
|
|
2
|
-
[key: string]: any;
|
|
3
|
-
}
|
|
1
|
+
import NodeFormData from 'form-data';
|
|
4
2
|
|
|
5
|
-
interface
|
|
6
|
-
|
|
7
|
-
knownLength?: number;
|
|
8
|
-
filename?: string;
|
|
9
|
-
filepath?: string;
|
|
10
|
-
contentType?: string;
|
|
3
|
+
export interface IFormDataOptions {
|
|
4
|
+
[key: string]: any;
|
|
11
5
|
}
|
|
12
6
|
|
|
13
|
-
export
|
|
14
|
-
|
|
15
|
-
constructor() { // description of type. Should not be used for creating objects
|
|
16
|
-
}
|
|
17
|
-
|
|
18
|
-
abstract append(key: string, value: any, options?: AppendOptions | string): void
|
|
7
|
+
export interface InputFormData {
|
|
8
|
+
new (options?: HTMLFormElement | IFormDataOptions): NodeFormData | FormData;
|
|
19
9
|
}
|
package/lib/request.ts
CHANGED
|
@@ -1,14 +1,20 @@
|
|
|
1
|
+
import NodeFormData from 'form-data';
|
|
1
2
|
import base64 from 'base-64';
|
|
2
3
|
import urljoin from 'url-join';
|
|
3
4
|
import ky from 'ky-universal';
|
|
4
5
|
import APIError from './error';
|
|
5
6
|
import RequestOptions from './interfaces/RequestOptions';
|
|
6
7
|
import APIErrorOptions from './interfaces/APIErrorOptions';
|
|
7
|
-
import
|
|
8
|
+
import { InputFormData } from './interfaces/IFormData';
|
|
8
9
|
import APIResponse from './interfaces/ApiResponse';
|
|
9
10
|
|
|
10
11
|
const isStream = (attachment: any) => typeof attachment === 'object' && typeof attachment.pipe === 'function';
|
|
11
12
|
|
|
13
|
+
function isNodeFormData(formDataInstance: NodeFormData | FormData)
|
|
14
|
+
: formDataInstance is NodeFormData {
|
|
15
|
+
return (<NodeFormData>formDataInstance).getHeaders !== undefined;
|
|
16
|
+
}
|
|
17
|
+
|
|
12
18
|
const getAttachmentOptions = (item: any): {
|
|
13
19
|
filename?: string,
|
|
14
20
|
contentType?: string,
|
|
@@ -44,9 +50,9 @@ class Request {
|
|
|
44
50
|
private url: string;
|
|
45
51
|
private timeout: number;
|
|
46
52
|
private headers: any;
|
|
47
|
-
private formData:
|
|
53
|
+
private formData: InputFormData;
|
|
48
54
|
|
|
49
|
-
constructor(options: RequestOptions, formData:
|
|
55
|
+
constructor(options: RequestOptions, formData: InputFormData) {
|
|
50
56
|
this.username = options.username;
|
|
51
57
|
this.key = options.key;
|
|
52
58
|
this.url = options.url as string;
|
|
@@ -151,21 +157,25 @@ class Request {
|
|
|
151
157
|
return this.command('put', url, formData, params);
|
|
152
158
|
}
|
|
153
159
|
|
|
154
|
-
createFormData(data: any):
|
|
155
|
-
const appendFileToFD = (
|
|
160
|
+
createFormData(data: any): NodeFormData | FormData {
|
|
161
|
+
const appendFileToFD = (
|
|
162
|
+
key: string,
|
|
163
|
+
obj: any,
|
|
164
|
+
formDataInstance: NodeFormData | FormData
|
|
165
|
+
): void => {
|
|
156
166
|
const isStreamData = isStream(obj);
|
|
157
167
|
const objData = isStreamData ? obj : obj.data;
|
|
158
168
|
const options = getAttachmentOptions(obj);
|
|
159
|
-
if (
|
|
169
|
+
if (isNodeFormData(formDataInstance)) {
|
|
160
170
|
formDataInstance.append(key, objData, options);
|
|
161
171
|
return;
|
|
162
172
|
}
|
|
163
173
|
formDataInstance.append(key, objData, options.filename);
|
|
164
174
|
};
|
|
165
175
|
|
|
166
|
-
const formData:
|
|
176
|
+
const formData: NodeFormData | FormData = Object.keys(data)
|
|
167
177
|
.filter(function (key) { return data[key]; })
|
|
168
|
-
.reduce((formDataAcc, key) => {
|
|
178
|
+
.reduce((formDataAcc: NodeFormData | FormData, key) => {
|
|
169
179
|
if (key === 'attachment' || key === 'inline') {
|
|
170
180
|
const obj = data[key];
|
|
171
181
|
|
package/package.json
CHANGED
package/test/client.test.ts
CHANGED
|
@@ -12,6 +12,7 @@ import MessagesClient from '../lib/messages';
|
|
|
12
12
|
import RoutesClient from '../lib/routes';
|
|
13
13
|
import ValidateClient from '../lib/validate';
|
|
14
14
|
import ParseClient from '../lib/parse';
|
|
15
|
+
import { InputFormData } from '../lib/interfaces/IFormData';
|
|
15
16
|
|
|
16
17
|
describe('Client', function () {
|
|
17
18
|
let client: any;
|
|
@@ -22,13 +23,13 @@ describe('Client', function () {
|
|
|
22
23
|
key: 'key',
|
|
23
24
|
public_key: 'key',
|
|
24
25
|
timeout: 10000
|
|
25
|
-
}, formData);
|
|
26
|
+
}, formData as InputFormData);
|
|
26
27
|
});
|
|
27
28
|
|
|
28
29
|
it('raises error when username is not provided', function () {
|
|
29
30
|
expect(
|
|
30
31
|
function () {
|
|
31
|
-
return new Client({ key: 'key' } as any, formData);
|
|
32
|
+
return new Client({ key: 'key' } as any, formData as InputFormData);
|
|
32
33
|
}
|
|
33
34
|
).to.throw('Parameter "username" is required');
|
|
34
35
|
});
|
|
@@ -36,7 +37,7 @@ describe('Client', function () {
|
|
|
36
37
|
it('raises error when key is not provided', function () {
|
|
37
38
|
expect(
|
|
38
39
|
function () {
|
|
39
|
-
return new Client({ username: 'username' } as any, formData);
|
|
40
|
+
return new Client({ username: 'username' } as any, formData as InputFormData);
|
|
40
41
|
}
|
|
41
42
|
).to.throw('Parameter "key" is required');
|
|
42
43
|
});
|
package/test/domains.test.ts
CHANGED
|
@@ -5,6 +5,7 @@ import { expect } from 'chai';
|
|
|
5
5
|
import Request from '../lib/request';
|
|
6
6
|
import DomainClient from '../lib/domains';
|
|
7
7
|
import RequestOptions from '../lib/interfaces/RequestOptions';
|
|
8
|
+
import { InputFormData } from '../lib/interfaces/IFormData';
|
|
8
9
|
|
|
9
10
|
// TODO: fix types
|
|
10
11
|
describe('DomainClient', function () {
|
|
@@ -12,7 +13,7 @@ describe('DomainClient', function () {
|
|
|
12
13
|
let api: any;
|
|
13
14
|
|
|
14
15
|
beforeEach(function () {
|
|
15
|
-
client = new DomainClient(new Request({ url: 'https://api.mailgun.net' } as RequestOptions, formData));
|
|
16
|
+
client = new DomainClient(new Request({ url: 'https://api.mailgun.net' } as RequestOptions, formData as InputFormData));
|
|
16
17
|
api = nock('https://api.mailgun.net');
|
|
17
18
|
});
|
|
18
19
|
|
package/test/events.test.ts
CHANGED
|
@@ -4,13 +4,14 @@ import formData from 'form-data';
|
|
|
4
4
|
import EventClient from '../lib/events';
|
|
5
5
|
import MgRequest from '../lib/request';
|
|
6
6
|
import RequestOptions from '../lib/interfaces/RequestOptions';
|
|
7
|
+
import { InputFormData } from '../lib/interfaces/IFormData';
|
|
7
8
|
|
|
8
9
|
describe('EventsClient', function () {
|
|
9
10
|
let client: any;
|
|
10
11
|
let api: any;
|
|
11
12
|
|
|
12
13
|
beforeEach(function () {
|
|
13
|
-
client = new EventClient(new MgRequest({ url: 'https://api.mailgun.net' } as RequestOptions, formData));
|
|
14
|
+
client = new EventClient(new MgRequest({ url: 'https://api.mailgun.net' } as RequestOptions, formData as InputFormData));
|
|
14
15
|
api = nock('https://api.mailgun.net');
|
|
15
16
|
});
|
|
16
17
|
|
package/test/ips.test.ts
CHANGED
|
@@ -7,6 +7,7 @@ import RequestOptions from '../lib/interfaces/RequestOptions';
|
|
|
7
7
|
import IpsClient from '../lib/ips';
|
|
8
8
|
|
|
9
9
|
import { IpData, IpsListResponseBody } from '../lib/interfaces/Ips';
|
|
10
|
+
import { InputFormData } from '../lib/interfaces/IFormData';
|
|
10
11
|
|
|
11
12
|
// TODO: fix types
|
|
12
13
|
describe('DomainClient', function () {
|
|
@@ -14,7 +15,7 @@ describe('DomainClient', function () {
|
|
|
14
15
|
let api: any;
|
|
15
16
|
|
|
16
17
|
beforeEach(function () {
|
|
17
|
-
client = new IpsClient(new Request({ url: 'https://api.mailgun.net' } as RequestOptions, formData));
|
|
18
|
+
client = new IpsClient(new Request({ url: 'https://api.mailgun.net' } as RequestOptions, formData as InputFormData));
|
|
18
19
|
api = nock('https://api.mailgun.net');
|
|
19
20
|
});
|
|
20
21
|
|
package/test/lists.test.ts
CHANGED
|
@@ -6,6 +6,7 @@ import ListsClient from '../lib/lists';
|
|
|
6
6
|
import RequestOptions from '../lib/interfaces/RequestOptions';
|
|
7
7
|
import MailListMembers from '../lib/mailListMembers';
|
|
8
8
|
import { MailingList } from '../lib/interfaces/lists';
|
|
9
|
+
import { InputFormData } from '../lib/interfaces/IFormData';
|
|
9
10
|
|
|
10
11
|
describe('ListsClient', function () {
|
|
11
12
|
let client: any;
|
|
@@ -13,7 +14,7 @@ describe('ListsClient', function () {
|
|
|
13
14
|
let defaultList : MailingList;
|
|
14
15
|
|
|
15
16
|
beforeEach(function () {
|
|
16
|
-
const reqObject = new Request({ url: 'https://api.mailgun.net' } as RequestOptions, formData);
|
|
17
|
+
const reqObject = new Request({ url: 'https://api.mailgun.net' } as RequestOptions, formData as InputFormData);
|
|
17
18
|
const mailListMembers = new MailListMembers(reqObject);
|
|
18
19
|
client = new ListsClient(reqObject, mailListMembers);
|
|
19
20
|
api = nock('https://api.mailgun.net');
|
|
@@ -4,6 +4,7 @@ import Request from '../lib/request';
|
|
|
4
4
|
import RequestOptions from '../lib/interfaces/RequestOptions';
|
|
5
5
|
import MailListMembers from '../lib/mailListMembers';
|
|
6
6
|
import { DeletedMember, MailListMember, NewMultipleMembersResponse } from '../lib/interfaces/mailListMembers';
|
|
7
|
+
import { InputFormData } from '../lib/interfaces/IFormData';
|
|
7
8
|
|
|
8
9
|
describe('mailListsMembersClient', function () {
|
|
9
10
|
let client: any;
|
|
@@ -11,7 +12,7 @@ describe('mailListsMembersClient', function () {
|
|
|
11
12
|
let defaultListMember : MailListMember;
|
|
12
13
|
|
|
13
14
|
beforeEach(function () {
|
|
14
|
-
const reqObject = new Request({ url: 'https://api.mailgun.net' } as RequestOptions, formData);
|
|
15
|
+
const reqObject = new Request({ url: 'https://api.mailgun.net' } as RequestOptions, formData as InputFormData);
|
|
15
16
|
client = new MailListMembers(reqObject);
|
|
16
17
|
api = nock('https://api.mailgun.net');
|
|
17
18
|
defaultListMember = {
|
|
@@ -6,6 +6,7 @@ import formData from 'form-data';
|
|
|
6
6
|
import Request from '../lib/request';
|
|
7
7
|
import MessagesClient from '../lib/messages';
|
|
8
8
|
import RequestOptions from '../lib/interfaces/RequestOptions';
|
|
9
|
+
import { InputFormData } from '../lib/interfaces/IFormData';
|
|
9
10
|
|
|
10
11
|
const mailgunLogo = fs.createReadStream(`${__dirname}/img/mailgun.png`);
|
|
11
12
|
|
|
@@ -14,7 +15,7 @@ describe('MessagesClient', function () {
|
|
|
14
15
|
let api: any;
|
|
15
16
|
|
|
16
17
|
beforeEach(function () {
|
|
17
|
-
client = new MessagesClient(new Request({ url: 'https://api.mailgun.net' } as RequestOptions, formData));
|
|
18
|
+
client = new MessagesClient(new Request({ url: 'https://api.mailgun.net' } as RequestOptions, formData as InputFormData));
|
|
18
19
|
api = nock('https://api.mailgun.net');
|
|
19
20
|
});
|
|
20
21
|
|
package/test/messages.test.ts
CHANGED
|
@@ -7,6 +7,7 @@ import { expect } from 'chai';
|
|
|
7
7
|
import Request from '../lib/request';
|
|
8
8
|
import MessagesClient from '../lib/messages';
|
|
9
9
|
import RequestOptions from '../lib/interfaces/RequestOptions';
|
|
10
|
+
import { InputFormData } from '../lib/interfaces/IFormData';
|
|
10
11
|
|
|
11
12
|
const mailgunLogo = fs.createReadStream(`${__dirname}/img/mailgun.png`);
|
|
12
13
|
|
|
@@ -15,7 +16,7 @@ describe('MessagesClient', function () {
|
|
|
15
16
|
let api: any;
|
|
16
17
|
|
|
17
18
|
beforeEach(function () {
|
|
18
|
-
client = new MessagesClient(new Request({ url: 'https://api.mailgun.net' } as RequestOptions, formData));
|
|
19
|
+
client = new MessagesClient(new Request({ url: 'https://api.mailgun.net' } as RequestOptions, formData as InputFormData));
|
|
19
20
|
api = nock('https://api.mailgun.net');
|
|
20
21
|
});
|
|
21
22
|
|
package/test/parse.test.ts
CHANGED
|
@@ -6,6 +6,7 @@ import Request from '../lib/request';
|
|
|
6
6
|
import ParseClient from '../lib/parse';
|
|
7
7
|
|
|
8
8
|
import RequestOptions from '../lib/interfaces/RequestOptions';
|
|
9
|
+
import { InputFormData } from '../lib/interfaces/IFormData';
|
|
9
10
|
|
|
10
11
|
interface Data {
|
|
11
12
|
parsed: string[],
|
|
@@ -17,7 +18,7 @@ describe('ParseClient', function () {
|
|
|
17
18
|
let api: any;
|
|
18
19
|
|
|
19
20
|
beforeEach(function () {
|
|
20
|
-
client = new ParseClient(new Request({ url: 'https://api.mailgun.net' } as RequestOptions, formData));
|
|
21
|
+
client = new ParseClient(new Request({ url: 'https://api.mailgun.net' } as RequestOptions, formData as InputFormData));
|
|
21
22
|
api = nock('https://api.mailgun.net');
|
|
22
23
|
});
|
|
23
24
|
|
package/test/request.test.ts
CHANGED
|
@@ -8,6 +8,7 @@ import Request from '../lib/request';
|
|
|
8
8
|
import RequestOptions from '../lib/interfaces/RequestOptions';
|
|
9
9
|
import APIError from '../lib/error';
|
|
10
10
|
import APIResponse from '../lib/interfaces/ApiResponse';
|
|
11
|
+
import { InputFormData } from '../lib/interfaces/IFormData';
|
|
11
12
|
|
|
12
13
|
describe('Request', function () {
|
|
13
14
|
let headers: { [key: string]: string };
|
|
@@ -33,7 +34,7 @@ describe('Request', function () {
|
|
|
33
34
|
url: 'https://api.mailgun.com',
|
|
34
35
|
headers: { 'X-CSRF-Token': 'protectme' },
|
|
35
36
|
timeout: 10000
|
|
36
|
-
}, formData);
|
|
37
|
+
}, formData as InputFormData);
|
|
37
38
|
|
|
38
39
|
await req.request('get', '/v2/some/resource1', {
|
|
39
40
|
headers: { Test: 'Custom Header', 'X-CSRF-Token': 'protectme' },
|
|
@@ -46,7 +47,7 @@ describe('Request', function () {
|
|
|
46
47
|
.get('/v2/some/resource')
|
|
47
48
|
.reply(200, { id: 1, message: 'hello' });
|
|
48
49
|
|
|
49
|
-
const req = new Request({ username: 'api', key: 'key', url: 'https://api.mailgun.com' } as RequestOptions, formData);
|
|
50
|
+
const req = new Request({ username: 'api', key: 'key', url: 'https://api.mailgun.com' } as RequestOptions, formData as InputFormData);
|
|
50
51
|
const res = req.request('get', '/v2/some/resource')
|
|
51
52
|
.then(function (response: APIResponse) {
|
|
52
53
|
expect(response.status).to.eql(200);
|
|
@@ -61,7 +62,7 @@ describe('Request', function () {
|
|
|
61
62
|
.get('/v2/some/resource')
|
|
62
63
|
.reply(429, 'Too many requests');
|
|
63
64
|
|
|
64
|
-
const req = new Request({ username: 'api', key: 'key', url: 'https://api.mailgun.com' } as RequestOptions, formData);
|
|
65
|
+
const req = new Request({ username: 'api', key: 'key', url: 'https://api.mailgun.com' } as RequestOptions, formData as InputFormData);
|
|
65
66
|
const res = req.request('get', '/v2/some/resource').catch(function (error: APIError) {
|
|
66
67
|
expect(error.status).to.eql(429);
|
|
67
68
|
expect(error.details).to.eql('Too many requests');
|
|
@@ -80,7 +81,7 @@ describe('Request', function () {
|
|
|
80
81
|
.query(search)
|
|
81
82
|
.reply(200, {});
|
|
82
83
|
|
|
83
|
-
const req = new Request({ url: 'https://api.mailgun.com' } as RequestOptions, formData);
|
|
84
|
+
const req = new Request({ url: 'https://api.mailgun.com' } as RequestOptions, formData as InputFormData);
|
|
84
85
|
await req.query('get', '/v2/some/resource2', search);
|
|
85
86
|
});
|
|
86
87
|
});
|
|
@@ -93,7 +94,7 @@ describe('Request', function () {
|
|
|
93
94
|
.post('/v2/some/resource')
|
|
94
95
|
.reply(200, {});
|
|
95
96
|
|
|
96
|
-
const req = new Request({ url: 'https://api.mailgun.com' } as RequestOptions, formData);
|
|
97
|
+
const req = new Request({ url: 'https://api.mailgun.com' } as RequestOptions, formData as InputFormData);
|
|
97
98
|
const res = req.command('post', '/v2/some/resource', body);
|
|
98
99
|
|
|
99
100
|
return res;
|
package/test/routes.test.ts
CHANGED
|
@@ -4,6 +4,7 @@ import nock from 'nock';
|
|
|
4
4
|
import Request from '../lib/request';
|
|
5
5
|
import RoutesClient from '../lib/routes';
|
|
6
6
|
import RequestOptions from '../lib/interfaces/RequestOptions';
|
|
7
|
+
import { InputFormData } from '../lib/interfaces/IFormData';
|
|
7
8
|
|
|
8
9
|
interface Data {
|
|
9
10
|
actions: string[],
|
|
@@ -19,7 +20,7 @@ describe('RoutesClient', function () {
|
|
|
19
20
|
let api: any;
|
|
20
21
|
|
|
21
22
|
beforeEach(function () {
|
|
22
|
-
client = new RoutesClient(new Request({ url: 'https://api.mailgun.net' } as RequestOptions, formData));
|
|
23
|
+
client = new RoutesClient(new Request({ url: 'https://api.mailgun.net' } as RequestOptions, formData as InputFormData));
|
|
23
24
|
api = nock('https://api.mailgun.net');
|
|
24
25
|
});
|
|
25
26
|
|
package/test/stats.test.ts
CHANGED
|
@@ -5,13 +5,14 @@ import Request from '../lib/request';
|
|
|
5
5
|
import StatsClient from '../lib/stats';
|
|
6
6
|
import RequestOptions from '../lib/interfaces/RequestOptions';
|
|
7
7
|
import StatsOptions from '../lib/interfaces/StatsOptions';
|
|
8
|
+
import { InputFormData } from '../lib/interfaces/IFormData';
|
|
8
9
|
|
|
9
10
|
describe('StatsClient', function () {
|
|
10
11
|
let client: any;
|
|
11
12
|
let api: any;
|
|
12
13
|
|
|
13
14
|
beforeEach(function () {
|
|
14
|
-
client = new StatsClient(new Request({ url: 'https://api.mailgun.net' } as RequestOptions, formData));
|
|
15
|
+
client = new StatsClient(new Request({ url: 'https://api.mailgun.net' } as RequestOptions, formData as InputFormData));
|
|
15
16
|
api = nock('https://api.mailgun.net');
|
|
16
17
|
});
|
|
17
18
|
|
|
@@ -5,6 +5,7 @@ import nock from 'nock';
|
|
|
5
5
|
import Request from '../lib/request';
|
|
6
6
|
import SuppressionClient from '../lib/suppressions';
|
|
7
7
|
import RequestOptions from '../lib/interfaces/RequestOptions';
|
|
8
|
+
import { InputFormData } from '../lib/interfaces/IFormData';
|
|
8
9
|
|
|
9
10
|
chai.should();
|
|
10
11
|
|
|
@@ -13,7 +14,7 @@ describe('SuppressionsClient', function () {
|
|
|
13
14
|
let api: any;
|
|
14
15
|
|
|
15
16
|
beforeEach(function () {
|
|
16
|
-
client = new SuppressionClient(new Request({ url: 'https://api.mailgun.net' } as RequestOptions, formData));
|
|
17
|
+
client = new SuppressionClient(new Request({ url: 'https://api.mailgun.net' } as RequestOptions, formData as InputFormData));
|
|
17
18
|
api = nock('https://api.mailgun.net');
|
|
18
19
|
});
|
|
19
20
|
|
package/test/validate.test.ts
CHANGED
|
@@ -4,13 +4,14 @@ import nock from 'nock';
|
|
|
4
4
|
import Request from '../lib/request';
|
|
5
5
|
import ValidateClient from '../lib/validate';
|
|
6
6
|
import RequestOptions from '../lib/interfaces/RequestOptions';
|
|
7
|
+
import { InputFormData } from '../lib/interfaces/IFormData';
|
|
7
8
|
|
|
8
9
|
describe('ValidateClient', function () {
|
|
9
10
|
let client: any;
|
|
10
11
|
let api: any;
|
|
11
12
|
|
|
12
13
|
beforeEach(function () {
|
|
13
|
-
client = new ValidateClient(new Request({ url: 'https://api.mailgun.net' } as RequestOptions, formData));
|
|
14
|
+
client = new ValidateClient(new Request({ url: 'https://api.mailgun.net' } as RequestOptions, formData as InputFormData));
|
|
14
15
|
api = nock('https://api.mailgun.net');
|
|
15
16
|
});
|
|
16
17
|
|
package/test/webhooks.test.ts
CHANGED
|
@@ -3,13 +3,14 @@ import nock from 'nock';
|
|
|
3
3
|
import Request from '../lib/request';
|
|
4
4
|
import WebhookClient from '../lib/webhooks';
|
|
5
5
|
import RequestOptions from '../lib/interfaces/RequestOptions';
|
|
6
|
+
import { InputFormData } from '../lib/interfaces/IFormData';
|
|
6
7
|
|
|
7
8
|
describe('WebhookClient', function () {
|
|
8
9
|
let client: any;
|
|
9
10
|
let api: any;
|
|
10
11
|
|
|
11
12
|
beforeEach(function () {
|
|
12
|
-
client = new WebhookClient(new Request({ url: 'https://api.mailgun.net' } as RequestOptions, formData));
|
|
13
|
+
client = new WebhookClient(new Request({ url: 'https://api.mailgun.net' } as RequestOptions, formData as InputFormData));
|
|
13
14
|
api = nock('https://api.mailgun.net');
|
|
14
15
|
});
|
|
15
16
|
|