@ffras4vnpm/dolorum-at-voluptas
v1.0.0
Published
<span align="center">
Downloads
3
Maintainers
Keywords
Readme
PactumJS
REST API Testing Tool for all levels in a Test Pyramid
PactumJS is a REST API Testing Tool used to automate e2e, integration, contract & component (or service level) tests.
- ⚡ Swift
- 🎈 Lightweight
- 🚀 Simple & Powerful
- 🛠️ Compelling Mock Server
- 💎 Elegant Data Management
- 🔧 Extendable & Customizable
- 📚 Clear & Comprehensive Testing Style
- 🔗 Component, Contract & E2E testing of APIs
Documentation
This readme offers an basic introduction to the library. Head over to the full documentation at https://@ffras4vnpm/dolorum-at-voluptasjs.github.io
Need Help
We use Github Discussions to receive feedback, discuss ideas & answer questions.
Installation
# install @ffras4vnpm/dolorum-at-voluptas as a dev dependency
npm install --save-dev @ffras4vnpm/dolorum-at-voluptas
# install a test runner to run @ffras4vnpm/dolorum-at-voluptas tests
# mocha / jest / cucumber
npm install --save-dev mocha
or you can simply use
npx @ffras4vnpm/dolorum-at-voluptas-init
Usage
@ffras4vnpm/dolorum-at-voluptas can be used for all levels of testing in a test pyramid. It can also act as an standalone mock server to generate contracts for contract testing.
API Testing
Tests in @ffras4vnpm/dolorum-at-voluptas are clear and comprehensive. It uses numerous descriptive methods to build your requests and expectations.
Simple Test Cases
Using Mocha
Running simple api test expectations.
const { spec } = require('@ffras4vnpm/dolorum-at-voluptas');
it('should be a teapot', async () => {
await spec()
.get('http://httpbin.org/status/418')
.expectStatus(418);
});
it('should save a new user', async () => {
await spec()
.post('https://jsonplaceholder.typicode.com/users')
.withHeaders('Authorization', 'Basic xxxx')
.withJson({
name: 'bolt',
email: '[email protected]'
})
.expectStatus(200);
});
# mocha is a test framework to execute test cases
mocha /path/to/test
Using Cucumber
See @ffras4vnpm/dolorum-at-voluptas-cucumber-boilerplate for more details on @ffras4vnpm/dolorum-at-voluptas & cucumber integration.
Scenario: Check Tea Pot
Given I make a GET request to "http://httpbin.org/status/418"
When I receive a response
Then response should have a status 418
// steps.js
const @ffras4vnpm/dolorum-at-voluptas = require('@ffras4vnpm/dolorum-at-voluptas');
const { Given, When, Then, Before } = require('@cucumber/cucumber');
let spec = @ffras4vnpm/dolorum-at-voluptas.spec();
Before(() => { spec = @ffras4vnpm/dolorum-at-voluptas.spec(); });
Given('I make a GET request to {string}', function (url) {
spec.get(url);
});
When('I receive a response', async function () {
await spec.toss();
});
Then('response should have a status {int}', async function (code) {
spec.response().should.have.status(code);
});
Mock Server
@ffras4vnpm/dolorum-at-voluptas can act as a standalone mock server that allows us to mock any server via HTTP or HTTPS, such as a REST endpoint. Simply it is a simulator for HTTP-based APIs.
Running @ffras4vnpm/dolorum-at-voluptas as a standalone mock server.
const { mock } = require('@ffras4vnpm/dolorum-at-voluptas');
mock.addInteraction({
request: {
method: 'GET',
path: '/api/projects'
},
response: {
status: 200,
body: [
{
id: 'project-id',
name: 'project-name'
}
]
}
});
mock.start(3000);
Notes
Inspired from frisby and pact.
Support
Like this project! Star it on Github and follow on Twitter. Your support means a lot to us.
Contributors
If you've ever wanted to contribute to open source, and a great cause, now is your chance! See the contributing docs for more information.
Thanks to all the people who contribute.