diff --git a/package-lock.json b/package-lock.json index ed31379..039c6bd 100644 --- a/package-lock.json +++ b/package-lock.json @@ -14,6 +14,7 @@ }, "devDependencies": { "chai": "^4.2.0", + "chai-as-promised": "^7.1.1", "license-check-and-add": "^3.0.4", "mocha": "^8.2.0", "sinon": "^9.2.0", @@ -547,6 +548,18 @@ "type-detect": "^4.0.5" } }, + "node_modules/chai-as-promised": { + "version": "7.1.1", + "resolved": "https://registry.npmjs.org/chai-as-promised/-/chai-as-promised-7.1.1.tgz", + "integrity": "sha512-azL6xMoi+uxu6z4rhWQ1jbdUhOMhis2PvscD/xjLqNMkv3BPPp2JyyuTHOrf9BOosGpNQ11v6BKv/g57RXbiaA==", + "dev": true, + "dependencies": { + "check-error": "^1.0.2" + }, + "peerDependencies": { + "chai": ">= 2.1.2 < 5" + } + }, "node_modules/chalk": { "version": "4.1.0", "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.0.tgz", @@ -3296,6 +3309,15 @@ "type-detect": "^4.0.5" } }, + "chai-as-promised": { + "version": "7.1.1", + "resolved": "https://registry.npmjs.org/chai-as-promised/-/chai-as-promised-7.1.1.tgz", + "integrity": "sha512-azL6xMoi+uxu6z4rhWQ1jbdUhOMhis2PvscD/xjLqNMkv3BPPp2JyyuTHOrf9BOosGpNQ11v6BKv/g57RXbiaA==", + "dev": true, + "requires": { + "check-error": "^1.0.2" + } + }, "chalk": { "version": "4.1.0", "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.0.tgz", diff --git a/package.json b/package.json index 328a6a4..bd0c77a 100644 --- a/package.json +++ b/package.json @@ -10,6 +10,7 @@ }, "devDependencies": { "chai": "^4.2.0", + "chai-as-promised": "^7.1.1", "license-check-and-add": "^3.0.4", "mocha": "^8.2.0", "sinon": "^9.2.0", diff --git a/test/serviceproviders.test.js b/test/serviceproviders.test.js index 6452dee..072570c 100644 --- a/test/serviceproviders.test.js +++ b/test/serviceproviders.test.js @@ -13,8 +13,11 @@ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License. */ -const expect = require('chai').expect -const assert = require('chai').assert +const chai = require('chai') +const expect = chai.expect +const chaiAsPromised = require("chai-as-promised") +chai.use(chaiAsPromised) + const request = require('supertest') const doipjs = require('../src') diff --git a/test/verify.test.js b/test/verify.test.js index 3553945..23151ba 100644 --- a/test/verify.test.js +++ b/test/verify.test.js @@ -13,8 +13,11 @@ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License. */ -const expect = require('chai').expect -const assert = require('chai').assert +const chai = require('chai') +const expect = chai.expect +const chaiAsPromised = require("chai-as-promised") +chai.use(chaiAsPromised) + const request = require('supertest') const doipjs = require('../src') @@ -24,29 +27,29 @@ describe('verify', () => { expect(doipjs.verify).to.have.length(3) }) it('should throw an error for non-valid URIs', () => { - expect(() => { doipjs.verify('noURI') }).to.throw('Not a valid URI') - expect(() => { doipjs.verify('domain.org') }).to.throw('Not a valid URI') + return expect(doipjs.verify('noURI')).to.eventually.be.rejectedWith('Not a valid URI') + return expect(doipjs.verify('domain.org')).to.eventually.be.rejectedWith('Not a valid URI') }) - it('should match "dns:domain.org" to the DNS service provider', () => { - const matches = doipjs.verify('dns:domain.org', null, {returnMatchesOnly: true}) + it('should match "dns:domain.org" to the DNS service provider', async () => { + const matches = await doipjs.verify('dns:domain.org', null, {returnMatchesOnly: true}) expect(matches).to.be.a('array') expect(matches).to.be.length(1) expect(matches[0].serviceprovider.name).to.be.equal('domain') }) - it('should match "xmpp:alice@domain.org" to the XMPP service provider', () => { - const matches = doipjs.verify('xmpp:alice@domain.org', null, {returnMatchesOnly: true}) + it('should match "xmpp:alice@domain.org" to the XMPP service provider', async () => { + const matches = await doipjs.verify('xmpp:alice@domain.org', null, {returnMatchesOnly: true}) expect(matches).to.be.a('array') expect(matches).to.be.length(1) expect(matches[0].serviceprovider.name).to.be.equal('xmpp') }) - it('should match "https://twitter.com/alice/status/1234567890123456789" to the Twitter service provider', () => { - const matches = doipjs.verify('https://twitter.com/alice/status/1234567890123456789', null, {returnMatchesOnly: true}) + it('should match "https://twitter.com/alice/status/1234567890123456789" to the Twitter service provider', async () => { + const matches = await doipjs.verify('https://twitter.com/alice/status/1234567890123456789', null, {returnMatchesOnly: true}) expect(matches).to.be.a('array') expect(matches).to.be.length(1) expect(matches[0].serviceprovider.name).to.be.equal('twitter') }) - it('should match "https://news.ycombinator.com/user?id=Alice" to the Hackernews service provider', () => { - const matches = doipjs.verify('https://news.ycombinator.com/user?id=Alice', null, {returnMatchesOnly: true}) + it('should match "https://news.ycombinator.com/user?id=Alice" to the Hackernews service provider', async () => { + const matches = await doipjs.verify('https://news.ycombinator.com/user?id=Alice', null, {returnMatchesOnly: true}) expect(matches).to.be.a('array') expect(matches).to.be.length(1) expect(matches[0].serviceprovider.name).to.be.equal('hackernews')