Muthu Kumar
6 years ago
1 changed files with 102 additions and 0 deletions
@ -0,0 +1,102 @@ |
|||||
|
/** |
||||
|
* This file contains random tests |
||||
|
* used during development |
||||
|
*/ |
||||
|
|
||||
|
const Gunner = require('../index.js'); |
||||
|
const expect = Gunner.expect; |
||||
|
const expectMany = Gunner.expectMany; |
||||
|
const gunner = new Gunner({ name: 'sample tests' }); |
||||
|
const a = 1; |
||||
|
|
||||
|
gunner.before(Gunner.Start, () => console.log('Started tests!')); |
||||
|
gunner.before(Gunner.End, () => console.log('Ended tests!')); |
||||
|
let runCount = 1; |
||||
|
gunner.before('*', () => console.log(`Running test ${runCount++}`)); |
||||
|
|
||||
|
gunner.test('should automatically pass', () => expect().done()); |
||||
|
gunner.test(`should be equal`, () => expect(1).equal(1)); |
||||
|
gunner.test(`objects are deep equal`, () => expect({ a: 1 }).deepEqual({ a: 1 })); |
||||
|
gunner.test('expression should be true', () => expect(a === 1).isTrue()); |
||||
|
|
||||
|
gunner.test('should be a Promise (resolved)', () => |
||||
|
expect(Promise.resolve()).isPromise()); |
||||
|
|
||||
|
gunner.test('should be a Promise (rejected)', () => |
||||
|
expect(Promise.reject()).isPromise()); |
||||
|
|
||||
|
gunner.test('wait and resolve', () => { |
||||
|
return new Promise(r => { |
||||
|
setTimeout( |
||||
|
() => r('ok'), |
||||
|
50 |
||||
|
); |
||||
|
}); |
||||
|
}); |
||||
|
|
||||
|
gunner.test('should resolve to 5', () => |
||||
|
expect(Promise.resolve(5)).resolvesTo(5)); |
||||
|
|
||||
|
gunner.before( |
||||
|
'file must have hello as content', |
||||
|
() => console.log('>> starting test! file must have hello as content'), |
||||
|
'helloContentBefore', |
||||
|
); |
||||
|
|
||||
|
gunner.after( |
||||
|
'file must have hello as content', |
||||
|
() => console.log('>> finished test! file must have hello as content'), |
||||
|
'helloContentAfter', |
||||
|
); |
||||
|
|
||||
|
gunner.test('file must have hello as content', async () => { |
||||
|
const { readFile } = require('fs').promises; |
||||
|
const file = await readFile(__dirname + '/hello.txt', { encoding: 'utf8' }); |
||||
|
return [ |
||||
|
expect(file).equal('hello'), |
||||
|
expect(file.length).equal(5), |
||||
|
]; |
||||
|
}); |
||||
|
|
||||
|
gunner.test('(should fail) Should automatically fail', () => |
||||
|
expect().fail()); |
||||
|
|
||||
|
gunner.test('(should fail) Value is not a Promise', () => |
||||
|
expect(5).isPromise()); |
||||
|
|
||||
|
gunner.test('(should fail) Error is not a Promise', () => |
||||
|
expect(flamethrower()).isPromise()); |
||||
|
|
||||
|
gunner.test(`(should fail) objects aren't deeply equal`, () => expect({a : 1}).deepEqual({ a: 2 })); |
||||
|
|
||||
|
gunner.test('(should fail) promise must reject', () => |
||||
|
expect(Promise.reject(new Error('Promise Rejected'))).equal('no rejection')); |
||||
|
|
||||
|
gunner.test('(should fail) multiple expect', () => { |
||||
|
|
||||
|
const a = { }; |
||||
|
a.b = 1; |
||||
|
a.c = 2; |
||||
|
|
||||
|
return expectMany([ |
||||
|
expect(a).hasProp('b'), |
||||
|
expect(a).hasPair('c', 3), |
||||
|
]); |
||||
|
|
||||
|
}); |
||||
|
|
||||
|
const flamethrower = () => { |
||||
|
throw new Error('This burns!'); |
||||
|
}; |
||||
|
|
||||
|
gunner.test('(should fail) should catch error', () => { |
||||
|
return expect(flamethrower, []).equal(5); |
||||
|
}); |
||||
|
|
||||
|
gunner.test('(should fail) should not resolve to 5', () => |
||||
|
expect(Promise.resolve()).resolvesTo(5)); |
||||
|
|
||||
|
const trace = process.argv.slice(2).indexOf('--trace') !== -1; |
||||
|
const log = process.argv.slice(2).indexOf('--log') !== -1; |
||||
|
|
||||
|
gunner.run({ trace, log }).then(console.log); |
Loading…
Reference in new issue