Skip to content

Commit c2b1834

Browse files
authored
Merge pull request #1 from StatelessStudio/tests
Tests
2 parents cfc8f15 + 21cc00c commit c2b1834

14 files changed

Lines changed: 323 additions & 35 deletions

File tree

src/endpoints/delete.ts

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,9 @@ export async function deleteEndpoint(request: Request, response: Response) {
1111
// Check response
1212
if (request.payload && request.payload instanceof BaseModel) {
1313
// Run model hook
14-
runHook(request, response, 'delete', request.params);
14+
if (!await runHook(request, response, 'delete', request.params)) {
15+
return;
16+
}
1517

1618
// Delete
1719
await request.repository

src/endpoints/get.ts

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,9 @@ export async function getEndpoint(request: Request, response: Response) {
1515
request.payload instanceof BaseModel)
1616
) {
1717
// Run model hook
18-
runHook(request, response, 'get', request.payload);
18+
if (!await runHook(request, response, 'get', request.payload)) {
19+
return;
20+
}
1921

2022
response.getResponder(request.payload, response);
2123
}

src/endpoints/login.ts

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,9 @@ export async function loginEndpoint(
1010
next: NextFunction
1111
) {
1212
// Run model hook
13-
runHook(request, response, 'login', request.body);
13+
if (!await runHook(request, response, 'login', request.body)) {
14+
return;
15+
}
1416

1517
// Delete undefined members
1618
for (const key in request.body) {

src/endpoints/post.ts

Lines changed: 7 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,9 @@ import { runHook } from '../run-hook';
44

55
export async function postEndpoint(request: Request, response: Response) {
66
// Run model hook
7-
runHook(request, response, 'post', request.body);
7+
if (!await runHook(request, response, 'post', request.body)) {
8+
return;
9+
}
810

911
// Delete undefined members
1012
for (const key in request.body) {
@@ -14,10 +16,12 @@ export async function postEndpoint(request: Request, response: Response) {
1416
}
1517

1618
// Validate
17-
const errors = await validate(request.body);
19+
const errors = await validate(request.body).catch((error) =>
20+
response.error(error, response)
21+
);
1822

1923
// Check
20-
if (errors.length) {
24+
if (errors && errors.length) {
2125
return response.validationResponder(errors, response);
2226
}
2327

src/endpoints/put.ts

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,9 @@ import { runHook } from '../run-hook';
55

66
export async function putEndpoint(request: Request, response: Response) {
77
// Run model hook
8-
runHook(request, response, 'put', request.params);
8+
if (!await runHook(request, response, 'put', request.params)) {
9+
return;
10+
}
911

1012
// Delete undefined members
1113
for (const key in request.body) {
@@ -14,6 +16,9 @@ export async function putEndpoint(request: Request, response: Response) {
1416
}
1517
}
1618

19+
// Merge payload and request body
20+
request.body = Object.assign(request.payload, request.body);
21+
1722
// Validate
1823
const errors = await validate(request.body);
1924

src/middleware/get-query.ts

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -29,7 +29,9 @@ export async function getQuery(
2929
next?: NextFunction
3030
) {
3131
// Run model hook
32-
runHook(request, response, 'getQuery', request.query);
32+
if (!await runHook(request, response, 'getQuery', request.query)) {
33+
return;
34+
}
3335

3436
// Delete undefined members
3537
for (const key in request.query) {

src/responders/post.ts

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -4,9 +4,8 @@ export function postResponder(result: any, response: Response) {
44
// Result should have ID
55
if (result instanceof Object && 'id' in result) {
66
// Send response
7-
response.json({
8-
id: result.id
9-
});
7+
// TODO: Filter out senstive info in body
8+
response.json(result);
109
}
1110
else {
1211
// Send error

src/run-hook.ts

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -17,4 +17,6 @@ export async function runHook(
1717
return result;
1818
}
1919
}
20+
21+
return true;
2022
}

test/examples/basic/routes/auth.ts

Lines changed: 0 additions & 18 deletions
This file was deleted.

test/examples/basic/server.ts

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,6 @@ const ROOT_PATH = require('app-root-path').toString();
55

66
// Routes
77
import { userRouter } from './routes/user';
8-
import { authRouter } from './routes/auth';
98

109
// Setup
1110
pointy.before = async (app) => {
@@ -17,7 +16,6 @@ pointy.before = async (app) => {
1716

1817
// Routes
1918
app.use('/api/v1/user', userRouter);
20-
app.use('/api/v1/auth', authRouter);
2119

2220
// Database
2321
await pointy.db

0 commit comments

Comments
 (0)