# This PR - Addressing #3644 - Migrates the `POST rest/*` endpoint to use TwentyORM directly - Adds integration tests - Refactors common login in the v2 service file - Refactors test utility files
27 lines
624 B
TypeScript
27 lines
624 B
TypeScript
import { IncomingHttpHeaders } from 'http';
|
|
|
|
import request from 'supertest';
|
|
|
|
export type RestAPIRequestMethod = 'get' | 'post' | 'put' | 'patch' | 'delete';
|
|
|
|
interface RestAPIRequestParams {
|
|
method: RestAPIRequestMethod;
|
|
path: string;
|
|
headers?: IncomingHttpHeaders;
|
|
body?: any;
|
|
}
|
|
|
|
export const makeRestAPIRequest = ({
|
|
method,
|
|
path,
|
|
headers = {},
|
|
body,
|
|
}: RestAPIRequestParams) => {
|
|
const client = request(`http://localhost:${APP_PORT}`);
|
|
|
|
return client[method](`/rest${path}`)
|
|
.set('Authorization', `Bearer ${ACCESS_TOKEN}`)
|
|
.set(headers)
|
|
.send(body ? JSON.stringify(body) : undefined);
|
|
};
|