229 lines
4.4 KiB
JavaScript
229 lines
4.4 KiB
JavaScript
// Try to get an access key to run all this test.
|
|
// If the file doesn't exist or it doesn't contain an access key, it
|
|
// should still run the basic tests; thus throwing an exception must
|
|
// be avoided.
|
|
try {
|
|
var accKey = require('./secrets').accKey;
|
|
} catch (e) {
|
|
console.log(e);
|
|
}
|
|
|
|
if (!accKey) {
|
|
return console.error("Need to include an access key in your secrets.js");
|
|
}
|
|
|
|
|
|
var Bing = require('../')({ accKey: accKey })
|
|
, should = require('should')
|
|
|
|
|
|
describe("Bing Web", function () {
|
|
|
|
this.timeout(1000 * 10);
|
|
|
|
it('works without options', function (done) {
|
|
|
|
Bing.web('monkey vs frog', function (err, res, body) {
|
|
|
|
should.not.exist(err);
|
|
should.exist(res);
|
|
should.exist(body);
|
|
body.webPages.value.should.have.length(50);
|
|
|
|
//TODO check it contains the right fields
|
|
done();
|
|
});
|
|
});
|
|
|
|
it('finds only 5 results', function (done) {
|
|
Bing.web('monkey vs frog',
|
|
{
|
|
top: 5,
|
|
market: 'en-US',
|
|
adult: 'Strict'
|
|
},
|
|
function (err, res, body) {
|
|
|
|
should.not.exist(err);
|
|
should.exist(res);
|
|
should.exist(body);
|
|
|
|
body.webPages.value.should.have.length(5);
|
|
|
|
done();
|
|
});
|
|
});
|
|
|
|
it('finds russian results', function(done){
|
|
Bing.web('"Sony Xperia Z3" смартфон',
|
|
{
|
|
top: 5,
|
|
skip: 0,
|
|
market: 'ru-RU'
|
|
},
|
|
function (err, res, body) {
|
|
|
|
should.not.exist(err);
|
|
should.exist(res);
|
|
should.exist(body);
|
|
|
|
body.webPages.value.should.have.length(5);
|
|
|
|
done();
|
|
});
|
|
|
|
})
|
|
|
|
});
|
|
|
|
|
|
describe("Bing Images", function () {
|
|
|
|
this.timeout(1000 * 10);
|
|
|
|
it('finds images with specific options', function (done) {
|
|
Bing.images('pizza',
|
|
{
|
|
top: 3,
|
|
adult: 'Off'
|
|
},
|
|
function (err, res, body) {
|
|
|
|
should.not.exist(err);
|
|
should.exist(res);
|
|
should.exist(body);
|
|
body.value.should.have.length(3);
|
|
|
|
done();
|
|
});
|
|
});
|
|
|
|
});
|
|
|
|
|
|
describe("Bing News", function () {
|
|
|
|
this.timeout(1000 * 10);
|
|
|
|
it('finds news with specific options', function (done) {
|
|
|
|
Bing.news('microsoft',
|
|
{
|
|
top: 5
|
|
},
|
|
function (err, res, body) {
|
|
|
|
//TODO try unaccepted options like imageFilters
|
|
|
|
should.not.exist(err);
|
|
should.exist(res);
|
|
should.exist(body);
|
|
|
|
body.value.should.be.instanceof(Array);
|
|
|
|
done();
|
|
});
|
|
});
|
|
|
|
});
|
|
|
|
|
|
describe("Bing Composite", function () {
|
|
|
|
this.timeout(1000 * 10);
|
|
|
|
it('finds composite search', function (done) {
|
|
|
|
Bing.composite('animal',
|
|
{
|
|
top: 1,
|
|
},
|
|
function (err, res, body) {
|
|
|
|
//TODO try unaccepted options like imageFilters
|
|
|
|
should.not.exist(err);
|
|
should.exist(res);
|
|
should.exist(body);
|
|
|
|
body.webPages.value.should.have.length(1);
|
|
|
|
done();
|
|
});
|
|
});
|
|
|
|
});
|
|
|
|
|
|
describe("Bing Video", function () {
|
|
|
|
this.timeout(1000 * 10);
|
|
|
|
it('finds videos with specific options', function (done) {
|
|
|
|
Bing.video('monkey vs frog',
|
|
{
|
|
top: 10
|
|
},
|
|
function (err, res, body) {
|
|
|
|
should.not.exist(err);
|
|
should.exist(res);
|
|
should.exist(body);
|
|
|
|
body.value.should.have.length(10);
|
|
|
|
//TODO try here unaccepted options like imageFilters
|
|
|
|
done();
|
|
});
|
|
});
|
|
});
|
|
|
|
|
|
describe("Bing Related Search", function () {
|
|
|
|
this.timeout(1000 * 10);
|
|
|
|
it('finds related search suggestions', function (done) {
|
|
|
|
Bing.relatedSearch('berlin',
|
|
{
|
|
top: 5,
|
|
market: 'en-US'
|
|
},
|
|
function (err, res, body) {
|
|
|
|
should.not.exist(err);
|
|
should.exist(res);
|
|
should.exist(body);
|
|
|
|
body.webPages.value.should.have.length(5);
|
|
|
|
done();
|
|
});
|
|
});
|
|
});
|
|
|
|
|
|
describe("Bing Spelling Suggestion", function () {
|
|
|
|
this.timeout(1000 * 10);
|
|
|
|
it('finds proper spelling', function (done) {
|
|
|
|
Bing.spelling('awsome spell',
|
|
function (err, res, body) {
|
|
|
|
should.not.exist(err);
|
|
should.exist(res);
|
|
should.exist(body);
|
|
|
|
// Find at leas one suggestion
|
|
body.flaggedTokens.suggestions.length.should.be.aboveOrEqual(1);
|
|
body.flaggedTokens.suggestions[0].suggestion.should.equal("awesome spell");
|
|
|
|
done();
|
|
});
|
|
});
|
|
});
|