UNPKG

motion

Version:

motion - moving development forward

180 lines (159 loc) 4.97 kB
var nixt = require('nixt') var should = require('should') var pkg = require('../package.json') var endpoint = typeof process.env.ENDPOINT !== 'undefined' ? ' -e ' + process.env.ENDPOINT + ' ' : ' ' var surge = 'node ' + pkg.bin + endpoint var opts = { colors: false, newlines: false } describe('surge', function () { it('should be cool', function (done) { done() }) it('should provide an error message when the command isn’t valid', function (done) { nixt({ colors: false }) .run(surge + '--deploy') .expect(function (result) { // Something like… // `--deploy` is not a surge command should(result.stdout).match(/--deploy/) should(result.stdout).match(/not/) }) .end(done) }) describe('version', function (done) { it('`surge --version`', function (done) { nixt(opts) .run(surge + '--version') .expect(function(result) { should(result.stdout).be.equal(pkg.version) }) .end(done) }) it('`surge -V`', function (done) { nixt(opts) .run(surge + '-V') .expect(function(result) { should(result.stdout).be.equal(pkg.version) }) .end(done) }) }) // TODO Endpoint tests // describe('endpoint', function (done) { // // it('`surge --endpoint`', function (done) { // nixt(opts) // .run(surge + '--endpoint locahost:5001') // .expect(function(result) { // }) // .end(done) // }) // // it('`surge -e` without protocol', function (done) { // nixt(opts) // .run(surge + '-e localhost:5001') // .expect(function(result) { // }) // .end(done) // }) // // it('`surge -e` with protocol', function (done) { // nixt(opts) // .run(surge + '-e http://localhost:5001') // .expect(function(result) { // }) // .end(done) // }) // // it('`surge -e` with IP', function (done) { // nixt(opts) // .run(surge + '-e 192.168.1.107:5001') // .expect(function(result) { // }) // .end(done) // }) // }) describe('login', function (done) { this.timeout(2500) it('`surge login`', function (done) { nixt({ colors: false }) .exec(surge + 'logout') // Logout before the test starts .run(surge + 'login') .on(/.*email:.*/).respond('kenneth+test@chloi.io\n') .on(/.*password:.*/).respond('12345\n') .expect(function (result) { should(result.stdout).match(/Logged in as kenneth/) // Possibly not returning the right codes right now? // should(result.code).equal(1) }) .end(done) }) it('`surge whoami`', function (done) { nixt({ colors: false }) .run(surge + 'whoami') .expect(function (result) { should(result.stdout).match(/Logged in as kenneth/) }) .end(done) }) it('`surge logout`', function (done) { nixt({ colors: false }) .run(surge + 'logout') // Logout again afterwards .expect(function (result) { should(result.stdout).match(/Token removed from /) }) .end(done) }) }) describe('list', function () { this.timeout(5000) it('`surge list`', function (done) { nixt({ colors: false, newlines: true }) .exec(surge + 'logout') // Logout before the test starts .run(surge + 'list') .on(/.*email:.*/).respond('kenneth+test@chloi.io\n') .on(/.*password:.*/).respond('12345\n') .expect(function (result) { should(result.stdout).match(/cli-test-2\.surge\.sh/) should(result.stdout).match(/cli-test-3\.surge\.sh/) should(result.stdout).not.match(/www\.cli-test-3\.surge\.sh/) should(result.stdout).match(/www\.cli-test-4\.surge\.sh/) should(result.stdout).not.match(/cli-test-0\.surge\.sh/) }) .end(done) }) }) describe('token', function () { before(function (done) { nixt(opts) .exec(surge + 'logout') // Logout before the test starts .run(surge + 'login') .on(/.*email:.*/).respond('kenneth+test@chloi.io\n') .on(/.*password:.*/).respond('12345\n') .end(done) }) it('`surge token`', function (done) { this.timeout(5000) nixt(opts) .run(surge + 'token') .expect(function (result) { should(result.stdout).match(/.*email: kenneth\+test@chloi\.io/) should(result.stdout).match(/.*token:*./) }) .end(done) }) // Failing // it('should not list the token twice', function (done) { // this.timeout(5000) // // nixt(opts) // .run(surge + 'token') // .expect(function (result) { // should(result.stdout).not.match(/.*token: (\**)*./) // }) // .end(done) // }) }) })