mailgun.js 5.0.1 → 5.0.4

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.
Files changed (314) hide show
  1. package/CHANGELOG.md +30 -0
  2. package/README.md +15 -3
  3. package/client.d.ts +29 -0
  4. package/domains.d.ts +53 -0
  5. package/domainsCredentials.d.ts +14 -0
  6. package/domainsTags.d.ts +34 -0
  7. package/domainsTemplates.d.ts +35 -0
  8. package/error.d.ts +7 -0
  9. package/events.d.ts +13 -0
  10. package/index.d.ts +9 -0
  11. package/interfaces/APIErrorOptions.d.ts +11 -0
  12. package/{lib/interfaces/ApiResponse.ts → interfaces/ApiResponse.d.ts} +1 -2
  13. package/{lib/interfaces/DomainCredentials.ts → interfaces/DomainCredentials.d.ts} +14 -30
  14. package/{lib/interfaces/DomainTags.ts → interfaces/DomainTags.d.ts} +49 -83
  15. package/{lib/interfaces/DomainTemplates.ts → interfaces/DomainTemplates.d.ts} +35 -79
  16. package/{lib/interfaces/DomainTracking.ts → interfaces/DomainTracking.d.ts} +18 -17
  17. package/{lib/interfaces/Domains.ts → interfaces/Domains.d.ts} +32 -53
  18. package/{lib/interfaces/Events.ts → interfaces/Events.d.ts} +11 -12
  19. package/interfaces/IFormData.d.ts +7 -0
  20. package/interfaces/IMailgunClient.d.ts +24 -0
  21. package/interfaces/IpPools.d.ts +19 -0
  22. package/interfaces/Ips.d.ts +10 -0
  23. package/{lib/interfaces/MultipleValidation.ts → interfaces/MultipleValidation.d.ts} +9 -16
  24. package/interfaces/Options.d.ts +8 -0
  25. package/{lib/interfaces/RequestOptions.ts → interfaces/RequestOptions.d.ts} +2 -4
  26. package/interfaces/StatsOptions.d.ts +22 -0
  27. package/interfaces/Supressions.d.ts +103 -0
  28. package/{lib/interfaces/Validate.ts → interfaces/Validate.d.ts} +0 -3
  29. package/{lib/interfaces/Webhooks.ts → interfaces/Webhooks.d.ts} +11 -17
  30. package/{lib/interfaces/lists.ts → interfaces/lists.d.ts} +1 -5
  31. package/{lib/interfaces/mailListMembers.ts → interfaces/mailListMembers.d.ts} +8 -23
  32. package/{lib/interfaces/routes.ts → interfaces/routes.d.ts} +1 -6
  33. package/ip-pools.d.ts +21 -0
  34. package/ips.d.ts +9 -0
  35. package/lists.d.ts +14 -0
  36. package/mailListMembers.d.ts +14 -0
  37. package/mailgun.node.js +3 -0
  38. package/{dist/mailgun.node.js.LICENSE.txt → mailgun.node.js.LICENSE.txt} +1 -1
  39. package/mailgun.web.js +3 -0
  40. package/{dist/mailgun.web.js.LICENSE.txt → mailgun.web.js.LICENSE.txt} +1 -3
  41. package/messages.d.ts +9 -0
  42. package/multipleValidation.d.ts +10 -0
  43. package/package.json +9 -83
  44. package/request.d.ts +31 -0
  45. package/routes.d.ts +11 -0
  46. package/stats.d.ts +20 -0
  47. package/suppressions.d.ts +50 -0
  48. package/validate.d.ts +9 -0
  49. package/version.md +1 -0
  50. package/webhooks.d.ts +32 -0
  51. package/.editorconfig +0 -10
  52. package/.eslintrc +0 -56
  53. package/.husky/commit-msg +0 -4
  54. package/.travis.yml +0 -5
  55. package/LICENSE +0 -191
  56. package/commitlint.config.js +0 -7
  57. package/dist/mailgun.js.d.ts +0 -1572
  58. package/dist/mailgun.node.js +0 -3
  59. package/dist/mailgun.web.js +0 -3
  60. package/docs/.nojekyll +0 -1
  61. package/docs/assets/highlight.css +0 -127
  62. package/docs/assets/icons.css +0 -1043
  63. package/docs/assets/icons.png +0 -0
  64. package/docs/assets/icons@2x.png +0 -0
  65. package/docs/assets/main.js +0 -52
  66. package/docs/assets/search.js +0 -1
  67. package/docs/assets/style.css +0 -1413
  68. package/docs/assets/widgets.png +0 -0
  69. package/docs/assets/widgets@2x.png +0 -0
  70. package/docs/classes/client.default.html +0 -1
  71. package/docs/classes/domains.Domain.html +0 -1
  72. package/docs/classes/domains.default.html +0 -1
  73. package/docs/classes/domainsCredentials.default.html +0 -1
  74. package/docs/classes/domainsTemplates.DomainTemplateItem.html +0 -1
  75. package/docs/classes/domainsTemplates.default.html +0 -1
  76. package/docs/classes/error.default.html +0 -6
  77. package/docs/classes/events.default.html +0 -1
  78. package/docs/classes/ip_pools.default.html +0 -1
  79. package/docs/classes/ips.default.html +0 -1
  80. package/docs/classes/lists.default.html +0 -1
  81. package/docs/classes/mailListMembers.default.html +0 -1
  82. package/docs/classes/messages.default.html +0 -1
  83. package/docs/classes/multipleValidation.default.html +0 -1
  84. package/docs/classes/request.default.html +0 -1
  85. package/docs/classes/routes.default.html +0 -1
  86. package/docs/classes/stats.default.html +0 -1
  87. package/docs/classes/suppressions.default.html +0 -1
  88. package/docs/classes/validate.default.html +0 -1
  89. package/docs/classes/webhooks.default.html +0 -1
  90. package/docs/enums/interfaces_DomainTemplates.Pages.html +0 -1
  91. package/docs/enums/interfaces_DomainTemplates.YesNo.html +0 -1
  92. package/docs/index.html +0 -1140
  93. package/docs/interfaces/interfaces_APIErrorOptions.default.html +0 -1
  94. package/docs/interfaces/interfaces_ApiResponse.default.html +0 -1
  95. package/docs/interfaces/interfaces_DomainCredentials.CreatedUpdatedDomainCredentialsResponse.html +0 -1
  96. package/docs/interfaces/interfaces_DomainCredentials.DeletedDomainCredentialsResponse.html +0 -1
  97. package/docs/interfaces/interfaces_DomainCredentials.DomainCredentials.html +0 -1
  98. package/docs/interfaces/interfaces_DomainCredentials.DomainCredentialsItem.html +0 -1
  99. package/docs/interfaces/interfaces_DomainCredentials.DomainCredentialsList.html +0 -1
  100. package/docs/interfaces/interfaces_DomainCredentials.DomainCredentialsQuery.html +0 -1
  101. package/docs/interfaces/interfaces_DomainCredentials.DomainCredentialsResponseData.html +0 -1
  102. package/docs/interfaces/interfaces_DomainCredentials.DomainCredentialsResult.html +0 -1
  103. package/docs/interfaces/interfaces_DomainCredentials.IDomainCredentials.html +0 -1
  104. package/docs/interfaces/interfaces_DomainCredentials.UpdateDomainCredentialsData.html +0 -1
  105. package/docs/interfaces/interfaces_DomainTemplates.CreateDomainTemplateAPIResponse.html +0 -1
  106. package/docs/interfaces/interfaces_DomainTemplates.CreateDomainTemplateVersionAPIResponse.html +0 -1
  107. package/docs/interfaces/interfaces_DomainTemplates.CreateDomainTemplateVersionResult.html +0 -1
  108. package/docs/interfaces/interfaces_DomainTemplates.DomainTemplate.html +0 -1
  109. package/docs/interfaces/interfaces_DomainTemplates.DomainTemplateData.html +0 -1
  110. package/docs/interfaces/interfaces_DomainTemplates.DomainTemplateUpdateData.html +0 -1
  111. package/docs/interfaces/interfaces_DomainTemplates.DomainTemplateUpdateVersionData.html +0 -1
  112. package/docs/interfaces/interfaces_DomainTemplates.DomainTemplateVersionData.html +0 -1
  113. package/docs/interfaces/interfaces_DomainTemplates.DomainTemplatesQuery.html +0 -1
  114. package/docs/interfaces/interfaces_DomainTemplates.GetDomainTemplateAPIResponse.html +0 -1
  115. package/docs/interfaces/interfaces_DomainTemplates.IDomainTemplatesClient.html +0 -1
  116. package/docs/interfaces/interfaces_DomainTemplates.ListDomainTemplateVersionsAPIResponse.html +0 -1
  117. package/docs/interfaces/interfaces_DomainTemplates.ListDomainTemplateVersionsResult.html +0 -1
  118. package/docs/interfaces/interfaces_DomainTemplates.ListDomainTemplatesAPIResponse.html +0 -1
  119. package/docs/interfaces/interfaces_DomainTemplates.ListDomainTemplatesResult.html +0 -1
  120. package/docs/interfaces/interfaces_DomainTemplates.MutateDomainTemplateVersionAPIResponse.html +0 -1
  121. package/docs/interfaces/interfaces_DomainTemplates.MutateDomainTemplateVersionResult.html +0 -1
  122. package/docs/interfaces/interfaces_DomainTemplates.NotificationAPIResponse.html +0 -1
  123. package/docs/interfaces/interfaces_DomainTemplates.NotificationResult.html +0 -1
  124. package/docs/interfaces/interfaces_DomainTemplates.ShortTemplateVersion.html +0 -1
  125. package/docs/interfaces/interfaces_DomainTemplates.TemplateQuery.html +0 -1
  126. package/docs/interfaces/interfaces_DomainTemplates.TemplateVersion.html +0 -1
  127. package/docs/interfaces/interfaces_DomainTemplates.UpdateOrDeleteDomainTemplateAPIResponse.html +0 -1
  128. package/docs/interfaces/interfaces_DomainTemplates.UpdateOrDeleteDomainTemplateResult.html +0 -1
  129. package/docs/interfaces/interfaces_DomainTracking.ClickTrackingInfo.html +0 -1
  130. package/docs/interfaces/interfaces_DomainTracking.DomainTrackingData.html +0 -1
  131. package/docs/interfaces/interfaces_DomainTracking.DomainTrackingResponse.html +0 -1
  132. package/docs/interfaces/interfaces_DomainTracking.OpenTrackingInfo.html +0 -1
  133. package/docs/interfaces/interfaces_DomainTracking.UnsubscribeTrackingInfo.html +0 -1
  134. package/docs/interfaces/interfaces_DomainTracking.UpdateDomainTrackingResponse.html +0 -1
  135. package/docs/interfaces/interfaces_DomainTracking.UpdatedOpenTracking.html +0 -1
  136. package/docs/interfaces/interfaces_Domains.ConnectionSettings.html +0 -1
  137. package/docs/interfaces/interfaces_Domains.ConnectionSettingsResponse.html +0 -1
  138. package/docs/interfaces/interfaces_Domains.DKIMAuthorityInfo.html +0 -1
  139. package/docs/interfaces/interfaces_Domains.DKIMSelectorInfo.html +0 -1
  140. package/docs/interfaces/interfaces_Domains.DNSRecord.html +0 -1
  141. package/docs/interfaces/interfaces_Domains.DestroyedDomainResponse.html +0 -1
  142. package/docs/interfaces/interfaces_Domains.DomainData.html +0 -1
  143. package/docs/interfaces/interfaces_Domains.DomainInfo.html +0 -1
  144. package/docs/interfaces/interfaces_Domains.DomainListResponseData.html +0 -1
  145. package/docs/interfaces/interfaces_Domains.DomainResponseData.html +0 -1
  146. package/docs/interfaces/interfaces_Domains.DomainShortData.html +0 -1
  147. package/docs/interfaces/interfaces_Domains.DomainsListItem.html +0 -1
  148. package/docs/interfaces/interfaces_Domains.DomainsQuery.html +0 -1
  149. package/docs/interfaces/interfaces_Domains.MessageResponse.html +0 -1
  150. package/docs/interfaces/interfaces_Domains.ReplacementForPool.html +0 -1
  151. package/docs/interfaces/interfaces_Domains.UpdatedConnectionSettings.html +0 -1
  152. package/docs/interfaces/interfaces_Domains.UpdatedConnectionSettingsRes.html +0 -1
  153. package/docs/interfaces/interfaces_Domains.UpdatedDKIMAuthority.html +0 -1
  154. package/docs/interfaces/interfaces_Domains.UpdatedDKIMAuthorityResponse.html +0 -1
  155. package/docs/interfaces/interfaces_Domains.UpdatedDKIMSelectorResponse.html +0 -1
  156. package/docs/interfaces/interfaces_Domains.UpdatedWebPrefix.html +0 -1
  157. package/docs/interfaces/interfaces_Domains.UpdatedWebPrefixResponse.html +0 -1
  158. package/docs/interfaces/interfaces_Domains.WebPrefixInfo.html +0 -1
  159. package/docs/interfaces/interfaces_Events.DomainEvent.html +0 -1
  160. package/docs/interfaces/interfaces_Events.EventsList.html +0 -1
  161. package/docs/interfaces/interfaces_Events.EventsPage.html +0 -1
  162. package/docs/interfaces/interfaces_Events.EventsResponse.html +0 -1
  163. package/docs/interfaces/interfaces_Events.PagesList.html +0 -1
  164. package/docs/interfaces/interfaces_Events.PagesListAccumulator.html +0 -1
  165. package/docs/interfaces/interfaces_Events.ParsedPage.html +0 -1
  166. package/docs/interfaces/interfaces_Events.ParsedPagesList.html +0 -1
  167. package/docs/interfaces/interfaces_IFormData.IFormDataOptions.html +0 -1
  168. package/docs/interfaces/interfaces_IFormData.InputFormData.html +0 -1
  169. package/docs/interfaces/interfaces_IpPools.IpPool.html +0 -1
  170. package/docs/interfaces/interfaces_IpPools.IpPoolListResponse.html +0 -1
  171. package/docs/interfaces/interfaces_IpPools.IpPoolUpdateData.html +0 -1
  172. package/docs/interfaces/interfaces_Ips.IpData.html +0 -1
  173. package/docs/interfaces/interfaces_Ips.IpsListResponseBody.html +0 -1
  174. package/docs/interfaces/interfaces_MultipleValidation.CanceledMultipleValidationJob.html +0 -1
  175. package/docs/interfaces/interfaces_MultipleValidation.CreatedMultipleValidationJob.html +0 -1
  176. package/docs/interfaces/interfaces_MultipleValidation.IMultipleValidationClient.html +0 -1
  177. package/docs/interfaces/interfaces_MultipleValidation.MultipleValidationJob.html +0 -1
  178. package/docs/interfaces/interfaces_MultipleValidation.MultipleValidationJobsListResponse.html +0 -1
  179. package/docs/interfaces/interfaces_MultipleValidation.MultipleValidationJobsListResult.html +0 -1
  180. package/docs/interfaces/interfaces_MultipleValidation.PagesList.html +0 -1
  181. package/docs/interfaces/interfaces_Options.default.html +0 -1
  182. package/docs/interfaces/interfaces_RequestOptions.default.html +0 -1
  183. package/docs/interfaces/interfaces_StatsOptions.Stat.html +0 -1
  184. package/docs/interfaces/interfaces_StatsOptions.StatsOptions.html +0 -1
  185. package/docs/interfaces/interfaces_StatsOptions.StatsQuery.html +0 -1
  186. package/docs/interfaces/interfaces_Supressions.BounceData.html +0 -1
  187. package/docs/interfaces/interfaces_Supressions.ComplaintData.html +0 -1
  188. package/docs/interfaces/interfaces_Supressions.UnsubscribeData.html +0 -1
  189. package/docs/interfaces/interfaces_Supressions.WhiteListData.html +0 -1
  190. package/docs/interfaces/interfaces_Validate.ValidationResponse.html +0 -1
  191. package/docs/interfaces/interfaces_Validate.ValidationResult.html +0 -1
  192. package/docs/interfaces/interfaces_Webhooks.APIWebhook.html +0 -1
  193. package/docs/interfaces/interfaces_Webhooks.ValidationResponse.html +0 -1
  194. package/docs/interfaces/interfaces_Webhooks.WebhookList.html +0 -1
  195. package/docs/interfaces/interfaces_Webhooks.WebhookResponse.html +0 -1
  196. package/docs/interfaces/interfaces_Webhooks.WebhookResponseBody.html +0 -1
  197. package/docs/interfaces/interfaces_Webhooks.WebhooksQuery.html +0 -1
  198. package/docs/interfaces/interfaces_lists.CreateUpdateList.html +0 -1
  199. package/docs/interfaces/interfaces_lists.DestroyedList.html +0 -1
  200. package/docs/interfaces/interfaces_lists.ListsQuery.html +0 -1
  201. package/docs/interfaces/interfaces_lists.MailingList.html +0 -1
  202. package/docs/interfaces/interfaces_mailListMembers.CreateUpdateMailListMembers.html +0 -1
  203. package/docs/interfaces/interfaces_mailListMembers.CreateUpdateMailListMembersReq.html +0 -1
  204. package/docs/interfaces/interfaces_mailListMembers.DeletedMember.html +0 -1
  205. package/docs/interfaces/interfaces_mailListMembers.IMailListsMembers.html +0 -1
  206. package/docs/interfaces/interfaces_mailListMembers.MailListMember.html +0 -1
  207. package/docs/interfaces/interfaces_mailListMembers.MailListMembersQuery.html +0 -1
  208. package/docs/interfaces/interfaces_mailListMembers.MultipleMembersData.html +0 -1
  209. package/docs/interfaces/interfaces_mailListMembers.MultipleMembersReqData.html +0 -1
  210. package/docs/interfaces/interfaces_mailListMembers.NewMultipleMembersResponse.html +0 -1
  211. package/docs/interfaces/interfaces_routes.CreateUpdateRouteData.html +0 -1
  212. package/docs/interfaces/interfaces_routes.DestroyRouteResponse.html +0 -1
  213. package/docs/interfaces/interfaces_routes.Route.html +0 -1
  214. package/docs/interfaces/interfaces_routes.RoutesListQuery.html +0 -1
  215. package/docs/interfaces/interfaces_routes.UpdateRouteResponse.html +0 -1
  216. package/docs/modules/client.html +0 -1
  217. package/docs/modules/domains.html +0 -1
  218. package/docs/modules/domainsCredentials.html +0 -1
  219. package/docs/modules/domainsTemplates.html +0 -1
  220. package/docs/modules/error.html +0 -1
  221. package/docs/modules/events.html +0 -1
  222. package/docs/modules/interfaces_APIErrorOptions.html +0 -1
  223. package/docs/modules/interfaces_ApiResponse.html +0 -1
  224. package/docs/modules/interfaces_DomainCredentials.html +0 -1
  225. package/docs/modules/interfaces_DomainTemplates.html +0 -1
  226. package/docs/modules/interfaces_DomainTracking.html +0 -1
  227. package/docs/modules/interfaces_Domains.html +0 -1
  228. package/docs/modules/interfaces_Events.html +0 -1
  229. package/docs/modules/interfaces_IFormData.html +0 -1
  230. package/docs/modules/interfaces_IpPools.html +0 -1
  231. package/docs/modules/interfaces_Ips.html +0 -1
  232. package/docs/modules/interfaces_MultipleValidation.html +0 -1
  233. package/docs/modules/interfaces_Options.html +0 -1
  234. package/docs/modules/interfaces_RequestOptions.html +0 -1
  235. package/docs/modules/interfaces_StatsOptions.html +0 -1
  236. package/docs/modules/interfaces_Supressions.html +0 -1
  237. package/docs/modules/interfaces_Validate.html +0 -1
  238. package/docs/modules/interfaces_Webhooks.html +0 -1
  239. package/docs/modules/interfaces_lists.html +0 -1
  240. package/docs/modules/interfaces_mailListMembers.html +0 -1
  241. package/docs/modules/interfaces_routes.html +0 -1
  242. package/docs/modules/ip_pools.html +0 -1
  243. package/docs/modules/ips.html +0 -1
  244. package/docs/modules/lists.html +0 -1
  245. package/docs/modules/mailListMembers.html +0 -1
  246. package/docs/modules/messages.html +0 -1
  247. package/docs/modules/multipleValidation.html +0 -1
  248. package/docs/modules/request.html +0 -1
  249. package/docs/modules/routes.html +0 -1
  250. package/docs/modules/stats.html +0 -1
  251. package/docs/modules/suppressions.html +0 -1
  252. package/docs/modules/validate.html +0 -1
  253. package/docs/modules/webhooks.html +0 -1
  254. package/docs/modules.html +0 -1
  255. package/dts-bundle.js +0 -8
  256. package/examples/addresses.js +0 -20
  257. package/examples/index.html +0 -285
  258. package/examples/list-domains.js +0 -8
  259. package/examples/mailgun.png +0 -0
  260. package/examples/rackspace.png +0 -0
  261. package/examples/send-email.js +0 -24
  262. package/lib/client.ts +0 -79
  263. package/lib/domains.ts +0 -224
  264. package/lib/domainsCredentials.ts +0 -88
  265. package/lib/domainsTags.ts +0 -165
  266. package/lib/domainsTemplates.ts +0 -235
  267. package/lib/error.ts +0 -22
  268. package/lib/events.ts +0 -54
  269. package/lib/index.ts +0 -17
  270. package/lib/interfaces/APIErrorOptions.ts +0 -10
  271. package/lib/interfaces/IFormData.ts +0 -9
  272. package/lib/interfaces/IpPools.ts +0 -22
  273. package/lib/interfaces/Ips.ts +0 -12
  274. package/lib/interfaces/Options.ts +0 -10
  275. package/lib/interfaces/StatsOptions.ts +0 -23
  276. package/lib/interfaces/Supressions.ts +0 -86
  277. package/lib/ip-pools.ts +0 -36
  278. package/lib/ips.ts +0 -24
  279. package/lib/lists.ts +0 -45
  280. package/lib/mailListMembers.ts +0 -83
  281. package/lib/messages.ts +0 -27
  282. package/lib/multipleValidation.ts +0 -37
  283. package/lib/request.ts +0 -271
  284. package/lib/routes.ts +0 -37
  285. package/lib/stats.ts +0 -62
  286. package/lib/suppressions.ts +0 -198
  287. package/lib/validate.ts +0 -20
  288. package/lib/webhooks.ts +0 -83
  289. package/test/client.test.ts +0 -96
  290. package/test/data/emailsValidation1.csv +0 -3
  291. package/test/domains.test.ts +0 -313
  292. package/test/domainsCredentials.test.ts +0 -97
  293. package/test/domainsTags.test.ts +0 -345
  294. package/test/domainsTemplates.test.ts +0 -392
  295. package/test/error.test.ts +0 -32
  296. package/test/events.test.ts +0 -104
  297. package/test/img/mailgun.png +0 -0
  298. package/test/ips.test.ts +0 -57
  299. package/test/lists.test.ts +0 -100
  300. package/test/mailListMembers.test.ts +0 -198
  301. package/test/messageAttachment.test.ts +0 -50
  302. package/test/messages.test.ts +0 -89
  303. package/test/multipleValidation.test.ts +0 -159
  304. package/test/request.test.ts +0 -103
  305. package/test/routes.test.ts +0 -136
  306. package/test/stats.test.ts +0 -90
  307. package/test/suppressions.test.ts +0 -219
  308. package/test/validate.test.ts +0 -43
  309. package/test/webhooks.test.ts +0 -112
  310. package/tsconfig.json +0 -22
  311. package/tsconfig.webpack.json +0 -10
  312. package/webpack/webpack.common.config.js +0 -47
  313. package/webpack/webpack.dev.config.js +0 -28
  314. package/webpack/webpack.release.config.js +0 -37
@@ -1,345 +0,0 @@
1
- import formData from 'form-data';
2
-
3
- import nock from 'nock';
4
- import Request from '../lib/request';
5
- import RequestOptions from '../lib/interfaces/RequestOptions';
6
- import { InputFormData } from '../lib/interfaces/IFormData';
7
- import DomainsTagsClient, { DomainTagStatistic } from '../lib/domainsTags';
8
- import {
9
- DomainTagCountriesAggregation,
10
- DomainTagDevicesAggregation,
11
- DomainTagProvidersAggregation,
12
- DomainTagsItem,
13
- DomainTagsList,
14
- DomainTagsMessageRes
15
- } from '../lib/interfaces/DomainTags';
16
-
17
- describe('DomainsTagsClient', function () {
18
- let client: DomainsTagsClient;
19
- let api: nock.Scope;
20
-
21
- beforeEach(function () {
22
- const reqObject = new Request({ url: 'https://api.mailgun.net' } as RequestOptions, formData as InputFormData);
23
- client = new DomainsTagsClient(reqObject);
24
- api = nock('https://api.mailgun.net');
25
- });
26
-
27
- afterEach(function () {
28
- api.done();
29
- });
30
-
31
- describe('list', function () {
32
- it('fetches all domain tags', function () {
33
- api.get('/v3/testDomain/tags').reply(200, {
34
- items: [
35
- {
36
- tag: 'tagName',
37
- description: 'test description',
38
- 'first-seen': '2020-12-03T00:00:00.000Z',
39
- 'last-seen': '2021-10-11T17:34:02.297Z'
40
- },
41
- {
42
- tag: 'test1',
43
- description: 'test description 1',
44
- 'first-seen': '2020-12-03T01:00:00.000Z',
45
- 'last-seen': '2021-10-11T18:34:02.297Z'
46
- },
47
- {
48
- tag: 'test2',
49
- description: 'test description 2',
50
- 'first-seen': '2020-12-03T02:00:00.000Z',
51
- 'last-seen': '2021-10-11T19:34:02.297Z'
52
- }
53
- ],
54
- paging: {
55
- previous: 'https://api.mailgun.net/v3/testDomain/tags?limit=1000&page=prev&tag=',
56
- first: 'https://api.mailgun.net/v3/testDomain/tags?limit=1000&page=first&tag=',
57
- next: 'https://api.mailgun.net/v3/testDomain/tags?limit=1000&page=next&tag=',
58
- last: 'https://api.mailgun.net/v3/testDomain/tags?limit=1000&page=last&tag='
59
- }
60
- });
61
-
62
- return client.list('testDomain').then(function (credentialsList: DomainTagsList) {
63
- credentialsList.should.be.an('object').to.have.property('items');
64
- credentialsList.items.should.be.an('array').to.have.property('length').to.be.equal(3);
65
- credentialsList.items[0].should.eql({
66
- tag: 'tagName',
67
- description: 'test description',
68
- 'first-seen': new Date('2020-12-03T00:00:00.000Z'),
69
- 'last-seen': new Date('2021-10-11T17:34:02.297Z')
70
- });
71
- credentialsList.pages.last.should.eql({
72
- id: 'last',
73
- url: 'https://api.mailgun.net/v3/testDomain/tags?limit=1000&page=last&tag='
74
- });
75
- });
76
- });
77
- });
78
-
79
- describe('get', function () {
80
- it('fetches one domain tag', function () {
81
- api.get('/v3/testDomain/tags/tagName').reply(200, {
82
- tag: 'tagName',
83
- description: 'test description',
84
- 'first-seen': '2020-12-03T00:00:00.000Z',
85
- 'last-seen': '2021-10-11T17:34:02.297Z'
86
- });
87
-
88
- return client.get('testDomain', 'tagName').then(function (tag: DomainTagsItem) {
89
- tag.should.eql({
90
- tag: 'tagName',
91
- description: 'test description',
92
- 'first-seen': new Date('2020-12-03T00:00:00.000Z'),
93
- 'last-seen': new Date('2021-10-11T17:34:02.297Z')
94
- });
95
- });
96
- });
97
- });
98
-
99
- describe('update', function () {
100
- it('updates domain tags', function () {
101
- api.put('/v3/testDomain/tags/tagName').reply(200, {
102
- message: 'Tag updated'
103
- });
104
-
105
- return client.update('testDomain', 'tagName', 'new Description').then(function (res: DomainTagsMessageRes) {
106
- res.should.eql({ message: 'Tag updated' });
107
- });
108
- });
109
- });
110
-
111
- describe('destroy', function () {
112
- it('deletes a domain tags', function () {
113
- api.delete('/v3/testDomain/tags/tagName').reply(200, {
114
- message: 'Tag deleted'
115
- });
116
-
117
- return client.destroy('testDomain', 'tagName').then(function (data: DomainTagsMessageRes) {
118
- data.should.eql({
119
- message: 'Tag deleted',
120
- status: 200
121
- });
122
- });
123
- });
124
- });
125
-
126
- describe('statistic', function () {
127
- it('returns statistic for a tag', function () {
128
- api.get('/v3/testDomain/tags/tagName/stats?event=stored').reply(200, {
129
- tag: 'tagName',
130
- description: 'test description',
131
- start: 'Mon, 24 Jan 2022 00:00:00 UTC',
132
- end: 'Mon, 31 Jan 2022 00:00:00 UTC',
133
- resolution: 'day',
134
- stats: [
135
- { time: 'Mon, 24 Jan 2022 00:00:00 UTC', stored: { total: 0 } },
136
- { time: 'Tue, 25 Jan 2022 00:00:00 UTC', stored: { total: 0 } },
137
- ]
138
- });
139
-
140
- return client.statistic('testDomain', 'tagName', { event: 'stored' }).then(function (data: DomainTagStatistic) {
141
- data.should.eql({
142
- tag: 'tagName',
143
- description: 'test description',
144
- start: new Date('Mon, 24 Jan 2022 00:00:00 UTC'),
145
- end: new Date('Mon, 31 Jan 2022 00:00:00 UTC'),
146
- resolution: 'day',
147
- stats: [
148
- { time: new Date('Mon, 24 Jan 2022 00:00:00 UTC'), stored: { total: 0 } },
149
- { time: new Date('Tue, 25 Jan 2022 00:00:00 UTC'), stored: { total: 0 } },
150
- ]
151
- });
152
- });
153
- });
154
- });
155
-
156
- describe('countries', function () {
157
- it('returns statistic by countries for a tag', function () {
158
- api.get('/v3/testDomain/tags/tagName/stats/aggregates/countries').reply(200, {
159
- country: {
160
- ad: {
161
- clicked: 0,
162
- complained: 0,
163
- opened: 0,
164
- unique_clicked: 0,
165
- unique_opened: 0,
166
- unsubscribed: 0
167
- },
168
- ae: {
169
- clicked: 0,
170
- complained: 0,
171
- opened: 0,
172
- unique_clicked: 0,
173
- unique_opened: 0,
174
- unsubscribed: 0
175
- }
176
- },
177
- tag: 'tagName'
178
- });
179
-
180
- return client.countries('testDomain', 'tagName').then(function (data: DomainTagCountriesAggregation) {
181
- data.should.eql({
182
- tag: 'tagName',
183
- country: {
184
- ad: {
185
- clicked: 0,
186
- complained: 0,
187
- opened: 0,
188
- unique_clicked: 0,
189
- unique_opened: 0,
190
- unsubscribed: 0
191
- },
192
- ae: {
193
- clicked: 0,
194
- complained: 0,
195
- opened: 0,
196
- unique_clicked: 0,
197
- unique_opened: 0,
198
- unsubscribed: 0
199
- }
200
- }
201
- });
202
- });
203
- });
204
- });
205
-
206
- describe('providers', function () {
207
- it('returns statistic by providers for a tag', function () {
208
- api.get('/v3/testDomain/tags/tagName/stats/aggregates/providers').reply(200, {
209
- provider: {
210
- 'gmail.com': {
211
- accepted: 126,
212
- clicked: 0,
213
- complained: 0,
214
- delivered: 126,
215
- opened: 0,
216
- unique_clicked: 0,
217
- unique_opened: 0,
218
- unsubscribed: 0
219
- },
220
- 'aol.com': {
221
- accepted: 0,
222
- clicked: 0,
223
- complained: 0,
224
- delivered: 0,
225
- opened: 0,
226
- unique_clicked: 0,
227
- unique_opened: 0,
228
- unsubscribed: 0
229
- },
230
- },
231
- tag: 'tagName'
232
- });
233
-
234
- return client.providers('testDomain', 'tagName').then(function (data: DomainTagProvidersAggregation) {
235
- data.should.eql({
236
- tag: 'tagName',
237
- provider: {
238
- 'gmail.com': {
239
- accepted: 126,
240
- clicked: 0,
241
- complained: 0,
242
- delivered: 126,
243
- opened: 0,
244
- unique_clicked: 0,
245
- unique_opened: 0,
246
- unsubscribed: 0
247
- },
248
- 'aol.com': {
249
- accepted: 0,
250
- clicked: 0,
251
- complained: 0,
252
- delivered: 0,
253
- opened: 0,
254
- unique_clicked: 0,
255
- unique_opened: 0,
256
- unsubscribed: 0
257
- },
258
- }
259
- });
260
- });
261
- });
262
- });
263
-
264
- describe('providers', function () {
265
- it('returns statistic by devices for a tag', function () {
266
- api.get('/v3/testDomain/tags/tagName/stats/aggregates/devices').reply(200, {
267
- device: {
268
- desktop: {
269
- clicked: 0,
270
- complained: 0,
271
- opened: 0,
272
- unique_clicked: 0,
273
- unique_opened: 0,
274
- unsubscribed: 0
275
- },
276
- mobile: {
277
- clicked: 0,
278
- complained: 0,
279
- opened: 0,
280
- unique_clicked: 0,
281
- unique_opened: 0,
282
- unsubscribed: 0
283
- },
284
- tablet: {
285
- clicked: 0,
286
- complained: 0,
287
- opened: 0,
288
- unique_clicked: 0,
289
- unique_opened: 0,
290
- unsubscribed: 0
291
- },
292
- unknown: {
293
- clicked: 0,
294
- complained: 0,
295
- opened: 0,
296
- unique_clicked: 0,
297
- unique_opened: 0,
298
- unsubscribed: 0
299
- }
300
- },
301
- tag: 'tagName'
302
- });
303
-
304
- return client.devices('testDomain', 'tagName').then(function (data: DomainTagDevicesAggregation) {
305
- data.should.eql({
306
- tag: 'tagName',
307
- device: {
308
- desktop: {
309
- clicked: 0,
310
- complained: 0,
311
- opened: 0,
312
- unique_clicked: 0,
313
- unique_opened: 0,
314
- unsubscribed: 0
315
- },
316
- mobile: {
317
- clicked: 0,
318
- complained: 0,
319
- opened: 0,
320
- unique_clicked: 0,
321
- unique_opened: 0,
322
- unsubscribed: 0
323
- },
324
- tablet: {
325
- clicked: 0,
326
- complained: 0,
327
- opened: 0,
328
- unique_clicked: 0,
329
- unique_opened: 0,
330
- unsubscribed: 0
331
- },
332
- unknown: {
333
- clicked: 0,
334
- complained: 0,
335
- opened: 0,
336
- unique_clicked: 0,
337
- unique_opened: 0,
338
- unsubscribed: 0
339
- }
340
- }
341
- });
342
- });
343
- });
344
- });
345
- });