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