Sha256: 5c4f312b4b2a61c62dc05619c49b44a9720bb9bedfc9f56d90583d735426198f

Contents?: true

Size: 1.16 KB

Versions: 8

Compression:

Stored size: 1.16 KB

Contents

# Contributing

This documents includes guidelines for contributors.

## Testing

The project employs a diverse suite tests that help ensure it works as intended and prevents regressions as it continues to grow and evolve.

### Unit Tests
Most of the internal components the project uses have unit tests to thoroughly test them. Here dependencies of components are mocked or stubbed appropriately to ensure tests are reliable, test only one component and are fast!

### Acceptance Tests

Acceptance tests run the built `shopify` command line against a wide range of fixtures and verify its output and results. They are the slowest to run however provide the most coverage. The idea is to test a few complete scenarios for each major feature.

Those are written in [Cucumber](https://cucumber.io/) and Ruby and can be found in the [`features/`](/features) directory. They can be executed by running

```bash
bundle exec cucumber
bundle exec cucumber features/theme.feature:3 # A specific test
```

> **Note** that we currently don't have an approach for stubbing the interactions with the GraphQL APIs and that therefore we can't write acceptance tests for commands that interact with APIs.

Version data entries

8 entries across 8 versions & 1 rubygems

Version Path
shopify-cli-2.6.5 CONTRIBUTING.md
shopify-cli-2.6.4 CONTRIBUTING.md
shopify-cli-2.6.3 CONTRIBUTING.md
shopify-cli-2.6.2 CONTRIBUTING.md
shopify-cli-2.6.1 CONTRIBUTING.md
shopify-cli-2.6.0 CONTRIBUTING.md
shopify-cli-2.5.0 CONTRIBUTING.md
shopify-cli-2.4.0 CONTRIBUTING.md