utquidem
Version:
The meta-framework suite designed from scratch for frontend-focused modern web development.
90 lines (77 loc) • 1.94 kB
text/typescript
import path from 'path';
import {
getPort,
launchApp,
killApp,
modernBuild,
modernStart,
} from '../../../utils/modernTestUtils';
import 'isomorphic-fetch';
describe('api-service in dev', () => {
let port = 8080;
const prefix = '/api';
const host = `http://localhost`;
const appPath = path.resolve(__dirname, '../');
let app: any;
beforeAll(async () => {
jest.setTimeout(1000 * 60 * 2);
port = await getPort();
app = await launchApp(appPath, port, {
cwd: appPath,
});
});
test('support get method', async () => {
const res = await fetch(`${host}:${port}${prefix}`);
const data = await res.json();
expect(data).toEqual({
message: 'Hello Modern.js',
});
});
test('support post method', async () => {
const res = await fetch(`${host}:${port}${prefix}`, {
method: 'POST',
});
const data = await res.json();
expect(data).toEqual({
message: 'Hello Modern.js',
});
});
afterAll(async () => {
await killApp(app);
});
});
describe('api-service in prod', () => {
let port = 8080;
const prefix = '/api';
const host = `http://localhost`;
const appPath = path.resolve(__dirname, '../');
let app: any;
beforeAll(async () => {
port = await getPort();
await modernBuild(appPath, [], {
cwd: appPath,
});
app = await modernStart(appPath, port, {
cwd: appPath,
});
});
test('support get method', async () => {
const res = await fetch(`${host}:${port}${prefix}`);
const data = await res.json();
expect(data).toEqual({
message: 'Hello Modern.js',
});
});
test('support post method', async () => {
const res = await fetch(`${host}:${port}${prefix}`, {
method: 'POST',
});
const data = await res.json();
expect(data).toEqual({
message: 'Hello Modern.js',
});
});
afterAll(async () => {
await killApp(app);
});
});