mirror of
https://github.com/juspay/hyperswitch.git
synced 2025-10-29 09:07:09 +08:00
docs(postman): Rewrite postman documentation to help devs develop tests for their features (#2613)
This commit is contained in:
@ -2,6 +2,8 @@
|
||||
|
||||
The heart of `newman`(with directory support) and `UI-tests`
|
||||
|
||||
> If you're developing a collection and you want to learn more about it, click [_**here**_](/README.md)
|
||||
|
||||
## Newman
|
||||
|
||||
- Make sure you that you _**do not**_ have the newman (from the Postman team) installed but rather the `newman` fork with directory support
|
||||
|
||||
@ -1,34 +1,35 @@
|
||||
# Postman Collection
|
||||
|
||||
You can find the latest Postman collection [here][postman-collection].
|
||||
For getting started quickly, you can also
|
||||
[fork the Postman collection][postman-collection-fork] under your workspace.
|
||||
This directory contains the Postman collection for all Hyperswitch supported connectors and this documentation talks about how to build the collection.
|
||||
|
||||
## Auto-Generating the Postman Collection
|
||||
## Development of collections
|
||||
|
||||
The [Postman collection][postman-collection] is generated using
|
||||
[`portman`][portman] tool from the [OpenAPI specification][openapi-spec].
|
||||
If you'd like to generate the collection from the OpenAPI specification, you can
|
||||
follow the below steps:
|
||||
### Prerequisites
|
||||
|
||||
1. Install `portman`, refer to the instructions on
|
||||
[the repository][portman-repository]:
|
||||
- [Postman](https://www.postman.com/downloads/)
|
||||
- Newman CLI fork from npm: npm install -g 'https://github.com/knutties/newman.git#feature/newman-dir'
|
||||
|
||||
```shell
|
||||
npm install -g @apideck/portman
|
||||
```
|
||||
### Steps to build the collection
|
||||
|
||||
2. From the root of the project directory, run the following command to generate
|
||||
the Postman collection.
|
||||
- `stripe.postman_collection.json` is the most up-to-date collection that consists of all the features that Hyperswitch supports
|
||||
- It is recommended that you use the `stripe.postman_collection.json` as the base collection to build the collection for other connectors
|
||||
- If you developed a new feature, make sure you add them to the `stripe.postman_collection.json` given that it is a core feature. If it is collection specific, add it to the respective collection
|
||||
|
||||
```shell
|
||||
portman --cliOptionsFile postman/portman-cli.json
|
||||
```
|
||||
---
|
||||
|
||||
**NOTE:** Please verify Postman collection variables before trying out the APIs.
|
||||
- The collection consists of many directories and each directory consists of a set of requests. Each directory is a feature and each request is a test case
|
||||
- The directory name should be the name of the feature and the request name should be the name of the test case
|
||||
- If the feature that you add is a flow test case, make sure you add the test case to the `Flow Testcases` directory. If you did a refactor that handles errors say, expiry date of a card, make sure you add the test case to the `Variation Cases` directory prefixed by `Scenario-<number>` where `<number>` is the number of the scenario
|
||||
- If the feature that you add is a core feature, make sure you add the test case to the `Happy Cases` directory where only the happy cases are tested.
|
||||
|
||||
[postman-collection]: https://www.postman.com/hyperswitch/workspace/hyperswitch/collection/25176183-e36f8e3d-078c-4067-a273-f456b6b724ed
|
||||
[postman-collection-fork]: https://www.postman.com/hyperswitch/workspace/hyperswitch/collection/25176183-e36f8e3d-078c-4067-a273-f456b6b724ed/fork
|
||||
[portman]: https://www.npmjs.com/package/@apideck/portman
|
||||
[openapi-spec]: /openapi/open_api_spec.yaml
|
||||
[portman-repository]: https://github.com/apideck-libraries/portman
|
||||
---
|
||||
|
||||
- Make sure that you update the `tests` section where the necessary `javascript` code has to written/updated to test the feature (assertion checks where you verify the results obtained with the expected outcome)
|
||||
- If certain `tests` need to be run at the time of making a request, make sure you add them to the `Pre-request Script` section of the request
|
||||
|
||||
---
|
||||
|
||||
- After all the development is done, make sure you right click and run the collection in respective environments to make sure that the collection runs successfully
|
||||
- Export the collection as `v2.1` and save it `postman/collection-json` directory
|
||||
- Export the postman-collection to its directory structure by using the command `newman dir-export /path/to/collection.json` and move the folder to `postman/collection-dir` (for more info, refer to [Newman-Fork](https://github.com/juspay/hyperswitch/tree/main/crates/test_utils#newman))
|
||||
- You can run the dir postman collection from newman using `rustman` by referring [here](https://github.com/juspay/hyperswitch/tree/main/crates/test_utils#running-tests)
|
||||
Reference in New Issue
Block a user