mukan-ignite/integration/readme.md
Mukan Erkin Törük 26b204bd04
Some checks are pending
Docs Deploy / build_and_deploy (push) Waiting to run
Generate Docs / cli (push) Waiting to run
Generate Config Doc / cli (push) Waiting to run
Go formatting / go-formatting (push) Waiting to run
Check links / markdown-link-check (push) Waiting to run
Integration / pre-test (push) Waiting to run
Integration / test on (push) Blocked by required conditions
Integration / status (push) Blocked by required conditions
Lint / Lint Go code (push) Waiting to run
Test / test (ubuntu-latest) (push) Waiting to run
feat: fork Ignite CLI v29 as Mukan Ignite — remove cosmos-sdk restrictions
2026-05-11 03:31:37 +03:00

51 lines
1.6 KiB
Markdown

# Ignite CLI Integration Tests
The Ignite CLI integration tests build a new application and run all Ignite CLI commands to check the Ignite CLI code integrity. The runners and helper methods are located in this current folder. The test commands are split into folders, for better concurrency, each folder is a parallel job into the CI workflow. To create a new one, we only need to create a new folder. This will be automatically detected and added into the PR CI checks, or we can only create new tests into an existing folder or file.
Running synchronously all integration tests can be very slow. The command below can run everything:
```shell
go test -v -timeout 120m ./integration
```
Or you can just run a specific test folder, like the `list` types test
```shell
go test -v -timeout 120m ./integration/list
```
# Usage
- Create a new env and scaffold an empty chain:
```go
var (
env = envtest.New(t)
path = env.Scaffold("github.com/test/blog")
)
```
- Now, you can use the env to run the ignite commands and check the success status:
```go
env.Must(env.Exec("create a list with bool",
step.NewSteps(step.New(
step.Exec(envtest.IgniteApp, "s", "list", "--yes", "document", "signed:bool"),
step.Workdir(path),
)),
))
env.EnsureSteady()
```
- To check if the command returns an error, you can add the `envtest.ExecShouldError()` step:
```go
env.Must(env.Exec("should prevent creating a list with duplicated fields",
step.NewSteps(step.New(
step.Exec(envtest.IgniteApp, "s", "list", "--yes", "company", "name", "name"),
step.Workdir(path),
)),
envtest.ExecShouldError(),
))
env.EnsureSteady()
```