smartystreets-javascript-sdk 5.1.4 → 6.0.0

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 (243) hide show
  1. package/dist/cjs/AgentSender.cjs +1 -0
  2. package/dist/cjs/BaseUrlSender.cjs +1 -0
  3. package/dist/cjs/Batch.cjs +1 -0
  4. package/dist/cjs/ClientBuilder.cjs +1 -0
  5. package/dist/cjs/CustomHeaderSender.cjs +1 -0
  6. package/dist/cjs/Errors.cjs +1 -0
  7. package/dist/cjs/HttpSender.cjs +1 -0
  8. package/dist/cjs/InputData.cjs +1 -0
  9. package/dist/cjs/LicenseSender.cjs +1 -0
  10. package/dist/cjs/Request.cjs +1 -0
  11. package/dist/cjs/Response.cjs +1 -0
  12. package/dist/cjs/RetrySender.cjs +1 -0
  13. package/dist/cjs/SharedCredentials.cjs +1 -0
  14. package/dist/cjs/SigningSender.cjs +1 -0
  15. package/dist/cjs/StaticCredentials.cjs +1 -0
  16. package/dist/cjs/StatusCodeSender.cjs +1 -0
  17. package/dist/cjs/_virtual/Batch.cjs +1 -0
  18. package/dist/cjs/_virtual/Candidate.cjs +1 -0
  19. package/dist/cjs/_virtual/Candidate2.cjs +1 -0
  20. package/dist/cjs/_virtual/ClientBuilder.cjs +1 -0
  21. package/dist/cjs/_virtual/Errors.cjs +1 -0
  22. package/dist/cjs/_virtual/Lookup.cjs +1 -0
  23. package/dist/cjs/_virtual/Lookup2.cjs +1 -0
  24. package/dist/cjs/_virtual/Lookup3.cjs +1 -0
  25. package/dist/cjs/_virtual/Lookup4.cjs +1 -0
  26. package/dist/cjs/_virtual/Lookup5.cjs +1 -0
  27. package/dist/cjs/_virtual/Lookup6.cjs +1 -0
  28. package/dist/cjs/_virtual/Lookup7.cjs +1 -0
  29. package/dist/cjs/_virtual/Lookup8.cjs +1 -0
  30. package/dist/cjs/_virtual/Response.cjs +1 -0
  31. package/dist/cjs/_virtual/Result.cjs +1 -0
  32. package/dist/cjs/_virtual/Result2.cjs +1 -0
  33. package/dist/cjs/_virtual/SharedCredentials.cjs +1 -0
  34. package/dist/cjs/_virtual/StaticCredentials.cjs +1 -0
  35. package/dist/cjs/_virtual/Suggestion.cjs +1 -0
  36. package/dist/cjs/_virtual/Suggestion2.cjs +1 -0
  37. package/dist/cjs/_virtual/_axios.cjs +1 -0
  38. package/dist/cjs/_virtual/_commonjsHelpers.cjs +1 -0
  39. package/dist/cjs/_virtual/buildClients.cjs +1 -0
  40. package/dist/cjs/index.cjs +1 -0
  41. package/dist/cjs/international_address_autocomplete/Client.cjs +1 -0
  42. package/dist/cjs/international_address_autocomplete/Lookup.cjs +1 -0
  43. package/dist/cjs/international_address_autocomplete/Suggestion.cjs +1 -0
  44. package/dist/cjs/international_street/Candidate.cjs +1 -0
  45. package/dist/cjs/international_street/Client.cjs +1 -0
  46. package/dist/cjs/international_street/Lookup.cjs +1 -0
  47. package/dist/cjs/package.json.cjs +1 -0
  48. package/dist/cjs/us_autocomplete_pro/Client.cjs +1 -0
  49. package/dist/cjs/us_autocomplete_pro/Lookup.cjs +1 -0
  50. package/dist/cjs/us_autocomplete_pro/Suggestion.cjs +1 -0
  51. package/dist/cjs/us_enrichment/Client.cjs +1 -0
  52. package/dist/cjs/us_enrichment/Lookup.cjs +1 -0
  53. package/dist/cjs/us_enrichment/Response.cjs +1 -0
  54. package/dist/cjs/us_extract/Address.cjs +1 -0
  55. package/dist/cjs/us_extract/Client.cjs +1 -0
  56. package/dist/cjs/us_extract/Lookup.cjs +1 -0
  57. package/dist/cjs/us_extract/Result.cjs +1 -0
  58. package/dist/cjs/us_reverse_geo/Client.cjs +1 -0
  59. package/dist/cjs/us_reverse_geo/Lookup.cjs +1 -0
  60. package/dist/cjs/us_reverse_geo/Response.cjs +1 -0
  61. package/dist/cjs/us_reverse_geo/Result.cjs +1 -0
  62. package/dist/cjs/us_street/Candidate.cjs +1 -0
  63. package/dist/cjs/us_street/Client.cjs +1 -0
  64. package/dist/cjs/us_street/Lookup.cjs +1 -0
  65. package/dist/cjs/us_zipcode/Client.cjs +1 -0
  66. package/dist/cjs/us_zipcode/Lookup.cjs +1 -0
  67. package/dist/cjs/us_zipcode/Result.cjs +1 -0
  68. package/dist/cjs/util/Sleeper.cjs +1 -0
  69. package/dist/cjs/util/apiToSDKKeyMap.cjs +1 -0
  70. package/dist/cjs/util/buildClients.cjs +1 -0
  71. package/dist/cjs/util/buildInputData.cjs +1 -0
  72. package/dist/cjs/util/buildSmartyResponse.cjs +1 -0
  73. package/dist/cjs/util/sendBatch.cjs +1 -0
  74. package/dist/esm/AgentSender.mjs +1 -0
  75. package/dist/esm/BaseUrlSender.mjs +1 -0
  76. package/dist/esm/Batch.mjs +1 -0
  77. package/dist/esm/ClientBuilder.mjs +1 -0
  78. package/dist/esm/CustomHeaderSender.mjs +1 -0
  79. package/dist/esm/Errors.mjs +1 -0
  80. package/dist/esm/HttpSender.mjs +1 -0
  81. package/dist/esm/InputData.mjs +1 -0
  82. package/dist/esm/LicenseSender.mjs +1 -0
  83. package/dist/esm/Request.mjs +1 -0
  84. package/dist/esm/Response.mjs +1 -0
  85. package/dist/esm/RetrySender.mjs +1 -0
  86. package/dist/esm/SharedCredentials.mjs +1 -0
  87. package/dist/esm/SigningSender.mjs +1 -0
  88. package/dist/esm/StaticCredentials.mjs +1 -0
  89. package/dist/esm/StatusCodeSender.mjs +1 -0
  90. package/dist/esm/_virtual/Batch.mjs +1 -0
  91. package/dist/esm/_virtual/Candidate.mjs +1 -0
  92. package/dist/esm/_virtual/Candidate2.mjs +1 -0
  93. package/dist/esm/_virtual/ClientBuilder.mjs +1 -0
  94. package/dist/esm/_virtual/Errors.mjs +1 -0
  95. package/dist/esm/_virtual/Lookup.mjs +1 -0
  96. package/dist/esm/_virtual/Lookup2.mjs +1 -0
  97. package/dist/esm/_virtual/Lookup3.mjs +1 -0
  98. package/dist/esm/_virtual/Lookup4.mjs +1 -0
  99. package/dist/esm/_virtual/Lookup5.mjs +1 -0
  100. package/dist/esm/_virtual/Lookup6.mjs +1 -0
  101. package/dist/esm/_virtual/Lookup7.mjs +1 -0
  102. package/dist/esm/_virtual/Lookup8.mjs +1 -0
  103. package/dist/esm/_virtual/Response.mjs +1 -0
  104. package/dist/esm/_virtual/Result.mjs +1 -0
  105. package/dist/esm/_virtual/Result2.mjs +1 -0
  106. package/dist/esm/_virtual/SharedCredentials.mjs +1 -0
  107. package/dist/esm/_virtual/StaticCredentials.mjs +1 -0
  108. package/dist/esm/_virtual/Suggestion.mjs +1 -0
  109. package/dist/esm/_virtual/Suggestion2.mjs +1 -0
  110. package/dist/esm/_virtual/_axios.mjs +1 -0
  111. package/dist/esm/_virtual/_commonjsHelpers.mjs +1 -0
  112. package/dist/esm/_virtual/buildClients.mjs +1 -0
  113. package/dist/esm/index.mjs +1 -0
  114. package/dist/esm/international_address_autocomplete/Client.mjs +1 -0
  115. package/dist/esm/international_address_autocomplete/Lookup.mjs +1 -0
  116. package/dist/esm/international_address_autocomplete/Suggestion.mjs +1 -0
  117. package/dist/esm/international_street/Candidate.mjs +1 -0
  118. package/dist/esm/international_street/Client.mjs +1 -0
  119. package/dist/esm/international_street/Lookup.mjs +1 -0
  120. package/dist/esm/package.json.mjs +1 -0
  121. package/dist/esm/us_autocomplete_pro/Client.mjs +1 -0
  122. package/dist/esm/us_autocomplete_pro/Lookup.mjs +1 -0
  123. package/dist/esm/us_autocomplete_pro/Suggestion.mjs +1 -0
  124. package/dist/esm/us_enrichment/Client.mjs +1 -0
  125. package/dist/esm/us_enrichment/Lookup.mjs +1 -0
  126. package/dist/esm/us_enrichment/Response.mjs +1 -0
  127. package/dist/esm/us_extract/Address.mjs +1 -0
  128. package/dist/esm/us_extract/Client.mjs +1 -0
  129. package/dist/esm/us_extract/Lookup.mjs +1 -0
  130. package/dist/esm/us_extract/Result.mjs +1 -0
  131. package/dist/esm/us_reverse_geo/Client.mjs +1 -0
  132. package/dist/esm/us_reverse_geo/Lookup.mjs +1 -0
  133. package/dist/esm/us_reverse_geo/Response.mjs +1 -0
  134. package/dist/esm/us_reverse_geo/Result.mjs +1 -0
  135. package/dist/esm/us_street/Candidate.mjs +1 -0
  136. package/dist/esm/us_street/Client.mjs +1 -0
  137. package/dist/esm/us_street/Lookup.mjs +1 -0
  138. package/dist/esm/us_zipcode/Client.mjs +1 -0
  139. package/dist/esm/us_zipcode/Lookup.mjs +1 -0
  140. package/dist/esm/us_zipcode/Result.mjs +1 -0
  141. package/dist/esm/util/Sleeper.mjs +1 -0
  142. package/dist/esm/util/apiToSDKKeyMap.mjs +1 -0
  143. package/dist/esm/util/buildClients.mjs +1 -0
  144. package/dist/esm/util/buildInputData.mjs +1 -0
  145. package/dist/esm/util/buildSmartyResponse.mjs +1 -0
  146. package/dist/esm/util/sendBatch.mjs +1 -0
  147. package/package.json +26 -6
  148. package/.github/workflows/node-tests.yml +0 -27
  149. package/CHANGELOG.md +0 -5
  150. package/Makefile +0 -28
  151. package/examples/international_address_autocomplete.js +0 -58
  152. package/examples/international_street.js +0 -56
  153. package/examples/us_autocomplete_pro.js +0 -63
  154. package/examples/us_enrichment.js +0 -36
  155. package/examples/us_extract.js +0 -40
  156. package/examples/us_reverse_geo.js +0 -40
  157. package/examples/us_street.js +0 -73
  158. package/examples/us_zipcode.js +0 -57
  159. package/index.js +0 -41
  160. package/js-sdk-demo.cast +0 -95
  161. package/src/AgentSender.js +0 -16
  162. package/src/BaseUrlSender.js +0 -18
  163. package/src/Batch.js +0 -49
  164. package/src/ClientBuilder.js +0 -212
  165. package/src/CustomHeaderSender.js +0 -20
  166. package/src/Errors.js +0 -100
  167. package/src/HttpSender.js +0 -66
  168. package/src/InputData.js +0 -21
  169. package/src/LicenseSender.js +0 -20
  170. package/src/Request.js +0 -12
  171. package/src/Response.js +0 -10
  172. package/src/RetrySender.js +0 -50
  173. package/src/SharedCredentials.js +0 -13
  174. package/src/SigningSender.js +0 -26
  175. package/src/StaticCredentials.js +0 -13
  176. package/src/StatusCodeSender.js +0 -35
  177. package/src/international_address_autocomplete/Client.js +0 -41
  178. package/src/international_address_autocomplete/Lookup.js +0 -14
  179. package/src/international_address_autocomplete/Suggestion.js +0 -14
  180. package/src/international_street/Candidate.js +0 -153
  181. package/src/international_street/Client.js +0 -42
  182. package/src/international_street/Lookup.js +0 -85
  183. package/src/us_autocomplete_pro/Client.js +0 -41
  184. package/src/us_autocomplete_pro/Lookup.js +0 -29
  185. package/src/us_autocomplete_pro/Suggestion.js +0 -19
  186. package/src/us_enrichment/Client.js +0 -72
  187. package/src/us_enrichment/Lookup.js +0 -13
  188. package/src/us_enrichment/Response.js +0 -559
  189. package/src/us_extract/Address.js +0 -17
  190. package/src/us_extract/Client.js +0 -35
  191. package/src/us_extract/Lookup.js +0 -24
  192. package/src/us_extract/Result.js +0 -21
  193. package/src/us_reverse_geo/Client.js +0 -40
  194. package/src/us_reverse_geo/Lookup.js +0 -17
  195. package/src/us_reverse_geo/Response.js +0 -17
  196. package/src/us_reverse_geo/Result.js +0 -36
  197. package/src/us_street/Candidate.js +0 -89
  198. package/src/us_street/Client.js +0 -43
  199. package/src/us_street/Lookup.js +0 -25
  200. package/src/us_zipcode/Client.js +0 -39
  201. package/src/us_zipcode/Lookup.js +0 -16
  202. package/src/us_zipcode/Result.js +0 -45
  203. package/src/util/Sleeper.js +0 -8
  204. package/src/util/apiToSDKKeyMap.js +0 -75
  205. package/src/util/buildClients.js +0 -48
  206. package/src/util/buildInputData.js +0 -11
  207. package/src/util/buildSmartyResponse.js +0 -10
  208. package/src/util/sendBatch.js +0 -39
  209. package/tests/fixtures/MockSleeper.js +0 -10
  210. package/tests/fixtures/mock_senders.js +0 -43
  211. package/tests/international_address_autocomplete/test_Client.js +0 -86
  212. package/tests/international_address_autocomplete/test_Lookup.js +0 -55
  213. package/tests/international_street/test_Candidate.js +0 -268
  214. package/tests/international_street/test_Client.js +0 -70
  215. package/tests/international_street/test_Lookup.js +0 -108
  216. package/tests/test_AgentSender.js +0 -25
  217. package/tests/test_BaseUrlSender.js +0 -31
  218. package/tests/test_Batch.js +0 -73
  219. package/tests/test_CustomHeaderSender.js +0 -31
  220. package/tests/test_ExtractExample.js +0 -167
  221. package/tests/test_HttpSender.js +0 -93
  222. package/tests/test_LicenseSender.js +0 -40
  223. package/tests/test_RetrySender.js +0 -98
  224. package/tests/test_SigningSender.js +0 -56
  225. package/tests/test_StatusCodeSender.js +0 -95
  226. package/tests/us_autocomplete_pro/test_Client.js +0 -116
  227. package/tests/us_autocomplete_pro/test_Lookup.js +0 -11
  228. package/tests/us_autocomplete_pro/test_Suggestion.js +0 -24
  229. package/tests/us_enrichment/test_Client.js +0 -271
  230. package/tests/us_enrichment/test_Lookup.js +0 -22
  231. package/tests/us_enrichment/test_Response.js +0 -739
  232. package/tests/us_extract/test_Address.js +0 -67
  233. package/tests/us_extract/test_Client.js +0 -148
  234. package/tests/us_extract/test_Lookup.js +0 -19
  235. package/tests/us_extract/test_Result.js +0 -39
  236. package/tests/us_reverse_geo/test_Client.js +0 -48
  237. package/tests/us_reverse_geo/test_Lookup.js +0 -14
  238. package/tests/us_reverse_geo/test_Response.js +0 -44
  239. package/tests/us_street/test_Candidate.js +0 -133
  240. package/tests/us_street/test_Client.js +0 -150
  241. package/tests/us_street/test_Lookup.js +0 -29
  242. package/tests/us_zipcode/test_Client.js +0 -150
  243. package/tests/us_zipcode/test_Result.js +0 -81
@@ -1,67 +0,0 @@
1
- const chai = require("chai");
2
- const expect = chai.expect;
3
- const Address = require("../../src/us_extract/Address");
4
- const Candidate = require("../../src/us_street/Candidate");
5
-
6
- describe("A US Extract Address", function () {
7
- it("populates fields correctly.", function () {
8
- let mockResponseAddress = {
9
- "text": "5732 Lincoln Drive Minneapolis MN",
10
- "verified": true,
11
- "line": 4,
12
- "start": 16,
13
- "end": 49,
14
- "api_output": [
15
- {
16
- "candidate_index": 0,
17
- "delivery_line_1": "5732 Lincoln Dr",
18
- "last_line": "Minneapolis MN 55436-1608",
19
- "delivery_point_barcode": "554361608327",
20
- "components": {
21
- "primary_number": "5732",
22
- "street_name": "Lincoln",
23
- "street_suffix": "Dr",
24
- "city_name": "Minneapolis",
25
- "state_abbreviation": "MN",
26
- "zipcode": "55436",
27
- "plus4_code": "1608",
28
- "delivery_point": "32",
29
- "delivery_point_check_digit": "7"
30
- },
31
- "metadata": {
32
- "record_type": "S",
33
- "zip_type": "Standard",
34
- "county_fips": "27053",
35
- "county_name": "Hennepin",
36
- "carrier_route": "C009",
37
- "congressional_district": "03",
38
- "rdi": "Commercial",
39
- "elot_sequence": "0035",
40
- "elot_sort": "A",
41
- "latitude": 44.90127,
42
- "longitude": -93.40045,
43
- "precision": "Zip9",
44
- "time_zone": "Central",
45
- "utc_offset": -6,
46
- "dst": true
47
- },
48
- "analysis": {
49
- "dpv_match_code": "Y",
50
- "dpv_footnotes": "AABB",
51
- "dpv_cmra": "N",
52
- "dpv_vacant": "N",
53
- "active": "Y",
54
- "footnotes": "N#"
55
- },
56
- },
57
- ],
58
- };
59
- let address = new Address(mockResponseAddress);
60
- expect(address.candidates[0]).to.be.an.instanceOf(Candidate);
61
- expect(address.text).to.equal(mockResponseAddress.text);
62
- expect(address.verified).to.equal(mockResponseAddress.verified);
63
- expect(address.line).to.equal(mockResponseAddress.line);
64
- expect(address.start).to.equal(mockResponseAddress.start);
65
- expect(address.end).to.equal(mockResponseAddress.end);
66
- });
67
- });
@@ -1,148 +0,0 @@
1
- const chai = require("chai");
2
- const expect = chai.expect;
3
- const Client = require("../../src/us_extract/Client");
4
- const Lookup = require("../../src/us_extract/Lookup");
5
- const Result = require("../../src/us_extract/Result");
6
- const MockSender = require("../fixtures/mock_senders").MockSender;
7
- const MockSenderWithResponse = require("../fixtures/mock_senders").MockSenderWithResponse;
8
- const errors = require("../../src/Errors");
9
-
10
- describe("A US Extract Client", function () {
11
- it("throws an error if sending without a lookup.", function () {
12
- let mockSender = new MockSender();
13
- let client = new Client(mockSender);
14
-
15
- expect(client.send).to.throw(errors.UndefinedLookupError);
16
- });
17
-
18
- it("correctly builds a payload for a text only lookup.", function () {
19
- let mockSender = new MockSender();
20
- let client = new Client(mockSender);
21
- let mockText = "yump.";
22
- let lookup = new Lookup(mockText);
23
- let expectedPayload = mockText;
24
-
25
- client.send(lookup);
26
-
27
- expect(mockSender.request.payload).to.deep.equal(expectedPayload);
28
- });
29
-
30
- it("correctly builds a payload for a fully-populated lookup.", function () {
31
- let mockSender = new MockSender();
32
- let client = new Client(mockSender);
33
- const mockText = "The flocculated scunge is subprime for human consumption.";
34
- let lookup = new Lookup(mockText);
35
- let expectedPayload = mockText;
36
-
37
- client.send(lookup);
38
-
39
- expect(mockSender.request.payload).to.deep.equal(expectedPayload);
40
- });
41
-
42
- it("correctly builds parameters for a lookup.", () => {
43
- let mockSender = new MockSender();
44
- let client = new Client(mockSender);
45
- const mockText = "Picard is coming back. All power to the engines.";
46
- let lookup = new Lookup(mockText);
47
- lookup.html = 1;
48
- lookup.aggressive = 2;
49
- lookup.addressesHaveLineBreaks = 3;
50
- lookup.addressesPerLine = 4;
51
-
52
- let expectedParams = {
53
- html: 1,
54
- aggressive: 2,
55
- addr_line_breaks: 3,
56
- addr_per_line: 4,
57
- };
58
-
59
- client.send(lookup);
60
-
61
- expect(mockSender.request.parameters).to.deep.equal(expectedParams);
62
- });
63
-
64
- it("rejects with an exception if the response comes back with an error.", function () {
65
- let expectedError = new Error("I'm the error.");
66
- let mockSender = new MockSenderWithResponse("", expectedError);
67
- let client = new Client(mockSender);
68
- let lookup = new Lookup("Shine on you crazy diamond.");
69
-
70
- return client.send(lookup).catch((e) => {expect(e).to.equal(expectedError);});
71
- });
72
-
73
- it("attaches result from a response to a lookup.", function () {
74
- const responseData = {
75
- "meta": {
76
- "lines": 6,
77
- "unicode": false,
78
- "address_count": 1,
79
- "verified_count": 1,
80
- "bytes": 53,
81
- "character_count": 53
82
- },
83
- "addresses": [
84
- {
85
- "text": "5732 Lincoln Drive Minneapolis MN",
86
- "verified": true,
87
- "line": 4,
88
- "start": 16,
89
- "end": 49,
90
- "api_output": [
91
- {
92
- "candidate_index": 0,
93
- "delivery_line_1": "5732 Lincoln Dr",
94
- "last_line": "Minneapolis MN 55436-1608",
95
- "delivery_point_barcode": "554361608327",
96
- "components": {
97
- "primary_number": "5732",
98
- "street_name": "Lincoln",
99
- "street_suffix": "Dr",
100
- "city_name": "Minneapolis",
101
- "state_abbreviation": "MN",
102
- "zipcode": "55436",
103
- "plus4_code": "1608",
104
- "delivery_point": "32",
105
- "delivery_point_check_digit": "7"
106
- },
107
- "metadata": {
108
- "record_type": "S",
109
- "zip_type": "Standard",
110
- "county_fips": "27053",
111
- "county_name": "Hennepin",
112
- "carrier_route": "C009",
113
- "congressional_district": "03",
114
- "rdi": "Commercial",
115
- "elot_sequence": "0035",
116
- "elot_sort": "A",
117
- "latitude": 44.90127,
118
- "longitude": -93.40045,
119
- "precision": "Zip9",
120
- "time_zone": "Central",
121
- "utc_offset": -6,
122
- "dst": true
123
- },
124
- "analysis": {
125
- "dpv_match_code": "Y",
126
- "dpv_footnotes": "AABB",
127
- "dpv_cmra": "N",
128
- "dpv_vacant": "N",
129
- "dpv_no_stat": "N",
130
- "active": "Y",
131
- "footnotes": "N#"
132
- }
133
- }
134
- ]
135
- }
136
- ]
137
- };
138
-
139
- let mockSender = new MockSenderWithResponse(responseData);
140
- let client = new Client(mockSender);
141
- let lookup = new Lookup("Sometimes when you're testing this field doesn't matter too much.");
142
- let expectedResult = new Result(responseData);
143
-
144
- return client.send(lookup).then(response => {
145
- expect(lookup.result).to.deep.equal(expectedResult);
146
- });
147
- })
148
- });
@@ -1,19 +0,0 @@
1
- const chai = require("chai");
2
- const expect = chai.expect;
3
- const Lookup = require("../../src/us_extract/Lookup");
4
-
5
- describe("A US Extract Lookup", function () {
6
- it("correctly populates fields.", function () {
7
- let lookup = new Lookup("some text");
8
- lookup.html = true;
9
- lookup.aggressive = true;
10
- lookup.addressesHaveLineBreaks = true;
11
- lookup.addressesPerLine = 10;
12
-
13
- expect(lookup.text).to.equal("some text");
14
- expect(lookup.html).to.equal(true);
15
- expect(lookup.aggressive).to.equal(true);
16
- expect(lookup.addressesHaveLineBreaks).to.equal(true);
17
- expect(lookup.addressesPerLine).to.equal(10);
18
- });
19
- });
@@ -1,39 +0,0 @@
1
- const chai = require("chai");
2
- const expect = chai.expect;
3
- const Result = require("../../src/us_extract/Result");
4
- const Address = require("../../src/us_extract/Address");
5
-
6
- describe("A US Extract Result", function () {
7
- it("correctly populates fields.", function () {
8
- const mockResponseData = {
9
- "meta": {
10
- "lines": 6,
11
- "unicode": false,
12
- "address_count": 1,
13
- "verified_count": 1,
14
- "bytes": 53,
15
- "character_count": 53,
16
- },
17
- "addresses": [
18
- {
19
- "text": "5732 Lincoln Drive Minneapolis MN",
20
- "verified": true,
21
- "line": 4,
22
- "start": 16,
23
- "end": 49,
24
- "api_output": [{}]
25
- }
26
- ]
27
- };
28
- let result = new Result(mockResponseData);
29
-
30
- expect(result.meta.lines).to.equal(6);
31
- expect(result.meta.unicode).to.equal(false);
32
- expect(result.meta.addressCount).to.equal(1);
33
- expect(result.meta.verifiedCount).to.equal(1);
34
- expect(result.meta.bytes).to.equal(53);
35
- expect(result.meta.characterCount).to.equal(53);
36
-
37
- expect(result.addresses[0]).to.be.an.instanceOf(Address);
38
- });
39
- });
@@ -1,48 +0,0 @@
1
- const chai = require("chai");
2
- const expect = chai.expect;
3
- const Client = require("../../src/us_reverse_geo/Client");
4
- const Lookup = require("../../src/us_reverse_geo/Lookup");
5
- const MockSender = require("../fixtures/mock_senders").MockSender;
6
- const MockSenderWithResponse = require("../fixtures/mock_senders").MockSenderWithResponse;
7
- const Response = require("../../src/us_reverse_geo/Response");
8
-
9
- describe("A US Reverse Geo client", function () {
10
- it("has an inner sender.", function () {
11
- let mockSender = new MockSender();
12
- let client = new Client(mockSender);
13
-
14
- expect(client.sender).to.deep.equal(mockSender);
15
- });
16
-
17
-
18
- it("attaches a result from a response to a lookup.", function () {
19
- const expectedMockPayload = {
20
- "results": [
21
- {
22
- "coordinate": {
23
- "latitude": 40.111111,
24
- "longitude": -111.111111,
25
- "accuracy": "Rooftop",
26
- "license": "SmartyStreets"
27
- },
28
- "distance": 2.7207432,
29
- "address": {
30
- "street": "2335 S State St",
31
- "city": "Provo",
32
- "state_abbreviation": "UT",
33
- "zipcode": "84606",
34
- "source": "postal"
35
- }
36
- },
37
- ]
38
- };
39
- let mockSender = new MockSenderWithResponse(expectedMockPayload);
40
- const client = new Client(mockSender);
41
- let lookup = new Lookup(44.888888888, -111.111111111, "postal");
42
-
43
- return client.send(lookup).then(() => {
44
- expect(lookup.response).to.deep.equal(expectedMockPayload);
45
- expect(lookup.response).to.be.an.instanceOf(Response);
46
- });
47
- });
48
- });
@@ -1,14 +0,0 @@
1
- const chai = require("chai");
2
- const expect = chai.expect;
3
- const Lookup = require("../../src/us_reverse_geo/Lookup");
4
-
5
- describe("A US Reverse Geo lookup", function () {
6
- it("correctly populates fields.", function () {
7
- let lookup = new Lookup(44.888888888, -111.111111111, "postal");
8
-
9
- expect(lookup.source).to.equal("postal")
10
- expect(lookup.latitude).to.equal("44.88888889");
11
- expect(lookup.longitude).to.equal("-111.11111111");
12
- expect(lookup.response.results).to.deep.equal([]);
13
- });
14
- });
@@ -1,44 +0,0 @@
1
- const chai = require("chai");
2
- const expect = chai.expect;
3
- const Response = require("../../src/us_reverse_geo/Response");
4
-
5
- describe("A US Reverse Geo match response", function () {
6
- it("populates with the appropriate fields.", function () {
7
- const sampleResponse = {
8
- results: [
9
- {
10
- coordinate: {
11
- latitude: 1.1,
12
- longitude: 2.2,
13
- accuracy: "3",
14
- license: 1
15
- },
16
- distance: 4.4,
17
- address: {
18
- street: "5",
19
- city: "6",
20
- state_abbreviation: "7",
21
- zipcode: "8",
22
- source: "postal"
23
- }
24
- },
25
- ]
26
- };
27
-
28
- const response = new Response(sampleResponse);
29
- const result = response.results[0];
30
-
31
- expect(result.distance).to.equal(4.4);
32
- let address = result.address;
33
- expect(address.street).to.equal("5");
34
- expect(address.city).to.equal("6");
35
- expect(address.state_abbreviation).to.equal("7");
36
- expect(address.zipcode).to.equal("8");
37
- expect(address.source).to.equal("postal");
38
- let coordinate = result.coordinate;
39
- expect(coordinate.latitude).to.equal(1.1);
40
- expect(coordinate.longitude).to.equal(2.2);
41
- expect(coordinate.accuracy).to.equal("3");
42
- expect(coordinate.license).to.equal("SmartyStreets Proprietary");
43
- });
44
- });
@@ -1,133 +0,0 @@
1
- const chai = require("chai");
2
- const expect = chai.expect;
3
- const Candidate = require("../../src/us_street/Candidate");
4
-
5
- describe("A match candidate", function () {
6
- it("has populated fields.", function () {
7
- const sampleResponse = {
8
- input_index: 0,
9
- candidate_index: 1,
10
- addressee: "2",
11
- delivery_line_1: "3",
12
- delivery_line_2: "4",
13
- last_line: "5",
14
- delivery_point_barcode: "6",
15
- smarty_key: "0000",
16
- components: {
17
- urbanization: "7",
18
- primary_number: "8",
19
- street_name: "9",
20
- street_predirection: "10",
21
- street_postdirection: "11",
22
- street_suffix: "12",
23
- secondary_number: "13",
24
- secondary_designator: "14",
25
- extra_secondary_number: "15",
26
- extra_secondary_designator: "16",
27
- pmb_designator: "17",
28
- pmb_number: "18",
29
- city_name: "19",
30
- default_city_name: "20",
31
- state_abbreviation: "21",
32
- zipcode: "22",
33
- plus4_code: "23",
34
- delivery_point: "24",
35
- delivery_point_check_digit: "25"
36
- },
37
- metadata: {
38
- record_type: "26",
39
- zip_type: "27",
40
- county_fips: "28",
41
- county_name: "29",
42
- carrier_route: "30",
43
- congressional_district: "31",
44
- building_default_indicator: "32",
45
- rdi: "33",
46
- elot_sequence: "34",
47
- elot_sort: "35",
48
- latitude: 36.0,
49
- longitude: 37.0,
50
- coordinate_license: 1,
51
- precision: "38",
52
- time_zone: "39",
53
- utc_offset: 40.0,
54
- dst: "41",
55
- ews_match: "47"
56
- },
57
- analysis: {
58
- dpv_match_code: "42",
59
- dpv_footnotes: "43",
60
- dpv_cmra: "44",
61
- dpv_vacant: "45",
62
- active: "46",
63
- footnotes: "48",
64
- lacslink_code: "49",
65
- lacslink_indicator: "50",
66
- suitelink_match: "51",
67
- dpv_no_stat: "52",
68
- enhanced_match: "53",
69
- }
70
- };
71
- const candidate = new Candidate(sampleResponse);
72
-
73
- expect(candidate.inputIndex).to.equal(0);
74
- expect(candidate.candidateIndex).to.equal(1);
75
- expect(candidate.addressee).to.equal('2');
76
- expect(candidate.deliveryLine1).to.equal('3');
77
- expect(candidate.deliveryLine2).to.equal('4');
78
- expect(candidate.lastLine).to.equal('5');
79
- expect(candidate.deliveryPointBarcode).to.equal('6');
80
- expect(candidate.smartyKey).to.equal('0000');
81
-
82
- expect(candidate.components.urbanization).to.equal('7');
83
- expect(candidate.components.primaryNumber).to.equal('8');
84
- expect(candidate.components.streetName).to.equal('9');
85
- expect(candidate.components.streetPredirection).to.equal('10');
86
- expect(candidate.components.streetPostdirection).to.equal('11');
87
- expect(candidate.components.streetSuffix).to.equal('12');
88
- expect(candidate.components.secondaryNumber).to.equal('13');
89
- expect(candidate.components.secondaryDesignator).to.equal('14');
90
- expect(candidate.components.extraSecondaryNumber).to.equal('15');
91
- expect(candidate.components.extraSecondaryDesignator).to.equal('16');
92
- expect(candidate.components.pmbDesignator).to.equal('17');
93
- expect(candidate.components.pmbNumber).to.equal('18');
94
- expect(candidate.components.cityName).to.equal('19');
95
- expect(candidate.components.defaultCityName).to.equal('20');
96
- expect(candidate.components.state).to.equal('21');
97
- expect(candidate.components.zipCode).to.equal('22');
98
- expect(candidate.components.plus4Code).to.equal('23');
99
- expect(candidate.components.deliveryPoint).to.equal('24');
100
- expect(candidate.components.deliveryPointCheckDigit).to.equal('25');
101
-
102
- expect(candidate.metadata.recordType).to.equal('26');
103
- expect(candidate.metadata.zipType).to.equal('27');
104
- expect(candidate.metadata.countyFips).to.equal('28');
105
- expect(candidate.metadata.countyName).to.equal('29');
106
- expect(candidate.metadata.carrierRoute).to.equal('30');
107
- expect(candidate.metadata.congressionalDistrict).to.equal('31');
108
- expect(candidate.metadata.buildingDefaultIndicator).to.equal('32');
109
- expect(candidate.metadata.rdi).to.equal('33');
110
- expect(candidate.metadata.elotSequence).to.equal('34');
111
- expect(candidate.metadata.elotSort).to.equal('35');
112
- expect(candidate.metadata.latitude).to.equal(36.0);
113
- expect(candidate.metadata.longitude).to.equal(37.0);
114
- expect(candidate.metadata.coordinateLicense).to.equal("SmartyStreets Proprietary");
115
- expect(candidate.metadata.precision).to.equal('38');
116
- expect(candidate.metadata.timeZone).to.equal('39');
117
- expect(candidate.metadata.utcOffset).to.equal(40.0);
118
- expect(candidate.metadata.obeysDst).to.equal('41');
119
- expect(candidate.metadata.isEwsMatch).to.equal('47');
120
-
121
- expect(candidate.analysis.dpvMatchCode).to.equal('42');
122
- expect(candidate.analysis.dpvFootnotes).to.equal('43');
123
- expect(candidate.analysis.cmra).to.equal('44');
124
- expect(candidate.analysis.vacant).to.equal('45');
125
- expect(candidate.analysis.active).to.equal('46');
126
- expect(candidate.analysis.footnotes).to.equal('48');
127
- expect(candidate.analysis.lacsLinkCode).to.equal('49');
128
- expect(candidate.analysis.lacsLinkIndicator).to.equal('50');
129
- expect(candidate.analysis.isSuiteLinkMatch).to.equal('51');
130
- expect(candidate.analysis.noStat).to.equal('52');
131
- expect(candidate.analysis.enhancedMatch).to.equal('53');
132
- });
133
- });
@@ -1,150 +0,0 @@
1
- const chai = require("chai");
2
- const expect = chai.expect;
3
- const Client = require("../../src/us_street/Client");
4
- const ClientBuilder = require("../../src/ClientBuilder");
5
- const Lookup = require("../../src/us_street/Lookup");
6
- const Candidate = require("../../src/us_street/Candidate");
7
- const Batch = require("../../src/Batch");
8
- const errors = require("../../src/Errors");
9
- const MockSender = require("../fixtures/mock_senders").MockSender;
10
- const MockSenderWithResponse = require("../fixtures/mock_senders").MockSenderWithResponse;
11
-
12
- describe("A US Street client", function () {
13
- it("calls its inner sender's send function.", function () {
14
- const mockSender = {
15
- send: function (request) {
16
- sentFlag = true;
17
- mockSenderRequest = request;
18
- }
19
- };
20
- const client = new Client(mockSender);
21
- let lookup = new Lookup();
22
- let sentFlag = false;
23
- let mockSenderRequest = {};
24
-
25
- client.send(lookup);
26
-
27
- expect(sentFlag).to.equal(true);
28
- });
29
-
30
- it("builds a request for a single lookup with the correct request parameters.", function () {
31
- let mockSender = new MockSender();
32
- const client = new Client(mockSender);
33
- let lookup = new Lookup("1", "2", "3", "4", "5", "6", "7", "8", "9", "10", "11", "12");
34
- let expectedParameters = {
35
- street: "1",
36
- street2: "2",
37
- secondary: "3",
38
- city: "4",
39
- state: "5",
40
- zipcode: "6",
41
- lastline: "7",
42
- addressee: "8",
43
- urbanization: "9",
44
- match: "10",
45
- candidates: "11",
46
- };
47
-
48
- client.send(lookup);
49
-
50
- expect(mockSender.request.parameters).to.deep.equal(expectedParameters);
51
- });
52
-
53
- it("defaults maxCandidates to 5 when match type is enhanced.", function () {
54
- let mockSender = new MockSender();
55
- const client = new Client(mockSender);
56
- let lookup = new Lookup();
57
- lookup.match = "enhanced";
58
- let expectedParameters = {
59
- match: "enhanced",
60
- candidates: 5,
61
- };
62
-
63
- client.send(lookup);
64
-
65
- expect(mockSender.request.parameters).to.deep.equal(expectedParameters);
66
- });
67
-
68
- it("doesn't send an empty batch.", function () {
69
- let mockSender = new MockSender();
70
- const client = new Client(mockSender);
71
- let batch = new Batch();
72
-
73
- expect(() => client.send(batch)).to.throw(errors.BatchEmptyError);
74
- });
75
-
76
- it("attaches a match candidate from a response to a lookup.", function () {
77
- const expectedMockPayload = [{delivery_line_1: "An address", input_index: 0}];
78
- let mockSender = new MockSenderWithResponse(expectedMockPayload);
79
- const client = new Client(mockSender);
80
- let lookup = new Lookup();
81
- let expectedResult = new Candidate({delivery_line_1: "An address", input_index: 0});
82
-
83
- return client.send(lookup).then(response => {
84
- expect(lookup.result[0]).to.deep.equal(expectedResult);
85
- });
86
- });
87
-
88
- it("attaches match candidates to their corresponding lookups.", function () {
89
- const expectedMockPayload = JSON.stringify([
90
- {delivery_line_1: "Address 0", input_index: 0},
91
- {delivery_line_1: "Alternate address 0", input_index: 0},
92
- {delivery_line_1: "Address 1", input_index: 1},
93
- {delivery_line_1: "Address 3", input_index: 3},
94
- ]);
95
- let mockSender = new MockSenderWithResponse(expectedMockPayload);
96
- let client = new Client(mockSender);
97
- let lookup0 = new Lookup();
98
- let lookup1 = new Lookup();
99
- let lookup2 = new Lookup();
100
- let lookup3 = new Lookup();
101
- let batch = new Batch();
102
-
103
- batch.add(lookup0);
104
- batch.add(lookup1);
105
- batch.add(lookup2);
106
- batch.add(lookup3);
107
-
108
- client.send(batch).then(response => {
109
- expect(batch.getByIndex(0).result[0].deliveryLine1).to.equal("Address 0");
110
- expect(batch.getByIndex(0).result[1].deliveryLine1).to.equal("Alternate address 0");
111
- expect(batch.getByIndex(1).result[0].deliveryLine1).to.equal("Address 1");
112
- expect(batch.getByIndex(2).result).to.deep.equal([]);
113
- expect(batch.getByIndex(3).result[0].deliveryLine1).to.equal("Address 3");
114
- });
115
- });
116
-
117
- it("rejects with an exception if the response comes back with an error.", function () {
118
- const expectedMockError = new Error("Stamn! She's a tough one!");
119
- let mockSender = new MockSenderWithResponse([], expectedMockError);
120
- let client = new Client(mockSender);
121
- let lookup = new Lookup();
122
-
123
- return client.send(lookup).catch((e) => {expect(e).to.equal(expectedMockError);});
124
- });
125
-
126
- it("throws an exception if a lookup is undefined.", function () {
127
- let mockSender = new MockSender();
128
- let client = new Client(mockSender);
129
-
130
- expect(() => client.send()).to.throw(errors.UndefinedLookupError);
131
- });
132
-
133
- it("attaches request parameters for batches with a single lookup and a request payload for batches with more than 1 lookup.", function () {
134
- let mockSender = new MockSender();
135
- let client = new Client(mockSender);
136
- let lookup1 = new Lookup("a");
137
- let lookup2 = new Lookup("b");
138
- let batch = new Batch();
139
-
140
- batch.add(lookup1);
141
- client.send(batch);
142
-
143
- expect(mockSender.request.parameters).not.to.deep.equal({});
144
-
145
- batch.add(lookup2);
146
- client.send(batch);
147
-
148
- expect(mockSender.request.payload).not.to.equal(undefined);
149
- });
150
- });