Skip to content

Commit

Permalink
fix(eslint): resolve ESLint validation errors
Browse files Browse the repository at this point in the history
  • Loading branch information
Hans Kristian Flaatten committed Dec 6, 2016
1 parent a5f7147 commit 0a28bd0
Show file tree
Hide file tree
Showing 5 changed files with 47 additions and 44 deletions.
1 change: 1 addition & 0 deletions examples/app.js
Original file line number Diff line number Diff line change
@@ -1,4 +1,5 @@
/* eslint import/no-extraneous-dependencies: ["error", {"devDependencies": true}] */

'use strict';

const express = require('express');
Expand Down
1 change: 1 addition & 0 deletions examples/db.js
Original file line number Diff line number Diff line change
@@ -1,4 +1,5 @@
/* eslint import/no-extraneous-dependencies: ["error", {"devDependencies": true}] */

'use strict';

const EventEmitter = require('events').EventEmitter;
Expand Down
57 changes: 29 additions & 28 deletions examples/test.js
Original file line number Diff line number Diff line change
@@ -1,4 +1,5 @@
/* eslint import/no-extraneous-dependencies: ["error", {"devDependencies": true}] */

'use strict';

const assert = require('assert');
Expand All @@ -9,48 +10,48 @@ const app = request(require('./app'));
const db = require('./db');

describe('Example App', () => {
before(done => {
before((done) => {
if (db.db) { return done(); }
return db.once('ready', done);
});

before(done => {
before((done) => {
db.db.dropDatabase(done);
});

before(done => {
before((done) => {
db.db.collection('places').createIndex({ geojson: '2dsphere' }, done);
});

before(done => {
before((done) => {
db.db.collection('places').insertMany(data, done);
});

const url = '/api/places';

it('returns all them places', done => {
it('returns all them places', (done) => {
app.get(url)
.expect(200)
.expect(res => {
.expect((res) => {
assert.equal(res.body.length, 3);
})
.end(done);
});

it('returns places matching name', done => {
it('returns places matching name', (done) => {
app.get(`${url}?name=Vatnane`)
.expect(200)
.expect(res => {
.expect((res) => {
assert.equal(res.body.length, 1);
assert.equal(res.body[0].name, 'Vatnane');
})
.end(done);
});

it('returns places near point', done => {
it('returns places near point', (done) => {
app.get(`${url}?near=6.13037,61.00607`)
.expect(200)
.expect(res => {
.expect((res) => {
assert.equal(res.body.length, 3);
assert.equal(res.body[0].name, 'Solrenningen');
assert.equal(res.body[1].name, 'Åsedalen');
Expand All @@ -59,28 +60,28 @@ describe('Example App', () => {
.end(done);
});

it('returns places near point with max distance', done => {
it('returns places near point with max distance', (done) => {
app.get(`${url}?near=6.13037,61.00607,7000`)
.expect(200)
.expect(res => {
.expect((res) => {
assert.equal(res.body.length, 2);
assert.equal(res.body[0].name, 'Solrenningen');
assert.equal(res.body[1].name, 'Åsedalen');
})
.end(done);
});

it('returns places near point with max and min distance', done => {
it('returns places near point with max and min distance', (done) => {
app.get(`${url}?near=6.13037,61.00607,7000,1000`)
.expect(200)
.expect(res => {
.expect((res) => {
assert.equal(res.body.length, 1);
assert.equal(res.body[0].name, 'Åsedalen');
})
.end(done);
});

it('returns places inside bbox', done => {
it('returns places inside bbox', (done) => {
const bbox = [
'5.5419158935546875',
'60.92859723298985',
Expand All @@ -90,18 +91,18 @@ describe('Example App', () => {

app.get(`${url}?bbox=${bbox}`)
.expect(200)
.expect(res => {
.expect((res) => {
assert.equal(res.body.length, 2);
assert.equal(res.body[0].name, 'Norddalshytten');
assert.equal(res.body[1].name, 'Vardadalsbu');
})
.end(done);
});

it('returns places with any of the following tags', done => {
it('returns places with any of the following tags', (done) => {
app.get(`${url}?tags[]=Båt&tags[]=Stekeovn`)
.expect(200)
.expect(res => {
.expect((res) => {
assert.equal(res.body.length, 3);
assert.equal(res.body[0].name, 'Solrenningen');
assert.equal(res.body[1].name, 'Åsedalen');
Expand All @@ -110,50 +111,50 @@ describe('Example App', () => {
.end(done);
});

it('returns places with visits less than 40', done => {
it('returns places with visits less than 40', (done) => {
app.get(`${url}?visits=<40`)
.expect(200)
.expect(res => {
.expect((res) => {
assert.equal(res.body.length, 0);
})
.end(done);
});

it('returns places with visits less than or equal to 40', done => {
it('returns places with visits less than or equal to 40', (done) => {
app.get(`${url}?visits=<=40`)
.expect(200)
.expect(res => {
.expect((res) => {
assert.equal(res.body.length, 1);
assert.equal(res.body[0].name, 'Solrenningen');
})
.end(done);
});

it('returns places with visits greater than 10,000', done => {
it('returns places with visits greater than 10,000', (done) => {
app.get(`${url}?visits=>10000`)
.expect(200)
.expect(res => {
.expect((res) => {
assert.equal(res.body.length, 1);
assert.equal(res.body[0].name, 'Vardadalsbu');
})
.end(done);
});

it('returns places with visits > or equal to 10,000', done => {
it('returns places with visits > or equal to 10,000', (done) => {
app.get(`${url}?visits=>=10000`)
.expect(200)
.expect(res => {
.expect((res) => {
assert.equal(res.body.length, 2);
assert.equal(res.body[0].name, 'Åsedalen');
assert.equal(res.body[1].name, 'Vardadalsbu');
})
.end(done);
});

it('returns places with visits > 40 and < 10,000', done => {
it('returns places with visits > 40 and < 10,000', (done) => {
app.get(`${url}?visits=>40&visits=<10000`)
.expect(200)
.expect(res => {
.expect((res) => {
assert.equal(res.body.length, 3);
assert.equal(res.body[0].name, 'Norddalshytten');
assert.equal(res.body[1].name, 'Vatnane');
Expand Down
10 changes: 5 additions & 5 deletions index.js
Original file line number Diff line number Diff line change
Expand Up @@ -17,7 +17,7 @@ module.exports = function MongoQS(options) {

this.keyRegex = opts.keyRegex || /^[a-zæøå0-9-_.]+$/i;
this.valRegex = opts.valRegex || /[^a-zæøå0-9-_.* ]/i;
this.arrRegex = opts.arrRegex || /^[a-zæøå0-9-_.]+(\[\])?$/i;
this.arrRegex = opts.arrRegex || /^[a-zæøå0-9-_.]+(\[])?$/i;

if (this.custom.bbox) {
this.custom.bbox = this.customBBOX(this.custom.bbox);
Expand All @@ -34,7 +34,7 @@ module.exports = function MongoQS(options) {
return this;
};

module.exports.prototype.customBBOX = (field) => (query, bbox) => {
module.exports.prototype.customBBOX = field => (query, bbox) => {
const bboxArr = bbox.split(',');

if (bboxArr.length === 4) {
Expand Down Expand Up @@ -194,13 +194,13 @@ module.exports.prototype.parseStringVal = function parseStringVal(string) {
module.exports.prototype.parse = function parse(query) {
const res = {};

Object.keys(query).forEach(k => {
Object.keys(query).forEach((k) => {
let key = k;
const val = query[key];

// normalize array keys
if (val instanceof Array) {
key = key.replace(/\[\]$/, '');
key = key.replace(/\[]$/, '');
}

// whitelist
Expand Down Expand Up @@ -238,7 +238,7 @@ module.exports.prototype.parse = function parse(query) {
if (this.ops.indexOf('$in') >= 0 && val.length > 0) {
res[key] = {};

for (let i = 0; i < val.length; i++) {
for (let i = 0; i < val.length; i += 1) {
if (this.ops.indexOf(val[i][0]) >= 0) {
const parsed = this.parseString(val[i], true);

Expand Down
22 changes: 11 additions & 11 deletions test.js
Original file line number Diff line number Diff line change
Expand Up @@ -16,7 +16,7 @@ beforeEach(() => {

describe('customBBOX()', () => {
it('does not return $geoWithin query for invalid bbox', () => {
['0123', '0,1,2', '0,1,2,a'].forEach(bbox => {
['0123', '0,1,2', '0,1,2,a'].forEach((bbox) => {
mqs.customBBOX('gojson')(query, bbox);
assert.deepEqual(query, {});
});
Expand Down Expand Up @@ -45,14 +45,14 @@ describe('customBBOX()', () => {

describe('customNear()', () => {
it('does not return $near query for invalid point', () => {
['0123', '0,'].forEach(bbox => {
['0123', '0,'].forEach((bbox) => {
mqs.customNear('gojson')(query, bbox);
assert.deepEqual(query, {});
});
});

it('returns $near query for valid point', () => {
['0,1', '60.70908,10.37140'].forEach(point => {
['0,1', '60.70908,10.37140'].forEach((point) => {
mqs.customNear('geojson')(query, point);
assert.deepEqual(query, {
geojson: {
Expand All @@ -68,7 +68,7 @@ describe('customNear()', () => {
});

it('returns $near query with max distance', () => {
['0,1,2', '60.70908,10.37140,211.123'].forEach(point => {
['0,1,2', '60.70908,10.37140,211.123'].forEach((point) => {
const q = {};

mqs.customNear('geojson')(q, point);
Expand All @@ -87,7 +87,7 @@ describe('customNear()', () => {
});

it('returns $near query with max and min distance', () => {
['0,1,2,4', '60.70908,10.37140,211.123,321.456'].forEach(point => {
['0,1,2,4', '60.70908,10.37140,211.123,321.456'].forEach((point) => {
const q = {};

mqs.customNear('geojson')(q, point);
Expand All @@ -109,7 +109,7 @@ describe('customNear()', () => {

describe('customAfter()', () => {
it('does not return after query for invalid date', () => {
['foo', '2015-13-40'].forEach(date => {
['foo', '2015-13-40'].forEach((date) => {
mqs.customAfter('endret')(query, date);
assert.deepEqual(query, {});
});
Expand Down Expand Up @@ -149,7 +149,7 @@ describe('parseStringVal()', () => {
'true',
'TrUe',
'TRUE',
].forEach(val => {
].forEach((val) => {
it(`returns true for "${val}" string`, () => {
assert.strictEqual(mqs.parseStringVal(val), true);
});
Expand All @@ -166,7 +166,7 @@ describe('parseStringVal()', () => {
'false',
'FaLsE',
'FALSE',
].forEach(val => {
].forEach((val) => {
it(`returns false for "${val}" string`, () => {
assert.strictEqual(mqs.parseStringVal(val), false);
});
Expand Down Expand Up @@ -199,7 +199,7 @@ describe('parseStringVal()', () => {
' 1 ',
' 100 ',
' 000100 ',
].forEach(val => {
].forEach((val) => {
const ret = parseInt(val, 10);

it(`returns ${ret} for "${val}"`, () => {
Expand Down Expand Up @@ -235,7 +235,7 @@ describe('parseStringVal()', () => {
' 1.1 ',
' 100.99 ',
' 000100.0099 ',
].forEach(val => {
].forEach((val) => {
const ret = parseFloat(val, 10);

it(`returns ${ret} for "${val}"`, () => {
Expand Down Expand Up @@ -275,7 +275,7 @@ describe('parseStringVal()', () => {
'abc123',
'123abc',
'123abc123',
].forEach(val => {
].forEach((val) => {
it(`returns "${val}" for "${val}"`, () => {
assert.strictEqual(mqs.parseStringVal(val), val);
});
Expand Down

0 comments on commit 0a28bd0

Please sign in to comment.