# puppetflow

> [![semantic-release: angular](https://img.shields.io/badge/semantic--release-angular-e10079?logo=semantic-release)](https://github.com/semantic-release/semantic-release) [![XO code style](https://shields.io/badge/code_style-5ed9c7?logo=xo&labelColor=gray)

Latest version **1.0.1** (published 2023-09-29) · 0 weekly downloads

## Install

```sh
npm install puppetflow
pnpm add puppetflow
yarn add puppetflow
bun add puppetflow
```

## Health

**Score 20/100 (F)** — status: abandoned.

Positive: esm support; no vulnerabilities.

Warnings: low downloads; no types.

Negative: abandoned; low maintenance score.

## Facts

| | |
|---|---|
| Version | 1.0.1 |
| Published | 2023-09-29 |
| First published | 2023-09-28 |
| Weekly downloads | 0 |
| TypeScript types | none |
| Module format | ESM |
| Dependencies | 2 |
| Unpacked size | 286.4 KB |
| Known vulnerabilities | 0 |
| Install scripts | no |
| Maintainers | tomerh2001 |

## Links

- npm: https://www.npmjs.com/package/puppetflow
- npm.io page: https://npm.io/package/puppetflow

## Dependencies (2)

- [jest](https://npm.io/package/jest.md) ^29.7.0
- [supertest](https://npm.io/package/supertest.md) ^6.3.3

## Recent versions

- 1.0.1 (latest) — 2023-09-29
- 1.0.0 — 2023-09-28

## README

# PuppetFlow
[![semantic-release: angular](https://img.shields.io/badge/semantic--release-angular-e10079?logo=semantic-release)](https://github.com/semantic-release/semantic-release)
[![XO code style](https://shields.io/badge/code_style-5ed9c7?logo=xo&labelColor=gray)](https://github.com/xojs/xo)
[![CodeQL](https://github.com/tomerh2001/PuppetFlow/actions/workflows/github-code-scanning/codeql/badge.svg)](https://github.com/tomerh2001/PuppetFlow/actions/workflows/github-code-scanning/codeql)

An end-to-end testing framework for orchestrating and validating communication flows across microservices.

## Example
```typescript
import supertest from 'supertest'

import webApp from './web/src/app'
import serverApp from './server/src/app'
import secondServerApp from './second-server/src/app'

const web = supertest(webApp)                      // React App
const server = supertest(serverApp)                // Express App
const secondServer = supertest(secondServerApp)    // Express App

theUrl('localhost:3034').means(server)
theUrl('localhost:3030').means(secondServer)

web.get('/payment/cc').then(() => { 
    expect(server)
        .toBeCalledAt('/charge/cc')
        .withMethod('POST')
        .then(() => {
            expect(secondServer)
                .toBeCalledAt('/charge/finalize/cc')
                .withMethod('POST')
                .andRespondWith(200, {success: true})
        })
})  
```

---
_Source: https://npm.io/package/puppetflow · Machine-readable twin of the npm.io package page. Health data is recomputed on every publish._
