Skip to content

Commit c0c1d3c

Browse files
refactor: use toBeBetween instead toBeGreaterThanOrEqual and toBeLessThanOrEqual (#20)
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
1 parent 1021494 commit c0c1d3c

File tree

3 files changed

+13
-21
lines changed

3 files changed

+13
-21
lines changed

implementations/thegraph/README.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -32,7 +32,7 @@ Status code 404 is not 200
3232
```
3333
4. MAY NOT allow executing mutations on GET requests<br />
3434
```
35-
Status code 200 is not greater than or equal to 400
35+
Status code 200 is not between 400 and 499
3636
```
3737
5. SHOULD use 400 status code on missing {query} parameter when accepting application/graphql-response+json<br />
3838
```

src/audits/server.ts

Lines changed: 6 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -211,8 +211,7 @@ export function serverAudits(opts: ServerAuditOptions): Audit[] {
211211
accept: 'application/graphql-response+json',
212212
},
213213
});
214-
assert('Status code', res.status).toBeGreaterThanOrEqual(400);
215-
assert('Status code', res.status).toBeLessThanOrEqual(499);
214+
assert('Status code', res.status).toBeBetween(400, 499);
216215
}),
217216
// Request POST
218217
audit(
@@ -221,8 +220,7 @@ export function serverAudits(opts: ServerAuditOptions): Audit[] {
221220
const res = await fetchFn(opts.url, {
222221
method: 'POST',
223222
});
224-
assert('Status code', res.status).toBeGreaterThanOrEqual(400);
225-
assert('Status code', res.status).toBeLessThanOrEqual(499);
223+
assert('Status code', res.status).toBeBetween(400, 499);
226224
},
227225
),
228226
audit('MUST accept application/json POST requests', async () => {
@@ -731,8 +729,7 @@ export function serverAudits(opts: ServerAuditOptions): Audit[] {
731729
},
732730
body: '{ "not a JSON',
733731
});
734-
assert('Status code', res.status).toBeGreaterThanOrEqual(400);
735-
assert('Status code', res.status).toBeLessThanOrEqual(599);
732+
assert('Status code', res.status).toBeBetween(400, 499);
736733
},
737734
),
738735
audit(
@@ -780,8 +777,7 @@ export function serverAudits(opts: ServerAuditOptions): Audit[] {
780777
qeury /* typo */: '{ __typename }',
781778
}),
782779
});
783-
assert('Status code', res.status).toBeGreaterThanOrEqual(400);
784-
assert('Status code', res.status).toBeLessThanOrEqual(599);
780+
assert('Status code', res.status).toBeBetween(400, 599);
785781
},
786782
),
787783
audit(
@@ -833,8 +829,7 @@ export function serverAudits(opts: ServerAuditOptions): Audit[] {
833829
query: '{',
834830
}),
835831
});
836-
assert('Status code', res.status).toBeGreaterThanOrEqual(400);
837-
assert('Status code', res.status).toBeLessThanOrEqual(599);
832+
assert('Status code', res.status).toBeBetween(400, 599);
838833
},
839834
),
840835
audit(
@@ -886,8 +881,7 @@ export function serverAudits(opts: ServerAuditOptions): Audit[] {
886881
query: '{ 8f31403dfe404bccbb0e835f2629c6a7 }', // making sure the field doesnt exist
887882
}),
888883
});
889-
assert('Status code', res.status).toBeGreaterThanOrEqual(400);
890-
assert('Status code', res.status).toBeLessThanOrEqual(599);
884+
assert('Status code', res.status).toBeBetween(400, 599);
891885
},
892886
),
893887
audit(

src/audits/utils.ts

Lines changed: 6 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -57,14 +57,12 @@ export function assert<T = unknown>(name: string, actual: T) {
5757
throw `${name} ${actual} is not ${expected}`;
5858
}
5959
},
60-
toBeLessThanOrEqual: (expected: T extends number ? T : never) => {
61-
if (!(actual <= expected)) {
62-
throw `${name} ${actual} is not less than or equal to ${expected}`;
63-
}
64-
},
65-
toBeGreaterThanOrEqual: (expected: T extends number ? T : never) => {
66-
if (!(actual >= expected)) {
67-
throw `${name} ${actual} is not greater than or equal to ${expected}`;
60+
toBeBetween: (
61+
min: T extends number ? T : never,
62+
max: T extends number ? T : never,
63+
) => {
64+
if (!(min <= actual && actual <= max)) {
65+
throw `${name} ${actual} is not between ${min} and ${max}`;
6866
}
6967
},
7068
toContain: (

0 commit comments

Comments
 (0)