mirror of
https://github.com/186526/handlers.js
synced 2024-10-13 00:29:43 +00:00
65 lines
1.7 KiB
TypeScript
65 lines
1.7 KiB
TypeScript
import { spawn } from 'child_process';
|
|
|
|
import Axios from 'axios';
|
|
|
|
const Instance = Axios.create({
|
|
baseURL: 'http://localhost:3000',
|
|
});
|
|
|
|
spawn(`deno`, ['run', '--allow-net', `${__dirname}/../dist/test.deno.js`]);
|
|
|
|
const randomString = () =>
|
|
Math.random().toString(36).substring(2, 15) +
|
|
Math.random().toString(36).substring(2, 15);
|
|
|
|
describe('Test server', () => {
|
|
test('normal 200 response', async () => {
|
|
expect.assertions(2);
|
|
|
|
await new Promise((r) => setTimeout(r, 200));
|
|
|
|
const { data, status } = await Instance.get('/');
|
|
expect(status).toEqual(200);
|
|
expect(data).toEqual('200 OK');
|
|
});
|
|
|
|
test('post response', async () => {
|
|
expect.assertions(2);
|
|
const string = randomString();
|
|
|
|
const { data, status } = await Instance.post('/post', string);
|
|
|
|
expect(status).toEqual(200);
|
|
expect(data).toEqual(string);
|
|
});
|
|
|
|
test('change header and status code', async () => {
|
|
expect.assertions(3);
|
|
|
|
const { data, status, headers } = await Instance.get('/header');
|
|
|
|
expect(status).toEqual(204);
|
|
expect(headers['itis']).toEqual('work');
|
|
expect(data).toEqual('');
|
|
});
|
|
|
|
test('get param', async () => {
|
|
expect.assertions(2);
|
|
|
|
const string = randomString();
|
|
const { data, status } = await Instance.get(`/info/${string}`);
|
|
|
|
expect(status).toEqual(200);
|
|
expect(data).toEqual(string);
|
|
});
|
|
|
|
test('chain interrupted', async () => {
|
|
expect.assertions(2);
|
|
|
|
const { data, status } = await Instance.get(`/info/foo`);
|
|
|
|
expect(status).toEqual(200);
|
|
expect(data).toEqual('hit');
|
|
});
|
|
});
|