diff --git a/gh-badge.spec.js b/gh-badge.spec.js new file mode 100644 index 0000000000000000000000000000000000000000..d1cc1940e98339748f40013d0d32ece08532effb --- /dev/null +++ b/gh-badge.spec.js @@ -0,0 +1,61 @@ +var assert = require('assert'); +var cproc = require('child_process'); +var isPng = require('is-png'); +var isSvg = require('is-svg'); + +describe('The CLI', function () { + + it('should provide a help message', function(done) { + var child = cproc.spawn('node', ['gh-badge.js']); + var buffer = ''; + child.stdout.on('data', function(chunk) { + buffer += ''+chunk; + }); + child.stdout.on('end', function() { + assert(buffer.startsWith('Usage')); + done(); + }); + }); + + it('should produce default badges', function(done) { + var child = cproc.spawn('node', + ['gh-badge.js', 'cactus', 'grown']); + child.stdout.once('data', function(chunk) { + var buffer = ''+chunk; + assert.ok(isSvg(buffer)); + assert(buffer.includes('cactus'), 'cactus'); + assert(buffer.includes('grown'), 'grown'); + done(); + }); + }); + + it('should produce colorschemed badges', function(done) { + var child = cproc.spawn('node', + ['gh-badge.js', 'cactus', 'grown', ':green']); + child.stdout.once('data', function(chunk) { + var buffer = ''+chunk; + assert.ok(isSvg(buffer)); + done(); + }); + }); + + it('should produce right-color badges', function(done) { + var child = cproc.spawn('node', + ['gh-badge.js', 'cactus', 'grown', '#abcdef']); + child.stdout.once('data', function(chunk) { + var buffer = ''+chunk; + assert(buffer.includes('#abcdef'), '#abcdef'); + done(); + }); + }); + + it('should produce PNG badges', function(done) { + var child = cproc.spawn('node', + ['gh-badge.js', 'cactus', 'grown', '.png']); + child.stdout.once('data', function(chunk) { + assert.ok(isPng(chunk)); + done(); + }); + }); + +}); diff --git a/test/badge.spec.js b/lib/badge.spec.js similarity index 90% rename from test/badge.spec.js rename to lib/badge.spec.js index 5e44a8d5492bd5c5cab57ea6facdd94bfa4efd57..671ed0bbfbcec598f8f2a8db30689bd519bae826 100644 --- a/test/badge.spec.js +++ b/lib/badge.spec.js @@ -1,7 +1,7 @@ const assert = require('assert'); const isSvg = require('is-svg'); -const badge = require('../lib/badge'); +const badge = require('./badge'); describe('The badge generator', function () { it('should produce SVG', function(done) { diff --git a/test/in-process-server-helpers.js b/lib/in-process-server-test-helpers.js similarity index 96% rename from test/in-process-server-helpers.js rename to lib/in-process-server-test-helpers.js index b471d41d9fbaf8604985be6bb0bdf14cf0a4f8df..a8d21c812598cf04e9f9774a3e3b523a3049f11e 100644 --- a/test/in-process-server-helpers.js +++ b/lib/in-process-server-test-helpers.js @@ -12,7 +12,7 @@ 'use strict'; -const config = require('./config'); +const config = require('./test-config'); let startCalled = false; diff --git a/test/lru-cache.spec.js b/lib/lru-cache.spec.js similarity index 99% rename from test/lru-cache.spec.js rename to lib/lru-cache.spec.js index f125e6a2e4d3edeb90a1c8b08dc63ae0e2bf1020..a404703a20a8ed449e9ed2a5d0516f9f1bbb8e17 100644 --- a/test/lru-cache.spec.js +++ b/lib/lru-cache.spec.js @@ -1,6 +1,6 @@ var assert = require('assert'); -var LRU = require('../lib/lru-cache.js'); +var LRU = require('./lru-cache'); describe('The LRU cache', function () { diff --git a/test/svg-to-img.spec.js b/lib/svg-to-img.spec.js similarity index 92% rename from test/svg-to-img.spec.js rename to lib/svg-to-img.spec.js index 54e0443637475479df9cce82f947894333013cc8..1e2b089b43b6b60a1987709abb4369089dbada51 100644 --- a/test/svg-to-img.spec.js +++ b/lib/svg-to-img.spec.js @@ -2,8 +2,8 @@ const assert = require('assert'); const sinon = require('sinon'); const isPng = require('is-png'); -const badge = require('../lib/badge'); -const svg2img = require('../lib/svg-to-img.js'); +const badge = require('./badge'); +const svg2img = require('./svg-to-img'); describe('The rasterizer', function () { let cacheGet; diff --git a/test/config.js b/lib/test-config.js similarity index 100% rename from test/config.js rename to lib/test-config.js diff --git a/package.json b/package.json index 937a0ad215a570193cdc5a12a9b46c865eb641de..137e2462b671bb16cb0c06c8074eff08c139f776 100644 --- a/package.json +++ b/package.json @@ -43,7 +43,7 @@ "coverage:report:reopen": "opn coverage/lcov-report/index.html", "coverage:report:open": "npm run coverage:report && npm run coverage:report:reopen", "lint": "eslint '**/*.js'", - "test:js": "mocha 'test/**/*.spec.js'", + "test:js": "mocha lib '*.spec.js'", "test:services": "mocha --delay service-tests/runner/cli.js", "test": "npm run lint && npm run test:js" }, diff --git a/test/test.spec.js b/server.spec.js similarity index 53% rename from test/test.spec.js rename to server.spec.js index 06e7b5bfd1cdf48052c2145bd922f08d70353b22..6c91f9c73bed19098440304ec639ae5d77945b6f 100644 --- a/test/test.spec.js +++ b/server.spec.js @@ -1,75 +1,16 @@ var assert = require('assert'); var sinon = require('sinon'); var http = require('http'); -var cproc = require('child_process'); var fs = require('fs'); var path = require('path'); var isPng = require('is-png'); var isSvg = require('is-svg'); -var svg2img = require('../lib/svg-to-img'); -const serverHelpers = require('./in-process-server-helpers'); +var svg2img = require('./lib/svg-to-img'); +const serverHelpers = require('./lib/in-process-server-test-helpers'); -// Test parameters var port = '1111'; var url = 'http://127.0.0.1:' + port + '/'; -describe('The CLI', function () { - - it('should provide a help message', function(done) { - var child = cproc.spawn('node', ['gh-badge.js']); - var buffer = ''; - child.stdout.on('data', function(chunk) { - buffer += ''+chunk; - }); - child.stdout.on('end', function() { - assert(buffer.startsWith('Usage')); - done(); - }); - }); - - it('should produce default badges', function(done) { - var child = cproc.spawn('node', - ['gh-badge.js', 'cactus', 'grown']); - child.stdout.once('data', function(chunk) { - var buffer = ''+chunk; - assert.ok(isSvg(buffer)); - assert(buffer.includes('cactus'), 'cactus'); - assert(buffer.includes('grown'), 'grown'); - done(); - }); - }); - - it('should produce colorschemed badges', function(done) { - var child = cproc.spawn('node', - ['gh-badge.js', 'cactus', 'grown', ':green']); - child.stdout.once('data', function(chunk) { - var buffer = ''+chunk; - assert.ok(isSvg(buffer)); - done(); - }); - }); - - it('should produce right-color badges', function(done) { - var child = cproc.spawn('node', - ['gh-badge.js', 'cactus', 'grown', '#abcdef']); - child.stdout.once('data', function(chunk) { - var buffer = ''+chunk; - assert(buffer.includes('#abcdef'), '#abcdef'); - done(); - }); - }); - - it('should produce PNG badges', function(done) { - var child = cproc.spawn('node', - ['gh-badge.js', 'cactus', 'grown', '.png']); - child.stdout.once('data', function(chunk) { - assert.ok(isPng(chunk)); - done(); - }); - }); - -}); - describe('The server', function () { let server; before('Start running the server', function () { @@ -103,7 +44,7 @@ describe('The server', function () { }); context('with svg2img error', function () { - var expectedError = fs.readFileSync(path.resolve(__dirname, '..', 'public', '500.html')); + var expectedError = fs.readFileSync(path.resolve(__dirname, 'public', '500.html')); var toBufferStub; beforeEach(function () { diff --git a/service-tests/runner/cli.js b/service-tests/runner/cli.js index decbee65c3d8019c6d102de5d6dccf4ccf269001..8094de4ea9a38be682d04a5c87d06c3dff757d54 100644 --- a/service-tests/runner/cli.js +++ b/service-tests/runner/cli.js @@ -20,7 +20,7 @@ const difference = require('lodash.difference'); const fetch = require('node-fetch'); const minimist = require('minimist'); const Runner = require('./runner'); -const serverHelpers = require('../../test/in-process-server-helpers'); +const serverHelpers = require('../../lib/in-process-server-test-helpers'); function getTitle (repoSlug, pullRequest) { const uri = `https://api.github.com/repos/${repoSlug}/pulls/${pullRequest}`; diff --git a/service-tests/runner/service-tester.js b/service-tests/runner/service-tester.js index 4cff1ac798328b6863729c83cc890f244288fbad..4deb9a7cf9ab7c6a99c0b4218c4a4010d42f1dc7 100644 --- a/service-tests/runner/service-tester.js +++ b/service-tests/runner/service-tester.js @@ -1,7 +1,7 @@ 'use strict'; const frisby = require('icedfrisby-nock')(require('icedfrisby')); -const config = require('../../test/config'); +const config = require('../../lib/test-config'); /** * Encapsulate a suite of tests. Create new tests using create() and register