smartystreets-javascript-sdk
Version:
Quick and easy Smarty address validation.
133 lines (128 loc) • 4.97 kB
JavaScript
const chai = require("chai");
const expect = chai.expect;
const Candidate = require("../../src/us_street/Candidate");
describe("A match candidate", function () {
it("has populated fields.", function () {
const sampleResponse = {
input_index: 0,
candidate_index: 1,
addressee: "2",
delivery_line_1: "3",
delivery_line_2: "4",
last_line: "5",
delivery_point_barcode: "6",
smarty_key: "0000",
components: {
urbanization: "7",
primary_number: "8",
street_name: "9",
street_predirection: "10",
street_postdirection: "11",
street_suffix: "12",
secondary_number: "13",
secondary_designator: "14",
extra_secondary_number: "15",
extra_secondary_designator: "16",
pmb_designator: "17",
pmb_number: "18",
city_name: "19",
default_city_name: "20",
state_abbreviation: "21",
zipcode: "22",
plus4_code: "23",
delivery_point: "24",
delivery_point_check_digit: "25"
},
metadata: {
record_type: "26",
zip_type: "27",
county_fips: "28",
county_name: "29",
carrier_route: "30",
congressional_district: "31",
building_default_indicator: "32",
rdi: "33",
elot_sequence: "34",
elot_sort: "35",
latitude: 36.0,
longitude: 37.0,
coordinate_license: 1,
precision: "38",
time_zone: "39",
utc_offset: 40.0,
dst: "41",
ews_match: "47"
},
analysis: {
dpv_match_code: "42",
dpv_footnotes: "43",
dpv_cmra: "44",
dpv_vacant: "45",
active: "46",
footnotes: "48",
lacslink_code: "49",
lacslink_indicator: "50",
suitelink_match: "51",
dpv_no_stat: "52",
enhanced_match: "53",
}
};
const candidate = new Candidate(sampleResponse);
expect(candidate.inputIndex).to.equal(0);
expect(candidate.candidateIndex).to.equal(1);
expect(candidate.addressee).to.equal('2');
expect(candidate.deliveryLine1).to.equal('3');
expect(candidate.deliveryLine2).to.equal('4');
expect(candidate.lastLine).to.equal('5');
expect(candidate.deliveryPointBarcode).to.equal('6');
expect(candidate.smartyKey).to.equal('0000');
expect(candidate.components.urbanization).to.equal('7');
expect(candidate.components.primaryNumber).to.equal('8');
expect(candidate.components.streetName).to.equal('9');
expect(candidate.components.streetPredirection).to.equal('10');
expect(candidate.components.streetPostdirection).to.equal('11');
expect(candidate.components.streetSuffix).to.equal('12');
expect(candidate.components.secondaryNumber).to.equal('13');
expect(candidate.components.secondaryDesignator).to.equal('14');
expect(candidate.components.extraSecondaryNumber).to.equal('15');
expect(candidate.components.extraSecondaryDesignator).to.equal('16');
expect(candidate.components.pmbDesignator).to.equal('17');
expect(candidate.components.pmbNumber).to.equal('18');
expect(candidate.components.cityName).to.equal('19');
expect(candidate.components.defaultCityName).to.equal('20');
expect(candidate.components.state).to.equal('21');
expect(candidate.components.zipCode).to.equal('22');
expect(candidate.components.plus4Code).to.equal('23');
expect(candidate.components.deliveryPoint).to.equal('24');
expect(candidate.components.deliveryPointCheckDigit).to.equal('25');
expect(candidate.metadata.recordType).to.equal('26');
expect(candidate.metadata.zipType).to.equal('27');
expect(candidate.metadata.countyFips).to.equal('28');
expect(candidate.metadata.countyName).to.equal('29');
expect(candidate.metadata.carrierRoute).to.equal('30');
expect(candidate.metadata.congressionalDistrict).to.equal('31');
expect(candidate.metadata.buildingDefaultIndicator).to.equal('32');
expect(candidate.metadata.rdi).to.equal('33');
expect(candidate.metadata.elotSequence).to.equal('34');
expect(candidate.metadata.elotSort).to.equal('35');
expect(candidate.metadata.latitude).to.equal(36.0);
expect(candidate.metadata.longitude).to.equal(37.0);
expect(candidate.metadata.coordinateLicense).to.equal("SmartyStreets Proprietary");
expect(candidate.metadata.precision).to.equal('38');
expect(candidate.metadata.timeZone).to.equal('39');
expect(candidate.metadata.utcOffset).to.equal(40.0);
expect(candidate.metadata.obeysDst).to.equal('41');
expect(candidate.metadata.isEwsMatch).to.equal('47');
expect(candidate.analysis.dpvMatchCode).to.equal('42');
expect(candidate.analysis.dpvFootnotes).to.equal('43');
expect(candidate.analysis.cmra).to.equal('44');
expect(candidate.analysis.vacant).to.equal('45');
expect(candidate.analysis.active).to.equal('46');
expect(candidate.analysis.footnotes).to.equal('48');
expect(candidate.analysis.lacsLinkCode).to.equal('49');
expect(candidate.analysis.lacsLinkIndicator).to.equal('50');
expect(candidate.analysis.isSuiteLinkMatch).to.equal('51');
expect(candidate.analysis.noStat).to.equal('52');
expect(candidate.analysis.enhancedMatch).to.equal('53');
});
});