|
1 | | -"use strict" |
| 1 | +"use strict"; |
2 | 2 |
|
3 | 3 | var chai = require('chai'); |
4 | 4 | var mocha = require('mocha'); |
5 | 5 | var nock = require('nock'); |
6 | 6 | var fs = require('fs'); |
7 | 7 |
|
8 | 8 | var Api = require("../lib/Api"); |
| 9 | +var addressSimilarity = require("../lib/addressSimilarity"); |
9 | 10 | var language = require("../lib/language"); |
10 | 11 | var relationships = require("../lib/relationships"); |
11 | 12 | var nameDeduplication = require("../lib/nameDeduplication"); |
@@ -143,6 +144,55 @@ describe("Relationships Endpoint", function() { |
143 | 144 | }); |
144 | 145 | }); |
145 | 146 |
|
| 147 | +describe("Address Similarity Endpoint", function() { |
| 148 | + beforeEach(function(done) { |
| 149 | + var mockResponse = JSON.stringify({'name': 'Rosette API', 'versionChecked': true}); |
| 150 | + |
| 151 | + nock('https://api.rosette.com', {"encodedQueryParams": true }) |
| 152 | + .post('/rest/v1/info') |
| 153 | + .query({"clientVersion": "1.14.3"}) |
| 154 | + .reply(200, JSON.parse(mockResponse)); |
| 155 | + |
| 156 | + nock('https://api.rosette.com', {"encodedQueryParams": true }) |
| 157 | + .post('/rest/v1/address-similarity') |
| 158 | + .query({"clientVersion": "1.14.3"}) |
| 159 | + .reply(200, JSON.parse(mockResponse)); |
| 160 | + done(); |
| 161 | + }); |
| 162 | + |
| 163 | + afterEach(function(done) { |
| 164 | + nock.cleanAll(); |
| 165 | + done(); |
| 166 | + }); |
| 167 | + |
| 168 | + it("successfully calls the address similarity endpoint", function(done) { |
| 169 | + var api = new Api('123456789', 'https://api.rosette.com/rest/v1'); |
| 170 | + |
| 171 | + api.parameters.address1 = {"city": "cambridge", "state": "ma"}; |
| 172 | + api.parameters.address2 = {"city": "Cambridge", "road": "1 Kendall sq."}; |
| 173 | + |
| 174 | + api.rosette("addressSimilarity", function(err, res) { |
| 175 | + chai.expect(err).to.be.null; |
| 176 | + chai.expect(res.name).to.equal('Rosette API'); |
| 177 | + done(); |
| 178 | + }); |
| 179 | + |
| 180 | + }); |
| 181 | + |
| 182 | + it("detects missing name parameter", function(done) { |
| 183 | + var api = new Api('123456789', 'https://api.rosette.com/rest/v1'); |
| 184 | + |
| 185 | + api.parameters.address1 = {"city": "cambridge", "state": "ma"}; |
| 186 | + |
| 187 | + api.rosette("addressSimilarity", function(err, res) { |
| 188 | + chai.expect(err).to.not.be.null; |
| 189 | + chai.expect(err.name).to.equal('RosetteException'); |
| 190 | + chai.expect(err.message).to.contain('badArgument'); |
| 191 | + done(); |
| 192 | + }); |
| 193 | + }); |
| 194 | +}); |
| 195 | + |
146 | 196 | describe("Name Deduplication Endpoint", function() { |
147 | 197 | beforeEach(function(done) { |
148 | 198 | var mockResponse = JSON.stringify({'name': 'Rosette API', 'versionChecked': true}); |
@@ -1047,4 +1097,3 @@ describe("Topics Endpoint", function() { |
1047 | 1097 | }); |
1048 | 1098 | }); |
1049 | 1099 | }); |
1050 | | - |
|
0 commit comments