<div style="text-align:center">
    <img src="https://files.ponicode.com/cli/Cover.gif" alt="ponicode-gui" width="950"/>
</div>

# Ponicode

## An AI-Powered Unit Testing Tool

Ponicode is a quick and easy AI-powered solution for Javascript & Typescript unit testing.
Create your unit tests easily from your terminal. Just run the script to generate unit tests ✨.

Achieve high test coverage without writing a single line of code.
Learn more about Ponicode on [ponicode.com](https://ponicode.com).

---

## Install

Install ponicode :

```bash
npm i -g ponicode
```

# Usage

First login to ponicode :

```bash
ponicode login
# Follow the login process
```

You can now generate tests for your whole project in only one command 🙌 :

```bash
cd /path/to/your/project
ponicode test ./
```

<div style="text-align:left">
    <img src="https://files.ponicode.com/cli/CLI-gif1.gif" alt="ponicode-gui" width="650"/>
</div>

You can use shell regex to select the files to unit test:

```bash
ponicode test *.js # all JS file
ponicode test folder/ # all files inside folder
```

<div style="text-align:left">
    <img src="https://files.ponicode.com/cli/CLI-gif3.gif" alt="ponicode-gui" width="250"/>
</div>
Yours unit test files are automatically created within your project.

---

## Why Ponicode ?

Ponicode is the perfect tool to increase and maintain your code coverage over time but also to bring all your existing projects up to the level of quality you need.  
Ponicode enables you to bootstrap the unit test creation and thus 💪 increase the robustness of your code 🔎 detect bugs ahead of the curve.  
Less technical debt, less bugs in production, less tedious code writing.  
Each test scenario that Ponicode creates for your functions has unique context relevant inputs. We try to bring you as close as possible to have an exhaustive unit test file suite with both happy path and edge cases.

---

## Features

### One command line AI powered Unit Test generation

Let our AI write the body of your tests and populate it with smart context specific inputs. We provide instant test suite generation. All you have left to do is to write your assertions.  
A full test suite for your function in one click by choosing the best input values for your function to achieve the highest coverage.

### AI-Powered test scenario suggestions

Ponicode recommends the best test cases to achieve the highest coverage for your function. You will never again forget to test an edge case!

✔️ Don’t worry about test syntax anymore  
✔️ Don’t forget risky scenarios  
✔️ Focus on the added value  
✔️ Save time on code writing  
✔️ Upgrade legacy code quality in the blink of an eye

### Supported languages

- TypeScript
- JavaScript

---

## Resources

### Tutorials and Documentation

Take a look to our [detailed documentation](https://ponicode.github.io/#/cli/installation)

Watch this [one minute video](https://youtu.be/jTQUKsFdutA) to see Ponicode CLI in action.  
You can find our documentation and our other solutions on ponicode.com

### Feedback, Support and Community

Join our [community slack](https://ponicode-community.slack.com/join/shared_invite/zt-fiq4fhkg-DE~a_FkJ7xtiZxW7efyA4Q#/) to chat with our team and Ponicode users across the world! We will be glad to help you and hear your feedback. You will also be updated on our latest product releases.

You can also contact us on our social media profiles.

- [Twitter](https://twitter.com/PonicodeDev)
- [Linkedin](https://www.linkedin.com/company/ponicode)
- [Instagram](https://www.instagram.com/ponicode)
- [Facebook](https://www.facebook.com/PonicodeCom)

### Team

We are a passionate and multinational team with a genuine desire to create groundbreaking technology and practical solutions for developers.

---

## Keywords

coverage easy expect assertions unittest unit-test mocking test testing tdd bdd lowcode npm CLI Ponicode ai artificial-intelligence javascript typescript
