mirror of
https://github.com/juspay/hyperswitch.git
synced 2025-10-30 09:38:33 +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`
|
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
|
## Newman
|
||||||
|
|
||||||
- Make sure you that you _**do not**_ have the newman (from the Postman team) installed but rather the `newman` fork with directory support
|
- 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
|
# Postman Collection
|
||||||
|
|
||||||
You can find the latest Postman collection [here][postman-collection].
|
This directory contains the Postman collection for all Hyperswitch supported connectors and this documentation talks about how to build the collection.
|
||||||
For getting started quickly, you can also
|
|
||||||
[fork the Postman collection][postman-collection-fork] under your workspace.
|
|
||||||
|
|
||||||
## Auto-Generating the Postman Collection
|
## Development of collections
|
||||||
|
|
||||||
The [Postman collection][postman-collection] is generated using
|
### Prerequisites
|
||||||
[`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:
|
|
||||||
|
|
||||||
1. Install `portman`, refer to the instructions on
|
- [Postman](https://www.postman.com/downloads/)
|
||||||
[the repository][portman-repository]:
|
- Newman CLI fork from npm: npm install -g 'https://github.com/knutties/newman.git#feature/newman-dir'
|
||||||
|
|
||||||
```shell
|
### Steps to build the collection
|
||||||
npm install -g @apideck/portman
|
|
||||||
```
|
|
||||||
|
|
||||||
2. From the root of the project directory, run the following command to generate
|
- `stripe.postman_collection.json` is the most up-to-date collection that consists of all the features that Hyperswitch supports
|
||||||
the Postman collection.
|
- 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
|
- 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)
|
||||||
[openapi-spec]: /openapi/open_api_spec.yaml
|
- 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
|
||||||
[portman-repository]: https://github.com/apideck-libraries/portman
|
|
||||||
|
---
|
||||||
|
|
||||||
|
- 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