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.
- package/dist/cjs/AgentSender.cjs +1 -0
- package/dist/cjs/BaseUrlSender.cjs +1 -0
- package/dist/cjs/Batch.cjs +1 -0
- package/dist/cjs/ClientBuilder.cjs +1 -0
- package/dist/cjs/CustomHeaderSender.cjs +1 -0
- package/dist/cjs/Errors.cjs +1 -0
- package/dist/cjs/HttpSender.cjs +1 -0
- package/dist/cjs/InputData.cjs +1 -0
- package/dist/cjs/LicenseSender.cjs +1 -0
- package/dist/cjs/Request.cjs +1 -0
- package/dist/cjs/Response.cjs +1 -0
- package/dist/cjs/RetrySender.cjs +1 -0
- package/dist/cjs/SharedCredentials.cjs +1 -0
- package/dist/cjs/SigningSender.cjs +1 -0
- package/dist/cjs/StaticCredentials.cjs +1 -0
- package/dist/cjs/StatusCodeSender.cjs +1 -0
- package/dist/cjs/_virtual/Batch.cjs +1 -0
- package/dist/cjs/_virtual/Candidate.cjs +1 -0
- package/dist/cjs/_virtual/Candidate2.cjs +1 -0
- package/dist/cjs/_virtual/ClientBuilder.cjs +1 -0
- package/dist/cjs/_virtual/Errors.cjs +1 -0
- package/dist/cjs/_virtual/Lookup.cjs +1 -0
- package/dist/cjs/_virtual/Lookup2.cjs +1 -0
- package/dist/cjs/_virtual/Lookup3.cjs +1 -0
- package/dist/cjs/_virtual/Lookup4.cjs +1 -0
- package/dist/cjs/_virtual/Lookup5.cjs +1 -0
- package/dist/cjs/_virtual/Lookup6.cjs +1 -0
- package/dist/cjs/_virtual/Lookup7.cjs +1 -0
- package/dist/cjs/_virtual/Lookup8.cjs +1 -0
- package/dist/cjs/_virtual/Response.cjs +1 -0
- package/dist/cjs/_virtual/Result.cjs +1 -0
- package/dist/cjs/_virtual/Result2.cjs +1 -0
- package/dist/cjs/_virtual/SharedCredentials.cjs +1 -0
- package/dist/cjs/_virtual/StaticCredentials.cjs +1 -0
- package/dist/cjs/_virtual/Suggestion.cjs +1 -0
- package/dist/cjs/_virtual/Suggestion2.cjs +1 -0
- package/dist/cjs/_virtual/_axios.cjs +1 -0
- package/dist/cjs/_virtual/_commonjsHelpers.cjs +1 -0
- package/dist/cjs/_virtual/buildClients.cjs +1 -0
- package/dist/cjs/index.cjs +1 -0
- package/dist/cjs/international_address_autocomplete/Client.cjs +1 -0
- package/dist/cjs/international_address_autocomplete/Lookup.cjs +1 -0
- package/dist/cjs/international_address_autocomplete/Suggestion.cjs +1 -0
- package/dist/cjs/international_street/Candidate.cjs +1 -0
- package/dist/cjs/international_street/Client.cjs +1 -0
- package/dist/cjs/international_street/Lookup.cjs +1 -0
- package/dist/cjs/package.json.cjs +1 -0
- package/dist/cjs/us_autocomplete_pro/Client.cjs +1 -0
- package/dist/cjs/us_autocomplete_pro/Lookup.cjs +1 -0
- package/dist/cjs/us_autocomplete_pro/Suggestion.cjs +1 -0
- package/dist/cjs/us_enrichment/Client.cjs +1 -0
- package/dist/cjs/us_enrichment/Lookup.cjs +1 -0
- package/dist/cjs/us_enrichment/Response.cjs +1 -0
- package/dist/cjs/us_extract/Address.cjs +1 -0
- package/dist/cjs/us_extract/Client.cjs +1 -0
- package/dist/cjs/us_extract/Lookup.cjs +1 -0
- package/dist/cjs/us_extract/Result.cjs +1 -0
- package/dist/cjs/us_reverse_geo/Client.cjs +1 -0
- package/dist/cjs/us_reverse_geo/Lookup.cjs +1 -0
- package/dist/cjs/us_reverse_geo/Response.cjs +1 -0
- package/dist/cjs/us_reverse_geo/Result.cjs +1 -0
- package/dist/cjs/us_street/Candidate.cjs +1 -0
- package/dist/cjs/us_street/Client.cjs +1 -0
- package/dist/cjs/us_street/Lookup.cjs +1 -0
- package/dist/cjs/us_zipcode/Client.cjs +1 -0
- package/dist/cjs/us_zipcode/Lookup.cjs +1 -0
- package/dist/cjs/us_zipcode/Result.cjs +1 -0
- package/dist/cjs/util/Sleeper.cjs +1 -0
- package/dist/cjs/util/apiToSDKKeyMap.cjs +1 -0
- package/dist/cjs/util/buildClients.cjs +1 -0
- package/dist/cjs/util/buildInputData.cjs +1 -0
- package/dist/cjs/util/buildSmartyResponse.cjs +1 -0
- package/dist/cjs/util/sendBatch.cjs +1 -0
- package/dist/esm/AgentSender.mjs +1 -0
- package/dist/esm/BaseUrlSender.mjs +1 -0
- package/dist/esm/Batch.mjs +1 -0
- package/dist/esm/ClientBuilder.mjs +1 -0
- package/dist/esm/CustomHeaderSender.mjs +1 -0
- package/dist/esm/Errors.mjs +1 -0
- package/dist/esm/HttpSender.mjs +1 -0
- package/dist/esm/InputData.mjs +1 -0
- package/dist/esm/LicenseSender.mjs +1 -0
- package/dist/esm/Request.mjs +1 -0
- package/dist/esm/Response.mjs +1 -0
- package/dist/esm/RetrySender.mjs +1 -0
- package/dist/esm/SharedCredentials.mjs +1 -0
- package/dist/esm/SigningSender.mjs +1 -0
- package/dist/esm/StaticCredentials.mjs +1 -0
- package/dist/esm/StatusCodeSender.mjs +1 -0
- package/dist/esm/_virtual/Batch.mjs +1 -0
- package/dist/esm/_virtual/Candidate.mjs +1 -0
- package/dist/esm/_virtual/Candidate2.mjs +1 -0
- package/dist/esm/_virtual/ClientBuilder.mjs +1 -0
- package/dist/esm/_virtual/Errors.mjs +1 -0
- package/dist/esm/_virtual/Lookup.mjs +1 -0
- package/dist/esm/_virtual/Lookup2.mjs +1 -0
- package/dist/esm/_virtual/Lookup3.mjs +1 -0
- package/dist/esm/_virtual/Lookup4.mjs +1 -0
- package/dist/esm/_virtual/Lookup5.mjs +1 -0
- package/dist/esm/_virtual/Lookup6.mjs +1 -0
- package/dist/esm/_virtual/Lookup7.mjs +1 -0
- package/dist/esm/_virtual/Lookup8.mjs +1 -0
- package/dist/esm/_virtual/Response.mjs +1 -0
- package/dist/esm/_virtual/Result.mjs +1 -0
- package/dist/esm/_virtual/Result2.mjs +1 -0
- package/dist/esm/_virtual/SharedCredentials.mjs +1 -0
- package/dist/esm/_virtual/StaticCredentials.mjs +1 -0
- package/dist/esm/_virtual/Suggestion.mjs +1 -0
- package/dist/esm/_virtual/Suggestion2.mjs +1 -0
- package/dist/esm/_virtual/_axios.mjs +1 -0
- package/dist/esm/_virtual/_commonjsHelpers.mjs +1 -0
- package/dist/esm/_virtual/buildClients.mjs +1 -0
- package/dist/esm/index.mjs +1 -0
- package/dist/esm/international_address_autocomplete/Client.mjs +1 -0
- package/dist/esm/international_address_autocomplete/Lookup.mjs +1 -0
- package/dist/esm/international_address_autocomplete/Suggestion.mjs +1 -0
- package/dist/esm/international_street/Candidate.mjs +1 -0
- package/dist/esm/international_street/Client.mjs +1 -0
- package/dist/esm/international_street/Lookup.mjs +1 -0
- package/dist/esm/package.json.mjs +1 -0
- package/dist/esm/us_autocomplete_pro/Client.mjs +1 -0
- package/dist/esm/us_autocomplete_pro/Lookup.mjs +1 -0
- package/dist/esm/us_autocomplete_pro/Suggestion.mjs +1 -0
- package/dist/esm/us_enrichment/Client.mjs +1 -0
- package/dist/esm/us_enrichment/Lookup.mjs +1 -0
- package/dist/esm/us_enrichment/Response.mjs +1 -0
- package/dist/esm/us_extract/Address.mjs +1 -0
- package/dist/esm/us_extract/Client.mjs +1 -0
- package/dist/esm/us_extract/Lookup.mjs +1 -0
- package/dist/esm/us_extract/Result.mjs +1 -0
- package/dist/esm/us_reverse_geo/Client.mjs +1 -0
- package/dist/esm/us_reverse_geo/Lookup.mjs +1 -0
- package/dist/esm/us_reverse_geo/Response.mjs +1 -0
- package/dist/esm/us_reverse_geo/Result.mjs +1 -0
- package/dist/esm/us_street/Candidate.mjs +1 -0
- package/dist/esm/us_street/Client.mjs +1 -0
- package/dist/esm/us_street/Lookup.mjs +1 -0
- package/dist/esm/us_zipcode/Client.mjs +1 -0
- package/dist/esm/us_zipcode/Lookup.mjs +1 -0
- package/dist/esm/us_zipcode/Result.mjs +1 -0
- package/dist/esm/util/Sleeper.mjs +1 -0
- package/dist/esm/util/apiToSDKKeyMap.mjs +1 -0
- package/dist/esm/util/buildClients.mjs +1 -0
- package/dist/esm/util/buildInputData.mjs +1 -0
- package/dist/esm/util/buildSmartyResponse.mjs +1 -0
- package/dist/esm/util/sendBatch.mjs +1 -0
- package/package.json +26 -6
- package/.github/workflows/node-tests.yml +0 -27
- package/CHANGELOG.md +0 -5
- package/Makefile +0 -28
- package/examples/international_address_autocomplete.js +0 -58
- package/examples/international_street.js +0 -56
- package/examples/us_autocomplete_pro.js +0 -63
- package/examples/us_enrichment.js +0 -36
- package/examples/us_extract.js +0 -40
- package/examples/us_reverse_geo.js +0 -40
- package/examples/us_street.js +0 -73
- package/examples/us_zipcode.js +0 -57
- package/index.js +0 -41
- package/js-sdk-demo.cast +0 -95
- package/src/AgentSender.js +0 -16
- package/src/BaseUrlSender.js +0 -18
- package/src/Batch.js +0 -49
- package/src/ClientBuilder.js +0 -212
- package/src/CustomHeaderSender.js +0 -20
- package/src/Errors.js +0 -100
- package/src/HttpSender.js +0 -66
- package/src/InputData.js +0 -21
- package/src/LicenseSender.js +0 -20
- package/src/Request.js +0 -12
- package/src/Response.js +0 -10
- package/src/RetrySender.js +0 -50
- package/src/SharedCredentials.js +0 -13
- package/src/SigningSender.js +0 -26
- package/src/StaticCredentials.js +0 -13
- package/src/StatusCodeSender.js +0 -35
- package/src/international_address_autocomplete/Client.js +0 -41
- package/src/international_address_autocomplete/Lookup.js +0 -14
- package/src/international_address_autocomplete/Suggestion.js +0 -14
- package/src/international_street/Candidate.js +0 -153
- package/src/international_street/Client.js +0 -42
- package/src/international_street/Lookup.js +0 -85
- package/src/us_autocomplete_pro/Client.js +0 -41
- package/src/us_autocomplete_pro/Lookup.js +0 -29
- package/src/us_autocomplete_pro/Suggestion.js +0 -19
- package/src/us_enrichment/Client.js +0 -72
- package/src/us_enrichment/Lookup.js +0 -13
- package/src/us_enrichment/Response.js +0 -559
- package/src/us_extract/Address.js +0 -17
- package/src/us_extract/Client.js +0 -35
- package/src/us_extract/Lookup.js +0 -24
- package/src/us_extract/Result.js +0 -21
- package/src/us_reverse_geo/Client.js +0 -40
- package/src/us_reverse_geo/Lookup.js +0 -17
- package/src/us_reverse_geo/Response.js +0 -17
- package/src/us_reverse_geo/Result.js +0 -36
- package/src/us_street/Candidate.js +0 -89
- package/src/us_street/Client.js +0 -43
- package/src/us_street/Lookup.js +0 -25
- package/src/us_zipcode/Client.js +0 -39
- package/src/us_zipcode/Lookup.js +0 -16
- package/src/us_zipcode/Result.js +0 -45
- package/src/util/Sleeper.js +0 -8
- package/src/util/apiToSDKKeyMap.js +0 -75
- package/src/util/buildClients.js +0 -48
- package/src/util/buildInputData.js +0 -11
- package/src/util/buildSmartyResponse.js +0 -10
- package/src/util/sendBatch.js +0 -39
- package/tests/fixtures/MockSleeper.js +0 -10
- package/tests/fixtures/mock_senders.js +0 -43
- package/tests/international_address_autocomplete/test_Client.js +0 -86
- package/tests/international_address_autocomplete/test_Lookup.js +0 -55
- package/tests/international_street/test_Candidate.js +0 -268
- package/tests/international_street/test_Client.js +0 -70
- package/tests/international_street/test_Lookup.js +0 -108
- package/tests/test_AgentSender.js +0 -25
- package/tests/test_BaseUrlSender.js +0 -31
- package/tests/test_Batch.js +0 -73
- package/tests/test_CustomHeaderSender.js +0 -31
- package/tests/test_ExtractExample.js +0 -167
- package/tests/test_HttpSender.js +0 -93
- package/tests/test_LicenseSender.js +0 -40
- package/tests/test_RetrySender.js +0 -98
- package/tests/test_SigningSender.js +0 -56
- package/tests/test_StatusCodeSender.js +0 -95
- package/tests/us_autocomplete_pro/test_Client.js +0 -116
- package/tests/us_autocomplete_pro/test_Lookup.js +0 -11
- package/tests/us_autocomplete_pro/test_Suggestion.js +0 -24
- package/tests/us_enrichment/test_Client.js +0 -271
- package/tests/us_enrichment/test_Lookup.js +0 -22
- package/tests/us_enrichment/test_Response.js +0 -739
- package/tests/us_extract/test_Address.js +0 -67
- package/tests/us_extract/test_Client.js +0 -148
- package/tests/us_extract/test_Lookup.js +0 -19
- package/tests/us_extract/test_Result.js +0 -39
- package/tests/us_reverse_geo/test_Client.js +0 -48
- package/tests/us_reverse_geo/test_Lookup.js +0 -14
- package/tests/us_reverse_geo/test_Response.js +0 -44
- package/tests/us_street/test_Candidate.js +0 -133
- package/tests/us_street/test_Client.js +0 -150
- package/tests/us_street/test_Lookup.js +0 -29
- package/tests/us_zipcode/test_Client.js +0 -150
- package/tests/us_zipcode/test_Result.js +0 -81
|
@@ -1,116 +0,0 @@
|
|
|
1
|
-
const chai = require("chai");
|
|
2
|
-
const expect = chai.expect;
|
|
3
|
-
const Client = require("../../src/us_autocomplete_pro/Client");
|
|
4
|
-
const Lookup = require("../../src/us_autocomplete_pro/Lookup");
|
|
5
|
-
const Suggestion = require("../../src/us_autocomplete_pro/Suggestion");
|
|
6
|
-
const errors = require("../../src/Errors");
|
|
7
|
-
const MockSender = require("../fixtures/mock_senders").MockSender;
|
|
8
|
-
const MockSenderWithResponse = require("../fixtures/mock_senders").MockSenderWithResponse;
|
|
9
|
-
|
|
10
|
-
describe("A US Autocomplete Pro Client", function () {
|
|
11
|
-
it("correctly builds parameters for a prefix only lookup.", function () {
|
|
12
|
-
let mockSender = new MockSender();
|
|
13
|
-
let client = new Client(mockSender);
|
|
14
|
-
let search = '(>")>#';
|
|
15
|
-
let lookup = new Lookup(search);
|
|
16
|
-
let expectedParameters = {
|
|
17
|
-
exclude_states: "",
|
|
18
|
-
include_only_cities: "",
|
|
19
|
-
include_only_states: "",
|
|
20
|
-
include_only_zip_codes: "",
|
|
21
|
-
prefer_cities: "",
|
|
22
|
-
prefer_states: "",
|
|
23
|
-
prefer_zip_codes: "",
|
|
24
|
-
search: search,
|
|
25
|
-
};
|
|
26
|
-
|
|
27
|
-
client.send(lookup);
|
|
28
|
-
|
|
29
|
-
expect(mockSender.request.parameters).to.deep.equal(expectedParameters);
|
|
30
|
-
});
|
|
31
|
-
|
|
32
|
-
it("correctly builds parameters for a fully-populated lookup.", function () {
|
|
33
|
-
let mockSender = new MockSender();
|
|
34
|
-
let client = new Client(mockSender);
|
|
35
|
-
let lookup = new Lookup();
|
|
36
|
-
lookup.search = "1";
|
|
37
|
-
lookup.selected = "2";
|
|
38
|
-
lookup.maxResults = "3";
|
|
39
|
-
lookup.includeOnlyCities = ["a,b", "c,d"];
|
|
40
|
-
lookup.includeOnlyStates = ["e", "f"];
|
|
41
|
-
lookup.includeOnlyZIPCodes = ["g", "h"];
|
|
42
|
-
lookup.excludeStates = ["i", "j"];
|
|
43
|
-
lookup.preferCities = ["k,l", "m,n"];
|
|
44
|
-
lookup.preferStates = ["o", "p"];
|
|
45
|
-
lookup.preferZIPCodes = ["q", "r"];
|
|
46
|
-
lookup.preferRatio = "s";
|
|
47
|
-
lookup.preferGeolocation = "t";
|
|
48
|
-
lookup.source = "all";
|
|
49
|
-
|
|
50
|
-
let expectedParameters = {
|
|
51
|
-
search: "1",
|
|
52
|
-
selected: "2",
|
|
53
|
-
max_results: "3",
|
|
54
|
-
include_only_cities: "a,b;c,d",
|
|
55
|
-
include_only_states: "e;f",
|
|
56
|
-
include_only_zip_codes: "g;h",
|
|
57
|
-
exclude_states: "i;j",
|
|
58
|
-
prefer_cities: "k,l;m,n",
|
|
59
|
-
prefer_states: "o;p",
|
|
60
|
-
prefer_zip_codes: "q;r",
|
|
61
|
-
prefer_ratio: "s",
|
|
62
|
-
prefer_geolocation: "t",
|
|
63
|
-
source: "all",
|
|
64
|
-
};
|
|
65
|
-
|
|
66
|
-
client.send(lookup);
|
|
67
|
-
expect(mockSender.request.parameters).to.deep.equal(expectedParameters);
|
|
68
|
-
});
|
|
69
|
-
|
|
70
|
-
it("throws an error if sending without a lookup.", function () {
|
|
71
|
-
let mockSender = new MockSender();
|
|
72
|
-
let client = new Client(mockSender);
|
|
73
|
-
expect(client.send).to.throw(errors.UndefinedLookupError);
|
|
74
|
-
});
|
|
75
|
-
|
|
76
|
-
it("rejects with an exception if the response comes back with an error.", function () {
|
|
77
|
-
let expectedError = new Error("I'm the error.");
|
|
78
|
-
let mockSender = new MockSenderWithResponse("", expectedError);
|
|
79
|
-
let client = new Client(mockSender);
|
|
80
|
-
let lookup = new Lookup("¯\\_(ツ)_/¯");
|
|
81
|
-
|
|
82
|
-
return client.send(lookup).catch((e) => {expect(e).to.equal(expectedError);});
|
|
83
|
-
});
|
|
84
|
-
|
|
85
|
-
it("returns an empty array when no suggestions are returned.", () => {
|
|
86
|
-
let mockExpectedPayload = {suggestions: null};
|
|
87
|
-
let mockSender = new MockSenderWithResponse(mockExpectedPayload);
|
|
88
|
-
let client = new Client(mockSender);
|
|
89
|
-
let lookup = new Lookup("Please let this be easy to test.");
|
|
90
|
-
let expectedSuggestion = [];
|
|
91
|
-
|
|
92
|
-
return client.send(lookup).then(response => {
|
|
93
|
-
expect(lookup.result).to.deep.equal(expectedSuggestion);
|
|
94
|
-
});
|
|
95
|
-
});
|
|
96
|
-
|
|
97
|
-
it("attaches suggestions from a response to a lookup.", function () {
|
|
98
|
-
const responseData = {
|
|
99
|
-
streetLine: "a",
|
|
100
|
-
secondary: "b",
|
|
101
|
-
city: "c",
|
|
102
|
-
state: "d",
|
|
103
|
-
zipcode: "e",
|
|
104
|
-
entries: "f",
|
|
105
|
-
};
|
|
106
|
-
let mockExpectedPayload = {suggestions: [responseData]};
|
|
107
|
-
let mockSender = new MockSenderWithResponse(mockExpectedPayload);
|
|
108
|
-
let client = new Client(mockSender);
|
|
109
|
-
let lookup = new Lookup("Trevor the Vampire");
|
|
110
|
-
let expectedSuggestion = new Suggestion(responseData);
|
|
111
|
-
|
|
112
|
-
return client.send(lookup).then(response => {
|
|
113
|
-
expect(lookup.result[0]).to.deep.equal(expectedSuggestion);
|
|
114
|
-
});
|
|
115
|
-
})
|
|
116
|
-
});
|
|
@@ -1,11 +0,0 @@
|
|
|
1
|
-
const chai = require("chai");
|
|
2
|
-
const expect = chai.expect;
|
|
3
|
-
const Lookup = require("../../src/us_autocomplete_pro/Lookup");
|
|
4
|
-
|
|
5
|
-
describe("A US Autocomplete Pro Lookup", function () {
|
|
6
|
-
it("can be newed up with a prefix.", function () {
|
|
7
|
-
const expectedSearch = "a";
|
|
8
|
-
let lookup = new Lookup(expectedSearch);
|
|
9
|
-
expect(lookup.search).to.equal(expectedSearch);
|
|
10
|
-
});
|
|
11
|
-
});
|
|
@@ -1,24 +0,0 @@
|
|
|
1
|
-
const chai = require("chai");
|
|
2
|
-
const expect = chai.expect;
|
|
3
|
-
const Suggestion = require("../../src/us_autocomplete_pro/Suggestion");
|
|
4
|
-
|
|
5
|
-
describe("A US Autocomplete Pro Suggestion", function () {
|
|
6
|
-
it("is initialized correctly with API response data.", function () {
|
|
7
|
-
const mockSuggestion = {
|
|
8
|
-
street_line: "a",
|
|
9
|
-
secondary: "b",
|
|
10
|
-
city: "c",
|
|
11
|
-
state: "d",
|
|
12
|
-
zipcode: "e",
|
|
13
|
-
entries: "f",
|
|
14
|
-
};
|
|
15
|
-
let suggestion = new Suggestion(mockSuggestion);
|
|
16
|
-
|
|
17
|
-
expect(suggestion.streetLine).to.equal("a");
|
|
18
|
-
expect(suggestion.secondary).to.equal("b");
|
|
19
|
-
expect(suggestion.city).to.equal("c");
|
|
20
|
-
expect(suggestion.state).to.equal("d");
|
|
21
|
-
expect(suggestion.zipcode).to.equal("e");
|
|
22
|
-
expect(suggestion.entries).to.equal("f");
|
|
23
|
-
});
|
|
24
|
-
});
|
|
@@ -1,271 +0,0 @@
|
|
|
1
|
-
const chai = require("chai");
|
|
2
|
-
const expect = chai.expect;
|
|
3
|
-
const Client = require("../../src/us_enrichment/Client");
|
|
4
|
-
const Lookup = require("../../src/us_enrichment/Lookup");
|
|
5
|
-
const errors = require("../../src/Errors");
|
|
6
|
-
const MockSender = require("../fixtures/mock_senders").MockSender;
|
|
7
|
-
const MockSenderWithResponse = require("../fixtures/mock_senders").MockSenderWithResponse;
|
|
8
|
-
const {Response, FinancialResponse, GeoResponse} = require("../../src/us_enrichment/Response");
|
|
9
|
-
|
|
10
|
-
describe("A US Enrichment Client", function () {
|
|
11
|
-
it("composes principal url path properly", function () {
|
|
12
|
-
let mockSender = new MockSender();
|
|
13
|
-
let client = new Client(mockSender);
|
|
14
|
-
let smartyKey = "0";
|
|
15
|
-
let lookup = new Lookup(smartyKey);
|
|
16
|
-
|
|
17
|
-
client.sendPrincipal(lookup);
|
|
18
|
-
|
|
19
|
-
expect(mockSender.request.baseUrlParam).to.deep.equal("0/property/principal");
|
|
20
|
-
})
|
|
21
|
-
|
|
22
|
-
it("composes financial url path properly", function () {
|
|
23
|
-
let mockSender = new MockSender();
|
|
24
|
-
let client = new Client(mockSender);
|
|
25
|
-
let smartyKey = "0";
|
|
26
|
-
let lookup = new Lookup(smartyKey);
|
|
27
|
-
|
|
28
|
-
client.sendFinancial(lookup);
|
|
29
|
-
|
|
30
|
-
expect(mockSender.request.baseUrlParam).to.deep.equal("0/property/financial");
|
|
31
|
-
})
|
|
32
|
-
|
|
33
|
-
it("composes geo url path properly", function () {
|
|
34
|
-
let mockSender = new MockSender();
|
|
35
|
-
let client = new Client(mockSender);
|
|
36
|
-
let smartyKey = "0";
|
|
37
|
-
let lookup = new Lookup(smartyKey);
|
|
38
|
-
|
|
39
|
-
client.sendGeo(lookup);
|
|
40
|
-
|
|
41
|
-
expect(mockSender.request.baseUrlParam).to.deep.equal("0/geo-reference");
|
|
42
|
-
})
|
|
43
|
-
|
|
44
|
-
it("correctly builds parameters for a smartyKey only principal lookup.", function () {
|
|
45
|
-
let mockSender = new MockSender();
|
|
46
|
-
let client = new Client(mockSender);
|
|
47
|
-
let smartyKey = '(>")>#';
|
|
48
|
-
let include = "1";
|
|
49
|
-
let lookup = new Lookup(smartyKey, include);
|
|
50
|
-
let expectedParameters = {
|
|
51
|
-
include: include,
|
|
52
|
-
};
|
|
53
|
-
|
|
54
|
-
client.sendPrincipal(lookup);
|
|
55
|
-
|
|
56
|
-
expect(mockSender.request.parameters).to.deep.equal(expectedParameters);
|
|
57
|
-
});
|
|
58
|
-
|
|
59
|
-
it("correctly builds parameters for a smartyKey only financial lookup.", function () {
|
|
60
|
-
let mockSender = new MockSender();
|
|
61
|
-
let client = new Client(mockSender);
|
|
62
|
-
let smartyKey = '(>")>#';
|
|
63
|
-
let include = "1";
|
|
64
|
-
let lookup = new Lookup(smartyKey, include);
|
|
65
|
-
let expectedParameters = {
|
|
66
|
-
include: include,
|
|
67
|
-
};
|
|
68
|
-
|
|
69
|
-
client.sendFinancial(lookup);
|
|
70
|
-
|
|
71
|
-
expect(mockSender.request.parameters).to.deep.equal(expectedParameters);
|
|
72
|
-
});
|
|
73
|
-
|
|
74
|
-
it("correctly builds parameters for a smartyKey only geo lookup.", function () {
|
|
75
|
-
let mockSender = new MockSender();
|
|
76
|
-
let client = new Client(mockSender);
|
|
77
|
-
let smartyKey = '(>")>#';
|
|
78
|
-
let include = "1";
|
|
79
|
-
let lookup = new Lookup(smartyKey, include);
|
|
80
|
-
let expectedParameters = {
|
|
81
|
-
include: include,
|
|
82
|
-
};
|
|
83
|
-
|
|
84
|
-
client.sendGeo(lookup);
|
|
85
|
-
|
|
86
|
-
expect(mockSender.request.parameters).to.deep.equal(expectedParameters);
|
|
87
|
-
});
|
|
88
|
-
|
|
89
|
-
it("correctly builds parameters for a fully-populated principal lookup.", function () {
|
|
90
|
-
let mockSender = new MockSender();
|
|
91
|
-
let client = new Client(mockSender);
|
|
92
|
-
let lookup = new Lookup("0","1","2","3","4");
|
|
93
|
-
|
|
94
|
-
let expectedParameters = {
|
|
95
|
-
include: "1",
|
|
96
|
-
exclude: "2",
|
|
97
|
-
dataset: "3",
|
|
98
|
-
data_subset: "4",
|
|
99
|
-
};
|
|
100
|
-
|
|
101
|
-
client.sendPrincipal(lookup);
|
|
102
|
-
expect(mockSender.request.parameters).to.deep.equal(expectedParameters);
|
|
103
|
-
});
|
|
104
|
-
|
|
105
|
-
it("correctly builds parameters for a fully-populated financial lookup.", function () {
|
|
106
|
-
let mockSender = new MockSender();
|
|
107
|
-
let client = new Client(mockSender);
|
|
108
|
-
let lookup = new Lookup("0","1","2","3","4");
|
|
109
|
-
|
|
110
|
-
let expectedParameters = {
|
|
111
|
-
include: "1",
|
|
112
|
-
exclude: "2",
|
|
113
|
-
dataset: "3",
|
|
114
|
-
data_subset: "4",
|
|
115
|
-
};
|
|
116
|
-
|
|
117
|
-
client.sendFinancial(lookup);
|
|
118
|
-
expect(mockSender.request.parameters).to.deep.equal(expectedParameters);
|
|
119
|
-
});
|
|
120
|
-
|
|
121
|
-
it("correctly builds parameters for a fully-populated geo lookup.", function () {
|
|
122
|
-
let mockSender = new MockSender();
|
|
123
|
-
let client = new Client(mockSender);
|
|
124
|
-
let lookup = new Lookup("0","1","2","3","4");
|
|
125
|
-
|
|
126
|
-
let expectedParameters = {
|
|
127
|
-
include: "1",
|
|
128
|
-
exclude: "2",
|
|
129
|
-
dataset: "3",
|
|
130
|
-
data_subset: "4",
|
|
131
|
-
};
|
|
132
|
-
|
|
133
|
-
client.sendGeo(lookup);
|
|
134
|
-
expect(mockSender.request.parameters).to.deep.equal(expectedParameters);
|
|
135
|
-
});
|
|
136
|
-
|
|
137
|
-
it("throws an error if sending without a principal lookup.", function () {
|
|
138
|
-
let mockSender = new MockSender();
|
|
139
|
-
let client = new Client(mockSender);
|
|
140
|
-
expect(client.sendPrincipal).to.throw(errors.UndefinedLookupError);
|
|
141
|
-
});
|
|
142
|
-
|
|
143
|
-
it("throws an error if sending without a financial lookup.", function () {
|
|
144
|
-
let mockSender = new MockSender();
|
|
145
|
-
let client = new Client(mockSender);
|
|
146
|
-
expect(client.sendFinancial).to.throw(errors.UndefinedLookupError);
|
|
147
|
-
});
|
|
148
|
-
|
|
149
|
-
it("throws an error if sending without a geo lookup.", function () {
|
|
150
|
-
let mockSender = new MockSender();
|
|
151
|
-
let client = new Client(mockSender);
|
|
152
|
-
expect(client.sendGeo).to.throw(errors.UndefinedLookupError);
|
|
153
|
-
});
|
|
154
|
-
|
|
155
|
-
it("rejects with an exception if the principal response comes back with an error.", function () {
|
|
156
|
-
let expectedError = new Error("I'm the error.");
|
|
157
|
-
let mockSender = new MockSenderWithResponse("", expectedError);
|
|
158
|
-
let client = new Client(mockSender);
|
|
159
|
-
let lookup = new Lookup("¯\\_(ツ)_/¯");
|
|
160
|
-
|
|
161
|
-
return client.sendPrincipal(lookup).catch((e) => {expect(e).to.equal(expectedError);});
|
|
162
|
-
});
|
|
163
|
-
|
|
164
|
-
it("rejects with an exception if the financial response comes back with an error.", function () {
|
|
165
|
-
let expectedError = new Error("I'm the error.");
|
|
166
|
-
let mockSender = new MockSenderWithResponse("", expectedError);
|
|
167
|
-
let client = new Client(mockSender);
|
|
168
|
-
let lookup = new Lookup("¯\\_(ツ)_/¯");
|
|
169
|
-
|
|
170
|
-
return client.sendFinancial(lookup).catch((e) => {expect(e).to.equal(expectedError);});
|
|
171
|
-
});
|
|
172
|
-
|
|
173
|
-
it("rejects with an exception if the geo response comes back with an error.", function () {
|
|
174
|
-
let expectedError = new Error("I'm the error.");
|
|
175
|
-
let mockSender = new MockSenderWithResponse("", expectedError);
|
|
176
|
-
let client = new Client(mockSender);
|
|
177
|
-
let lookup = new Lookup("¯\\_(ツ)_/¯");
|
|
178
|
-
|
|
179
|
-
return client.sendGeo(lookup).catch((e) => {expect(e).to.equal(expectedError);});
|
|
180
|
-
});
|
|
181
|
-
|
|
182
|
-
it("returns an empty array when no principal respo are returned.", () => {
|
|
183
|
-
let mockSender = new MockSenderWithResponse({});
|
|
184
|
-
let client = new Client(mockSender);
|
|
185
|
-
let lookup = new Lookup("smartyKey");
|
|
186
|
-
|
|
187
|
-
return client.sendPrincipal(lookup).then(response => {
|
|
188
|
-
expect(lookup.response).to.deep.equal({});
|
|
189
|
-
});
|
|
190
|
-
});
|
|
191
|
-
|
|
192
|
-
it("returns an empty array when no financial suggestions are returned.", () => {
|
|
193
|
-
let mockSender = new MockSenderWithResponse({});
|
|
194
|
-
let client = new Client(mockSender);
|
|
195
|
-
let lookup = new Lookup("smartyKey");
|
|
196
|
-
|
|
197
|
-
return client.sendFinancial(lookup).then(response => {
|
|
198
|
-
expect(lookup.response).to.deep.equal({});
|
|
199
|
-
});
|
|
200
|
-
});
|
|
201
|
-
|
|
202
|
-
it("returns an empty array when no geo suggestions are returned.", () => {
|
|
203
|
-
let mockSender = new MockSenderWithResponse({});
|
|
204
|
-
let client = new Client(mockSender);
|
|
205
|
-
let lookup = new Lookup("smartyKey");
|
|
206
|
-
|
|
207
|
-
return client.sendGeo(lookup).then(response => {
|
|
208
|
-
expect(lookup.response).to.deep.equal({});
|
|
209
|
-
});
|
|
210
|
-
});
|
|
211
|
-
|
|
212
|
-
it("attaches response to a principal lookup.", function () {
|
|
213
|
-
const rawMockResponse = {
|
|
214
|
-
smarty_key: "a",
|
|
215
|
-
data_set_name: "b",
|
|
216
|
-
data_subset_name: "c",
|
|
217
|
-
attributes: {
|
|
218
|
-
assessed_improvement_percent: "1"
|
|
219
|
-
},
|
|
220
|
-
};
|
|
221
|
-
let mockResponse = new Response(rawMockResponse);
|
|
222
|
-
|
|
223
|
-
let mockSender = new MockSenderWithResponse(mockResponse);
|
|
224
|
-
let client = new Client(mockSender);
|
|
225
|
-
let lookup = new Lookup("smartyKey");
|
|
226
|
-
|
|
227
|
-
return client.sendPrincipal(lookup).then(response => {
|
|
228
|
-
expect(lookup.response).to.deep.equal(mockResponse);
|
|
229
|
-
});
|
|
230
|
-
})
|
|
231
|
-
|
|
232
|
-
it("attaches response to a financial lookup.", function () {
|
|
233
|
-
const rawMockResponse = {
|
|
234
|
-
smarty_key: "a",
|
|
235
|
-
data_set_name: "b",
|
|
236
|
-
data_subset_name: "c",
|
|
237
|
-
attributes: {
|
|
238
|
-
assessed_improvement_percent: "1"
|
|
239
|
-
},
|
|
240
|
-
};
|
|
241
|
-
let mockResponse = new FinancialResponse(rawMockResponse);
|
|
242
|
-
|
|
243
|
-
let mockSender = new MockSenderWithResponse(mockResponse);
|
|
244
|
-
let client = new Client(mockSender);
|
|
245
|
-
let lookup = new Lookup("smartyKey");
|
|
246
|
-
|
|
247
|
-
return client.sendFinancial(lookup).then(response => {
|
|
248
|
-
expect(lookup.response).to.deep.equal(mockResponse);
|
|
249
|
-
});
|
|
250
|
-
})
|
|
251
|
-
|
|
252
|
-
it("attaches response to a geo lookup.", function () {
|
|
253
|
-
const rawMockResponse = {
|
|
254
|
-
smarty_key: "a",
|
|
255
|
-
data_set_name: "b",
|
|
256
|
-
data_subset_name: "c",
|
|
257
|
-
attributes: {
|
|
258
|
-
assessed_improvement_percent: "1"
|
|
259
|
-
},
|
|
260
|
-
};
|
|
261
|
-
let mockResponse = new GeoResponse(rawMockResponse);
|
|
262
|
-
|
|
263
|
-
let mockSender = new MockSenderWithResponse(mockResponse);
|
|
264
|
-
let client = new Client(mockSender);
|
|
265
|
-
let lookup = new Lookup("smartyKey");
|
|
266
|
-
|
|
267
|
-
return client.sendGeo(lookup).then(response => {
|
|
268
|
-
expect(lookup.response).to.deep.equal(mockResponse);
|
|
269
|
-
});
|
|
270
|
-
})
|
|
271
|
-
});
|
|
@@ -1,22 +0,0 @@
|
|
|
1
|
-
const chai = require("chai");
|
|
2
|
-
const expect = chai.expect;
|
|
3
|
-
const Lookup = require("../../src/us_enrichment/Lookup");
|
|
4
|
-
|
|
5
|
-
describe("A US Enrichment Lookup", function () {
|
|
6
|
-
it("can be newed up with all basic fields.", function () {
|
|
7
|
-
const expectedSmartyKey = "a";
|
|
8
|
-
const expectedInclude = "b";
|
|
9
|
-
const expectedExclude = "c";
|
|
10
|
-
const expectedDataset = "d";
|
|
11
|
-
const expectedDataSubset = "e";
|
|
12
|
-
|
|
13
|
-
let lookup = new Lookup(expectedSmartyKey, expectedInclude, expectedExclude, expectedDataset, expectedDataSubset);
|
|
14
|
-
expect(lookup.smartyKey).to.equal(expectedSmartyKey);
|
|
15
|
-
expect(lookup.include).to.equal(expectedInclude);
|
|
16
|
-
expect(lookup.exclude).to.equal(expectedExclude);
|
|
17
|
-
expect(lookup.dataset).to.equal(expectedDataset);
|
|
18
|
-
expect(lookup.dataSubset).to.equal(expectedDataSubset);
|
|
19
|
-
});
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
});
|