75 lines
1.4 KiB
TypeScript
75 lines
1.4 KiB
TypeScript
import { expect, tap } from '@pushrocks/tapbundle';
|
|
import * as webrequest from '../ts/index';
|
|
import * as fetch from 'node-fetch';
|
|
|
|
declare global {
|
|
namespace NodeJS {
|
|
interface Global {
|
|
fetch: any;
|
|
}
|
|
}
|
|
}
|
|
global.fetch = fetch;
|
|
|
|
// test dependencies
|
|
import * as smartexpress from '@pushrocks/smartexpress';
|
|
|
|
let testServer: smartexpress.Server;
|
|
|
|
tap.test('setup test server', async () => {
|
|
testServer = new smartexpress.Server({
|
|
cors: false,
|
|
forceSsl: false,
|
|
port: 2345
|
|
});
|
|
|
|
testServer.addRoute(
|
|
'/apiroute1',
|
|
new smartexpress.Handler('GET', (req, res) => {
|
|
res.status(429);
|
|
res.end();
|
|
})
|
|
);
|
|
|
|
testServer.addRoute(
|
|
'/apiroute2',
|
|
new smartexpress.Handler('GET', (req, res) => {
|
|
res.status(500);
|
|
res.end();
|
|
})
|
|
);
|
|
|
|
testServer.addRoute(
|
|
'/apiroute3',
|
|
new smartexpress.Handler('GET', (req, res) => {
|
|
res.status(200);
|
|
res.send({
|
|
hithere: 'hi'
|
|
});
|
|
})
|
|
);
|
|
|
|
await testServer.start();
|
|
});
|
|
|
|
tap.test('first test', async tools => {
|
|
const response = await new webrequest.WebRequest().getJson([
|
|
'http://localhost:2345/apiroute1',
|
|
'http://localhost:2345/apiroute2',
|
|
'http://localhost:2345/apiroute4',
|
|
'http://localhost:2345/apiroute3'
|
|
]);
|
|
|
|
console.log(response);
|
|
|
|
expect(response)
|
|
.property('hithere')
|
|
.to.equal('hi');
|
|
});
|
|
|
|
tap.test('tear down server', async () => {
|
|
testServer.stop();
|
|
});
|
|
|
|
tap.start();
|