Skip to content

Commit 5e36175

Browse files
author
Dan Tolbert
committed
add importTNChecker
1 parent 3270d2d commit 5e36175

File tree

5 files changed

+70
-3
lines changed

5 files changed

+70
-3
lines changed

lib/importTnChecker.js

Lines changed: 20 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,20 @@
1+
var Client = require("./client");
2+
var IMPORT_TN_CHECKER_PATH = "importTnChecker";
3+
4+
module.exports = {
5+
check: function(client, numbers, callback){
6+
if(arguments.length === 2){
7+
callback = numbers;
8+
numbers = client;
9+
client = new Client();
10+
}
11+
var data = {
12+
importTnCheckerPayload:{
13+
telephoneNumbers: {
14+
telephoneNumber:numbers
15+
}
16+
}
17+
};
18+
client.makeRequest("post", client.concatAccountPath(IMPORT_TN_CHECKER_PATH), data, callback);
19+
}
20+
};

lib/index.js

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -22,5 +22,6 @@ module.exports = {
2222
DiscNumber: require("./discNumber"),
2323
LsrOrder: require("./lsrOrder"),
2424
Lidbs: require("./lidbs"),
25-
Dlda: require("./dlda")
25+
Dlda: require("./dlda"),
26+
ImportTnChecker: require("./importTnChecker")
2627
};

test/importTnChecker.js

Lines changed: 45 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,45 @@
1+
var lib = require("../");
2+
var helper = require("./helper");
3+
var nock = require("nock");
4+
var ImportTnChecker = lib.ImportTnChecker;
5+
6+
describe("ImportTnChecker", function(){
7+
before(function(){
8+
nock.disableNetConnect();
9+
helper.setupGlobalOptions();
10+
});
11+
after(function(){
12+
nock.cleanAll();
13+
nock.enableNetConnect();
14+
});
15+
describe("#check", function(){
16+
it("should check numbers", function(done){
17+
var numbers = ["1111", "2222"];
18+
var data = {importTnCheckerPayload: {telephoneNumbers:{telephoneNumber: numbers}}};
19+
var span = helper.nock().post("/accounts/FakeAccountId/importTnChecker", helper.buildXml(data)).reply(200, helper.xml.importTnCheck, {"Content-Type": "application/xml"});
20+
ImportTnChecker.check(helper.createClient(), numbers, function(err, result){
21+
if(err){
22+
return done(err);
23+
}
24+
span.isDone().should.be.true;
25+
var erroredNumber = result.importTnCheckerPayload.importTnErrors.importTnError.telephoneNumbers.telephoneNumber;
26+
erroredNumber.toString().should.equal("2222");
27+
return done();
28+
});
29+
});
30+
it("should check numbers (with default client)", function(done){
31+
var numbers = ["1111", "2222"];
32+
var data = {importTnCheckerPayload: {telephoneNumbers:{telephoneNumber: numbers}}};
33+
var span = helper.nock().post("/accounts/FakeAccountId/importTnChecker", helper.buildXml(data)).reply(200, helper.xml.importTnCheck, {"Content-Type": "application/xml"});
34+
ImportTnChecker.check(numbers, function(err, result){
35+
if(err){
36+
return done(err);
37+
}
38+
span.isDone().should.be.true;
39+
var erroredNumber = result.importTnCheckerPayload.importTnErrors.importTnError.telephoneNumbers.telephoneNumber;
40+
erroredNumber.toString().should.equal("2222");
41+
return done();
42+
});
43+
});
44+
});
45+
});

test/mocha.opts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
11
--require should
2-
--reporter dot
2+
--reporter list
33
--recursive
44
--timeout 10s

test/xml.json

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -44,5 +44,6 @@
4444
"lidb" : "<?xml version=\"1.0\" encoding=\"UTF-8\" standalone=\"yes\"?><LidbOrder><CustomerOrderId>testCustomerOrderId</CustomerOrderId><orderId>255bda29-fc57-44e8-a6c2-59b45388c6d0</orderId> <OrderCreateDate>2014-05-28T14:46:21.724Z</OrderCreateDate><ProcessingStatus>RECEIVED</ProcessingStatus><CreatedByUser>jbm</CreatedByUser><LastModifiedDate>2014-02-20T19:33:17.600Z</LastModifiedDate><OrderCompleteDate>2014-02-20T19:33:17.600Z</OrderCompleteDate><ErrorList/><LidbTnGroups><LidbTnGroup><TelephoneNumbers><TelephoneNumber>4082213311</TelephoneNumber></TelephoneNumbers><FullNumber>8042105618</FullNumber><SubscriberInformation>Fred</SubscriberInformation><UseType>BUSINESS</UseType><Visibility>PRIVATE</Visibility></LidbTnGroup><LidbTnGroup><TelephoneNumbers><TelephoneNumber>4082212850</TelephoneNumber><TelephoneNumber>4082213310</TelephoneNumber></TelephoneNumbers><FullNumber>8042105760</FullNumber><SubscriberInformation>Fred</SubscriberInformation><UseType>RESIDENTIAL</UseType><Visibility>PUBLIC</Visibility></LidbTnGroup></LidbTnGroups></LidbOrder>",
4545
"dlda" : "<?xml version=\"1.0\" encoding=\"UTF-8\" standalone=\"yes\" ?><DldaOrderResponse><DldaOrder><CustomerOrderId>5a88d16d-f8a9-45c5-a5db-137d700c6a22</CustomerOrderId><OrderCreateDate>2014-07-10T12:38:11.833Z</OrderCreateDate><AccountId>14</AccountId><CreatedByUser>jbm</CreatedByUser><OrderId>ea9e90c2-77a4-4f82-ac47-e1c5bb1311f4</OrderId><LastModifiedDate>2014-07-10T12:38:11.833Z</LastModifiedDate><ProcessingStatus>RECEIVED</ProcessingStatus><DldaTnGroups><DldaTnGroup><TelephoneNumbers><TelephoneNumber>2053778335</TelephoneNumber><TelephoneNumber>2053865784</TelephoneNumber></TelephoneNumbers><AccountType>BUSINESS</AccountType><ListingType>LISTED</ListingType><ListingName><FirstName>Joe</FirstName><LastName>Smith</LastName></ListingName><ListAddress>true</ListAddress><Address><HouseNumber>12</HouseNumber><StreetName>ELM</StreetName><City>New York</City><StateCode>NY</StateCode><Zip>10007</Zip><Country>United States</Country><AddressType>Dlda</AddressType></Address></DldaTnGroup></DldaTnGroups></DldaOrder></DldaOrderResponse>",
4646
"dldas" : "<?xml version=\"1.0\" encoding=\"UTF-8\" standalone=\"yes\" ?><ResponseSelectWrapper><ListOrderIdUserIdDate><TotalCount>3</TotalCount><OrderIdUserIdDate><accountId>14</accountId><CountOfTNs>2</CountOfTNs><userId>team_ua</userId><lastModifiedDate>2014-07-07T10:06:43.427Z</lastModifiedDate><OrderType>dlda</OrderType><OrderDate>2014-07-07T10:06:43.427Z</OrderDate><orderId>37a6447c-1a0b-4be9-ba89-3f5cb0aea142</orderId><OrderStatus>FAILED</OrderStatus></OrderIdUserIdDate><OrderIdUserIdDate><accountId>14</accountId><CountOfTNs>2</CountOfTNs><userId>team_ua</userId><lastModifiedDate>2014-07-07T10:05:56.595Z</lastModifiedDate><OrderType>dlda</OrderType><OrderDate>2014-07-07T10:05:56.595Z</OrderDate><orderId>743b0e64-3350-42e4-baa6-406dac7f4a85</orderId><OrderStatus>RECEIVED</OrderStatus></OrderIdUserIdDate><OrderIdUserIdDate><accountId>14</accountId><CountOfTNs>2</CountOfTNs><userId>team_ua</userId><lastModifiedDate>2014-07-07T09:32:17.234Z</lastModifiedDate><OrderType>dlda</OrderType><OrderDate>2014-07-07T09:32:17.234Z</OrderDate><orderId>f71eb4d2-bfef-4384-957f-45cd6321185e</orderId><OrderStatus>RECEIVED</OrderStatus></OrderIdUserIdDate></ListOrderIdUserIdDate></ResponseSelectWrapper>",
47-
"siteOrders" : "<?xml version=\"1.0\" encoding=\"UTF-8\" standalone=\"yes\" ?><ResponseSelectWrapper><ListOrderIdUserIdDate><TotalCount>47</TotalCount><Links><first></first><next></next></Links><OrderIdUserIdDate><CountOfTNs>1</CountOfTNs><userId>jbm</userId><lastModifiedDate>2014-01-06T19:09:44.027Z</lastModifiedDate><OrderType>new_number</OrderType><OrderDate>2014-01-06T19:09:43.695Z</OrderDate><orderId>13c97416-9eee-4da3-aff8-ba85d1297ef2</orderId><OrderStatus>COMPLETE</OrderStatus><TelephoneNumberDetails><States><StateWithCount><State>VA</State><Count>1</Count></StateWithCount></States><RateCenters><RateCenterWithCount><Count>1</Count><RateCenter>GLOUCESTER</RateCenter></RateCenterWithCount></RateCenters><Cities><CityWithCount><City>GLOUCESTER</City><Count>1</Count></CityWithCount></Cities><Tiers><TierWithCount><Tier>0</Tier><Count>1</Count></TierWithCount></Tiers><Vendors><VendorWithCount><VendorId>49</VendorId><VendorName>Bandwidth CLEC</VendorName><Count>1</Count></VendorWithCount></Vendors></TelephoneNumberDetails></OrderIdUserIdDate></ListOrderIdUserIdDate></ResponseSelectWrapper>"
47+
"siteOrders" : "<?xml version=\"1.0\" encoding=\"UTF-8\" standalone=\"yes\" ?><ResponseSelectWrapper><ListOrderIdUserIdDate><TotalCount>47</TotalCount><Links><first></first><next></next></Links><OrderIdUserIdDate><CountOfTNs>1</CountOfTNs><userId>jbm</userId><lastModifiedDate>2014-01-06T19:09:44.027Z</lastModifiedDate><OrderType>new_number</OrderType><OrderDate>2014-01-06T19:09:43.695Z</OrderDate><orderId>13c97416-9eee-4da3-aff8-ba85d1297ef2</orderId><OrderStatus>COMPLETE</OrderStatus><TelephoneNumberDetails><States><StateWithCount><State>VA</State><Count>1</Count></StateWithCount></States><RateCenters><RateCenterWithCount><Count>1</Count><RateCenter>GLOUCESTER</RateCenter></RateCenterWithCount></RateCenters><Cities><CityWithCount><City>GLOUCESTER</City><Count>1</Count></CityWithCount></Cities><Tiers><TierWithCount><Tier>0</Tier><Count>1</Count></TierWithCount></Tiers><Vendors><VendorWithCount><VendorId>49</VendorId><VendorName>Bandwidth CLEC</VendorName><Count>1</Count></VendorWithCount></Vendors></TelephoneNumberDetails></OrderIdUserIdDate></ListOrderIdUserIdDate></ResponseSelectWrapper>",
48+
"importTnCheck": "<?xml version=\"1.0\" encoding=\"UTF-8\" standalone=\"yes\"?><ImportTnCheckerResponse><ImportTnCheckerPayload><TelephoneNumbers><TelephoneNumber>1111</TelephoneNumber></TelephoneNumbers><ImportTnErrors><ImportTnError><Code>19006</Code><Description>Bandwidth numbers cannot be imported by this account at this time.</Description><TelephoneNumbers><TelephoneNumber>2222</TelephoneNumber></TelephoneNumbers></ImportTnError></ImportTnErrors></ImportTnCheckerPayload></ImportTnCheckerResponse>"
4849
}

0 commit comments

Comments
 (0)