Tooling update (#184)

* Use a common Makefile/build process

* Use ESLint with the pa11y lint config
This commit is contained in:
Rowan Manning
2017-03-21 13:41:46 +00:00
committed by GitHub
parent e27e129677
commit b24076abf1
39 changed files with 370 additions and 375 deletions

15
test/.eslintrc.js Normal file
View File

@@ -0,0 +1,15 @@
'use strict';
// Clone the main config
var config = module.exports = JSON.parse(JSON.stringify(require('../.eslintrc')));
// We use `this` all over the integration tests
config.rules['no-invalid-this'] = 'off';
// Because of our use of `this`, arrow functions
// aren't really gonna work in the integration tests
config.rules['prefer-arrow-callback'] = 'off';
// Disable max line length/statements
config.rules['max-len'] = 'off';
config.rules['max-statements'] = 'off';

View File

@@ -38,12 +38,15 @@ function createNavigator(baseUrl, store) {
json: opts.json || false,
qs: opts.query,
followAllRedirects: true
}, function(err, res, body) {
}, function(error, response, body) {
if (error) {
return callback(error);
}
store.body = body;
store.request = res.request;
store.response = res;
store.status = res.statusCode;
store.request = response.request;
store.response = response;
store.status = response.statusCode;
if (opts.nonDom) {
store.dom = null;

View File

@@ -21,11 +21,11 @@ const assert = require('proclaim');
describe.only('GET /', function() {
beforeEach(function(done) {
const req = {
const request = {
method: 'GET',
endpoint: '/'
};
this.navigate(req, done);
this.navigate(request, done);
});
it('should send a 200 status', function() {

View File

@@ -21,11 +21,11 @@ const assert = require('proclaim');
describe('GET /new', function() {
beforeEach(function(done) {
const req = {
const request = {
method: 'GET',
endpoint: '/new'
};
this.navigate(req, done);
this.navigate(request, done);
});
it('should send a 200 status', function() {
@@ -122,7 +122,7 @@ describe('POST /new', function() {
describe('with invalid query', function() {
beforeEach(function(done) {
const req = {
const request = {
method: 'POST',
endpoint: '/new',
form: {
@@ -130,7 +130,7 @@ describe('POST /new', function() {
url: ''
}
};
this.navigate(req, done);
this.navigate(request, done);
});
it('should send a 200 status', function() {
@@ -146,7 +146,7 @@ describe('POST /new', function() {
describe('with valid query', function() {
beforeEach(function(done) {
const req = {
const request = {
method: 'POST',
endpoint: '/new',
form: {
@@ -155,7 +155,7 @@ describe('POST /new', function() {
standard: 'WCAG2AA'
}
};
this.navigate(req, done);
this.navigate(request, done);
});
it('should send a 200 status', function() {
@@ -163,9 +163,9 @@ describe('POST /new', function() {
});
it('should create the task', function(done) {
this.webservice.tasks.get({}, function(err, tasks) {
this.webservice.tasks.get({}, function(error, tasks) {
assert.strictEqual(tasks.length, 4);
done();
done(error);
});
});

View File

@@ -21,12 +21,12 @@ const assert = require('proclaim');
describe('GET /<task-id>/<result-id>.csv', function() {
beforeEach(function(done) {
const req = {
const request = {
method: 'GET',
endpoint: '/abc000000000000000000001/def000000000000000000001.csv',
nonDom: true
};
this.navigate(req, done);
this.navigate(request, done);
});
it('should send a 200 status', function() {
@@ -42,13 +42,13 @@ describe('GET /<task-id>/<result-id>.csv', function() {
describe('GET /<task-id>/<result-id>.json', function() {
beforeEach(function(done) {
const req = {
const request = {
method: 'GET',
endpoint: '/abc000000000000000000001/def000000000000000000001.json',
nonDom: true,
json: true
};
this.navigate(req, done);
this.navigate(request, done);
});
it('should send a 200 status', function() {

View File

@@ -21,11 +21,11 @@ const assert = require('proclaim');
describe('GET /<task-id>/<result-id>', function() {
beforeEach(function(done) {
const req = {
const request = {
method: 'GET',
endpoint: '/abc000000000000000000001/def000000000000000000001'
};
this.navigate(req, done);
this.navigate(request, done);
});
it('should send a 200 status', function() {

View File

@@ -21,11 +21,11 @@ const assert = require('proclaim');
describe('GET /<task-id>/delete', function() {
beforeEach(function(done) {
const req = {
const request = {
method: 'GET',
endpoint: '/abc000000000000000000001/delete'
};
this.navigate(req, done);
this.navigate(request, done);
});
it('should send a 200 status', function() {
@@ -48,11 +48,11 @@ describe('GET /<task-id>/delete', function() {
describe('POST /<task-id>/delete', function() {
beforeEach(function(done) {
const req = {
const request = {
method: 'POST',
endpoint: '/abc000000000000000000001/delete'
};
this.navigate(req, done);
this.navigate(request, done);
});
it('should send a 200 status', function() {
@@ -60,8 +60,8 @@ describe('POST /<task-id>/delete', function() {
});
it('should delete the task', function(done) {
this.webservice.task('abc000000000000000000001').get({}, function(err) {
assert.strictEqual(err.message, 'Error 404');
this.webservice.task('abc000000000000000000001').get({}, function(error) {
assert.strictEqual(error.message, 'Error 404');
done();
});
});

View File

@@ -21,11 +21,11 @@ const assert = require('proclaim');
describe('GET /<task-id>/edit', function() {
beforeEach(function(done) {
const req = {
const request = {
method: 'GET',
endpoint: '/abc000000000000000000001/edit'
};
this.navigate(req, done);
this.navigate(request, done);
});
it('should send a 200 status', function() {
@@ -121,7 +121,7 @@ describe('GET /<task-id>/edit', function() {
describe('POST /<task-id>/edit', function() {
beforeEach(function(done) {
const req = {
const request = {
method: 'POST',
endpoint: '/abc000000000000000000001/edit',
form: {
@@ -131,7 +131,7 @@ describe('POST /<task-id>/edit', function() {
ignore: ['bar', 'baz']
}
};
this.navigate(req, done);
this.navigate(request, done);
});
it('should send a 200 status', function() {
@@ -139,12 +139,12 @@ describe('POST /<task-id>/edit', function() {
});
it('should edit the task', function(done) {
this.webservice.task('abc000000000000000000001').get({}, function(err, task) {
this.webservice.task('abc000000000000000000001').get({}, function(error, task) {
assert.strictEqual(task.name, 'foo');
assert.strictEqual(task.username, 'newuser');
assert.strictEqual(task.password, 'secure');
assert.deepEqual(task.ignore, ['bar', 'baz']);
done();
done(error);
});
});

View File

@@ -23,11 +23,11 @@ describe('GET /<task-id>', function() {
describe('when task has results', function() {
beforeEach(function(done) {
const req = {
const request = {
method: 'GET',
endpoint: '/abc000000000000000000001'
};
this.navigate(req, done);
this.navigate(request, done);
});
it('should send a 200 status', function() {
@@ -82,11 +82,11 @@ describe('GET /<task-id>', function() {
describe('when task has no results', function() {
beforeEach(function(done) {
const req = {
const request = {
method: 'GET',
endpoint: '/abc000000000000000000003'
};
this.navigate(req, done);
this.navigate(request, done);
});
it('should send a 200 status', function() {

View File

@@ -21,11 +21,11 @@ const assert = require('proclaim');
describe('GET /<task-id>/run', function() {
beforeEach(function(done) {
const req = {
const request = {
method: 'GET',
endpoint: '/abc000000000000000000001/run'
};
this.navigate(req, done);
this.navigate(request, done);
});
it('should send a 200 status', function() {

View File

@@ -40,8 +40,8 @@ afterEach(function(done) {
// Check that the test application is running, and exit if not
function assertTestAppIsRunning(url, done) {
request(url, err => {
if (err) {
request(url, error => {
if (error) {
console.error('Error: Test app not started; run with `NODE_ENV=test node index.js`');
process.exit(1);
}