Skip to content

Commit

Permalink
test: switch tests to jest
Browse files Browse the repository at this point in the history
  • Loading branch information
jonathanong committed Aug 18, 2021
1 parent 596cfd5 commit 4545b59
Show file tree
Hide file tree
Showing 73 changed files with 9,537 additions and 10,401 deletions.
2 changes: 1 addition & 1 deletion .github/workflows/node.js.yml
Original file line number Diff line number Diff line change
Expand Up @@ -23,5 +23,5 @@ jobs:
node-version: ${{ matrix.node-version }}
- run: npm ci
- run: npm run lint
- run: npm run test-cov
- run: npm test -- --coverage --maxWorkers 2
- run: npx codecov
2 changes: 1 addition & 1 deletion test/.eslintrc.yml → __tests__/.eslintrc.yml
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
env:
mocha: true
jest: true

rules:
space-before-blocks: [2, {functions: never, keywords: always}]
Expand Down
File renamed without changes.
File renamed without changes.
File renamed without changes.
40 changes: 9 additions & 31 deletions test/application/onerror.js → __tests__/application/onerror.js
Original file line number Diff line number Diff line change
Expand Up @@ -3,11 +3,8 @@

const assert = require('assert');
const Koa = require('../..');
const mm = require('mm');

describe('app.onerror(err)', () => {
afterEach(mm.restore);

it('should throw an error if a non-error is given', () => {
const app = new Koa();

Expand All @@ -34,21 +31,21 @@ describe('app.onerror(err)', () => {

err.status = 404;

let called = false;
mm(console, 'error', () => { called = true; });
const spy = jest.spyOn(console, 'error');
app.onerror(err);
assert(!called);
expect(spy).not.toHaveBeenCalled();
spy.mockRestore();
});

it('should do nothing if .silent', () => {
const app = new Koa();
app.silent = true;
const err = new Error();

let called = false;
mm(console, 'error', () => { called = true; });
const spy = jest.spyOn(console, 'error');
app.onerror(err);
assert(!called);
expect(spy).not.toHaveBeenCalled();
spy.mockRestore();
});

it('should log the error to stderr', () => {
Expand All @@ -58,28 +55,9 @@ describe('app.onerror(err)', () => {
const err = new Error();
err.stack = 'Foo';

let msg = '';
mm(console, 'error', input => {
if (input) msg = input;
});
app.onerror(err);
assert(msg === '\n Foo\n');
});

it('should use err.toString() instead of err.stack', () => {
const app = new Koa();
app.env = 'dev';

const err = new Error('mock stack null');
err.stack = null;

app.onerror(err);

let msg = '';
mm(console, 'error', input => {
if (input) msg = input;
});
const spy = jest.spyOn(console, 'error');
app.onerror(err);
assert(msg === '\n Error: mock stack null\n');
expect(spy).toHaveBeenCalled();
spy.mockRestore();
});
});
File renamed without changes.
Original file line number Diff line number Diff line change
Expand Up @@ -189,7 +189,7 @@ describe('app.respond', () => {
.head('/')
.expect(200);

assert.strictEqual(res.header['content-length'], length);
assert.strictEqual(~~res.header['content-length'], length);
assert(!res.text);
});

Expand Down
File renamed without changes.
File renamed without changes.
File renamed without changes.
2 changes: 1 addition & 1 deletion test/context/assert.js → __tests__/context/assert.js
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@

'use strict';

const context = require('../helpers/context');
const context = require('../../test-helpers/context');
const assert = require('assert');

describe('ctx.assert(value, status)', () => {
Expand Down
File renamed without changes.
2 changes: 1 addition & 1 deletion test/context/inspect.js → __tests__/context/inspect.js
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@
const prototype = require('../../lib/context');
const assert = require('assert');
const util = require('util');
const context = require('../helpers/context');
const context = require('../../test-helpers/context');

describe('ctx.inspect()', () => {
it('should return a json representation', () => {
Expand Down
4 changes: 2 additions & 2 deletions test/context/onerror.js → __tests__/context/onerror.js
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@
const assert = require('assert');
const request = require('supertest');
const Koa = require('../..');
const context = require('../helpers/context');
const context = require('../../test-helpers/context');

describe('ctx.onerror(err)', () => {
it('should respond', () => {
Expand Down Expand Up @@ -276,7 +276,7 @@ describe('ctx.onerror(err)', () => {
const app = new Koa();

app.on('error', err => {
assert.strictEqual(err, 'Error: non-error thrown: {"key":"value"}');
assert.strictEqual(err.message, 'non-error thrown: {"key":"value"}');
done();
});

Expand Down
File renamed without changes.
2 changes: 1 addition & 1 deletion test/context/throw.js → __tests__/context/throw.js
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@

'use strict';

const context = require('../helpers/context');
const context = require('../../test-helpers/context');
const assert = require('assert');

describe('ctx.throw(msg)', () => {
Expand Down
2 changes: 1 addition & 1 deletion test/context/toJSON.js → __tests__/context/toJSON.js
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@
'use strict';

const assert = require('assert');
const context = require('../helpers/context');
const context = require('../../test-helpers/context');

describe('ctx.toJSON()', () => {
it('should return a json representation', () => {
Expand Down
4 changes: 2 additions & 2 deletions test/load-with-esm.js → __tests__/load-with-esm.js
Original file line number Diff line number Diff line change
Expand Up @@ -2,8 +2,8 @@ const assert = require('assert');

let importESM = () => {};

describe('Load with esm', () => {
before(function(){
describe.skip('Load with esm', () => {
beforeAll(function(){
// ESM support is flagged on v12.x.
const majorVersion = +process.version.split('.')[0].slice(1);
if (majorVersion < 12) {
Expand Down
2 changes: 1 addition & 1 deletion test/request/accept.js → __tests__/request/accept.js
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@

const Accept = require('accepts');
const assert = require('assert');
const context = require('../helpers/context');
const context = require('../../test-helpers/context');

describe('ctx.accept', () => {
it('should return an Accept instance', () => {
Expand Down
2 changes: 1 addition & 1 deletion test/request/accepts.js → __tests__/request/accepts.js
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@
'use strict';

const assert = require('assert');
const context = require('../helpers/context');
const context = require('../../test-helpers/context');

describe('ctx.accepts(types)', () => {
describe('with no arguments', () => {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@
'use strict';

const assert = require('assert');
const context = require('../helpers/context');
const context = require('../../test-helpers/context');

describe('ctx.acceptsCharsets()', () => {
describe('with no arguments', () => {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@
'use strict';

const assert = require('assert');
const context = require('../helpers/context');
const context = require('../../test-helpers/context');

describe('ctx.acceptsEncodings()', () => {
describe('with no arguments', () => {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@
'use strict';

const assert = require('assert');
const context = require('../helpers/context');
const context = require('../../test-helpers/context');

describe('ctx.acceptsLanguages(langs)', () => {
describe('with no arguments', () => {
Expand Down
2 changes: 1 addition & 1 deletion test/request/charset.js → __tests__/request/charset.js
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@

'use strict';

const request = require('../helpers/context').request;
const request = require('../../test-helpers/context').request;
const assert = require('assert');

describe('req.charset', () => {
Expand Down
2 changes: 1 addition & 1 deletion test/request/fresh.js → __tests__/request/fresh.js
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@
'use strict';

const assert = require('assert');
const context = require('../helpers/context');
const context = require('../../test-helpers/context');

describe('ctx.fresh', () => {
describe('the request method is not GET and HEAD', () => {
Expand Down
2 changes: 1 addition & 1 deletion test/request/get.js → __tests__/request/get.js
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@
'use strict';

const assert = require('assert');
const context = require('../helpers/context');
const context = require('../../test-helpers/context');

describe('ctx.get(name)', () => {
it('should return the field value', () => {
Expand Down
2 changes: 1 addition & 1 deletion test/request/header.js → __tests__/request/header.js
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@
'use strict';

const assert = require('assert');
const request = require('../helpers/context').request;
const request = require('../../test-helpers/context').request;

describe('req.header', () => {
it('should return the request header object', () => {
Expand Down
2 changes: 1 addition & 1 deletion test/request/headers.js → __tests__/request/headers.js
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@
'use strict';

const assert = require('assert');
const request = require('../helpers/context').request;
const request = require('../../test-helpers/context').request;

describe('req.headers', () => {
it('should return the request header object', () => {
Expand Down
2 changes: 1 addition & 1 deletion test/request/host.js → __tests__/request/host.js
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@

'use strict';

const request = require('../helpers/context').request;
const request = require('../../test-helpers/context').request;
const assert = require('assert');

describe('req.host', () => {
Expand Down
2 changes: 1 addition & 1 deletion test/request/hostname.js → __tests__/request/hostname.js
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@

'use strict';

const request = require('../helpers/context').request;
const request = require('../../test-helpers/context').request;
const assert = require('assert');

describe('req.hostname', () => {
Expand Down
2 changes: 1 addition & 1 deletion test/request/href.js → __tests__/request/href.js
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@ const assert = require('assert');
const Stream = require('stream');
const http = require('http');
const Koa = require('../../');
const context = require('../helpers/context');
const context = require('../../test-helpers/context');

describe('ctx.href', () => {
it('should return the full request url', () => {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@
'use strict';

const assert = require('assert');
const request = require('../helpers/context').request;
const request = require('../../test-helpers/context').request;

describe('ctx.idempotent', () => {
describe('when the request method is idempotent', () => {
Expand Down
2 changes: 1 addition & 1 deletion test/request/inspect.js → __tests__/request/inspect.js
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@

'use strict';

const request = require('../helpers/context').request;
const request = require('../../test-helpers/context').request;
const assert = require('assert');
const util = require('util');

Expand Down
2 changes: 1 addition & 1 deletion test/request/ip.js → __tests__/request/ip.js
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@
const assert = require('assert');
const Stream = require('stream');
const Koa = require('../..');
const Request = require('../helpers/context').request;
const Request = require('../../test-helpers/context').request;

describe('req.ip', () => {
describe('with req.ips present', () => {
Expand Down
2 changes: 1 addition & 1 deletion test/request/ips.js → __tests__/request/ips.js
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@
'use strict';

const assert = require('assert');
const request = require('../helpers/context').request;
const request = require('../../test-helpers/context').request;

describe('req.ips', () => {
describe('when X-Forwarded-For is present', () => {
Expand Down
2 changes: 1 addition & 1 deletion test/request/is.js → __tests__/request/is.js
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@

'use strict';

const context = require('../helpers/context');
const context = require('../../test-helpers/context');
const assert = require('assert');

describe('ctx.is(type)', () => {
Expand Down
2 changes: 1 addition & 1 deletion test/request/length.js → __tests__/request/length.js
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@

'use strict';

const request = require('../helpers/context').request;
const request = require('../../test-helpers/context').request;
const assert = require('assert');

describe('ctx.length', () => {
Expand Down
2 changes: 1 addition & 1 deletion test/request/origin.js → __tests__/request/origin.js
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@

const assert = require('assert');
const Stream = require('stream');
const context = require('../helpers/context');
const context = require('../../test-helpers/context');

describe('ctx.origin', () => {
it('should return the origin of url', () => {
Expand Down
2 changes: 1 addition & 1 deletion test/request/path.js → __tests__/request/path.js
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@
'use strict';

const assert = require('assert');
const context = require('../helpers/context');
const context = require('../../test-helpers/context');
const parseurl = require('parseurl');

describe('ctx.path', () => {
Expand Down
2 changes: 1 addition & 1 deletion test/request/protocol.js → __tests__/request/protocol.js
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@
'use strict';

const assert = require('assert');
const request = require('../helpers/context').request;
const request = require('../../test-helpers/context').request;

describe('req.protocol', () => {
describe('when encrypted', () => {
Expand Down
2 changes: 1 addition & 1 deletion test/request/query.js → __tests__/request/query.js
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@
'use strict';

const assert = require('assert');
const context = require('../helpers/context');
const context = require('../../test-helpers/context');

describe('ctx.query', () => {
describe('when missing', () => {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@
'use strict';

const assert = require('assert');
const context = require('../helpers/context');
const context = require('../../test-helpers/context');
const parseurl = require('parseurl');

describe('ctx.querystring', () => {
Expand Down
2 changes: 1 addition & 1 deletion test/request/search.js → __tests__/request/search.js
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@
'use strict';

const assert = require('assert');
const context = require('../helpers/context');
const context = require('../../test-helpers/context');

describe('ctx.search=', () => {
it('should replace the search', () => {
Expand Down
2 changes: 1 addition & 1 deletion test/request/secure.js → __tests__/request/secure.js
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@
'use strict';

const assert = require('assert');
const request = require('../helpers/context').request;
const request = require('../../test-helpers/context').request;

describe('req.secure', () => {
it('should return true when encrypted', () => {
Expand Down
Loading

0 comments on commit 4545b59

Please sign in to comment.