Gathering detailed insights and metrics for @egomobile/http-supertest
Gathering detailed insights and metrics for @egomobile/http-supertest
Gathering detailed insights and metrics for @egomobile/http-supertest
Gathering detailed insights and metrics for @egomobile/http-supertest
Sets up common and powerful test event listener for @egomobile/http-server with supertest under the hood.
npm install @egomobile/http-supertest
Typescript
Module System
Min. Node Version
Node Version
NPM Version
58.1
Supply Chain
96.5
Quality
81.3
Maintenance
100
Vulnerability
79
License
TypeScript (98.77%)
JavaScript (1.23%)
Total Downloads
2,129
Last Day
1
Last Week
20
Last Month
26
Last Year
599
21 Commits
1 Watching
2 Branches
1 Contributors
Minified
Minified + Gzipped
Latest Version
0.7.1
Package Id
@egomobile/http-supertest@0.7.1
Unpacked Size
50.58 kB
Size
12.52 kB
File Count
14
NPM Version
9.9.2
Node Version
18.19.1
Publised On
26 Feb 2024
Cumulative downloads
Total Downloads
Last day
0%
1
Compared to previous day
Last week
900%
20
Compared to previous week
Last month
-3.7%
26
Compared to previous month
Last year
-22%
599
Compared to previous year
2
Sets up common and powerful test event listener for @egomobile/http-server with supertest under the hood.
Execute the following command from your project folder, where your package.json
file is stored:
1npm install --save @egomobile/http-supertest
1import createServer from "@egomobile/http-server"; 2import { setupTestEventListener } from "@egomobile/http-supertest"; 3 4const app = createServer(); 5 6// s. https://github.com/egomobile/node-http-server/wiki/Testing 7app.controllers(); 8 9// register `test` event: https://egomobile.github.io/node-http-server/interfaces/IHttpServer.html#on 10setupTestEventListener({ 11 server: app, 12}); 13 14await app.test();
If you defined a lot of tests and want to skip some of them, you can use EGO_TEST_FILTER
environment variable.
It can hold a non-empty value, that is a Filtrex expression.
If it returns a truthy value, the underlying test will be executed.
Beside shipped-in functions and constants, the module also provides the following enhancements:
Functions:
Signature | Description | Example |
---|---|---|
all(value, ...subStrings): bool | Checks if all substrings are part of value . | all("foo bar buzz", "bar", "buzz") |
any(value, ...subStrings): bool | Checks if at least one substring is part of value . | any("foo bar buzz", "test", "bar") |
endsWith(value, suffix): bool | Checks if a string ends with a suffix. | endsWith("Test string", " string") |
float(value): number|false | Converts a string to a float. | float("12.3") == 12.3 |
indexOf(value): number | Returns the zero-based index of a substring inside a string, and -1 if it is not found. | indexOf("666.0", ".") == 3 |
int(value): number|false | Converts a string to an integer. | int("10.0") == 10 |
isNaN(value, float = true): bool | Checks if a value cannot be parsed as number. | isNaN("is not a really number") |
join(sep, ...values[]): bool | Handles values as strings an join them with a separator. | join("+", "a", "b", " c") == "a+b+ c" |
norm(value): string | Normalizes a string for better comparison: creates lower case version, trims it and replace special characters like umlauts or whitespace | norm(" A tesT String: Ä ö Ü ß ") == "a test string: ae oe ue ss" |
log(value [, returnValue = false]): any | Logs a value. | log(methodName) or methodName == "getAllUsers" |
lower(value): string | Converts string to lower case chars. | lower("ThIs Is A tEsTsTrInG") == "this is a test string" |
regex(value, pattern [, flags = "i"]): bool | Tests a string for a regular expression. | not regex(methodName, "^(ZZZ)(\\s)(-)") |
str(value): string | Converts a value to a safe string. | str(1) == "1" |
startsWith(value, prefix): bool | Checks if a string starts with a prefix. | startsWith("Test string", "Test ") |
trim(value): string | Removes leading and ending whitespace characters from a string. | trim(" Test String ") === "Test String" |
trimEnd(value): string | Removes ending whitespace characters from a string. | trimEnd(" Test String ") === " Test String" |
trimStart(value): string | Removes leading whitespace characters from a string. | trimStart(" Test String ") === "Test String " |
upper(value): string | Converts string to upper case chars. | upper("ThIs Is A tEsTsTrInG") == "THIS IS A TEST STRING" |
Constants:
Name: type | Description | Example |
---|---|---|
context: string | The context in what the test is executed. | context == "controller" |
countFailure: number | The current number of failed tests. | countFailure > 0 |
description: string | The description of the test. | any(description, "foo") |
escapedQuery: string | The escaped query string. | a=foo%20bar&b=buzz |
escapedRoute: string | The escaped route of the endpoint. | escapedRoute == "/foo%20bar/buzz" |
file: string | The full path of the file. | file == "/path/to/endpoints/file/index.ts" |
group: string | The name of the current test group, which is usually the name of the controller class. | group == "MyControllerClass |
httpMethod: string | Upper case HTTP method. | httpMethod in ("POST", "GET", "PATCH", "DELETE") |
methodName: string | The name of the controller method, that is executed by the test. | methodName == "getAllUsers |
parameters: string | The JSON string of the object, with all URL parameters. | parameters == "{\"user_id\":\"foo\"}" |
query: string | The JSON string of the object, with all query parameters. | query == "{\"a\":\"foo\"}" |
route: string | The unescaped route of the endpoint. | route == "/foo bar/buzz" |
The module makes use of:
The API documentation can be found here.
No vulnerabilities found.
No security vulnerabilities found.