mirror of
				https://github.com/juspay/hyperswitch.git
				synced 2025-10-31 10:06:32 +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
	 Pa1NarK
					Pa1NarK