assert-groups
v1.0.0
Published
Assertion Groups is a simple yet scalable assertion system that allows for both usage of the simple "assert" function in Typescript, as well as dedicated environments for running groups of assertions for files specifically made to test the progarm.
Readme
Assert Groups
Overview
Assertion Groups is a simple yet scalable assertion system that allows for both usage of the simple "assert" function in Typescript, as well as dedicated environments for running groups of assertions for files specifically made to test the progarm.
Features
- A simple to use
assertfunction that works exactly how you'd expect it to, and allows for custom error messages. - Assertion sets through
runAssertionSet, letting you run multiple assertions in a row without cluttering code. - Environments through
AssertionEnvironments, letting you create multiple environments that are independent from each other, and are all run sequentially without any of them affecting each other.
Requirements
You need to have the latest version of Node JS installed.
Installation
Run the following command in your project:
npm install assert-groupsThis will install the package and let you use it immediately.
Usage
For simple assertions, you can use the assert function like so:
const result = this.validate(inputData);
assert(result.admin, "The inputted data results in the user not being classified as an admin.")When running multiple asserts in a row, instead of using multiple assert functions in a row, you can instead use runAssertionSet:
const result = this.validate(inputData);
runAssertionSet([
{
condition: result.admin,
errorMessage: "The inputted data results in teh suer not being classified as an admin."
},
{
condition: !result.banned
errorMessage: "The accessed account is banned."
}
])Finally, if you create a file which is run to test your entire program, you can use AssertionEnvironments in order to split test cases into their own self-contained environments, ensuring that one environment does not affect another environment.
const assertionEnvironments = new AssertionEnvironments([
{
name: "Logging In",
environment: () => {
// Code for the first environment goes here...
}
},
{
name: "Viewing Pages",
environment: () => {
// Code for the second environment goes here...
}
}
]);
// Runs all of the environments to ensure that the code works.
assertionEnvironments.test();The main purpose of using AssertionEnvironments is to ensure easy scalability whenever you need to add more assertion cases, ensuring that past assertion cases and edits to the test environment does not affect future assertion cases.
Contributions
Contributions are always welcome. If there's a feature that's missing, or something that doesn't quite work, feel free to either raise an issue or a feature request, or implement the fix or new feature yourself.
License
Assert Gruops is released under the MIT License.
