gherkin_system 0.1.1 → 0.2.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/CHANGELOG.md +7 -0
- data/README.md +6 -6
- data/lib/generators/gherkin_system/feature/feature_generator.rb +3 -3
- data/lib/generators/gherkin_system/install/install_generator.rb +3 -3
- data/lib/gherkin_system/configuration.rb +1 -1
- data/lib/gherkin_system/version.rb +1 -1
- data/skills/gherkin-system/SKILL.md +1 -1
- metadata +1 -1
checksums.yaml
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
SHA256:
|
|
3
|
-
metadata.gz:
|
|
4
|
-
data.tar.gz:
|
|
3
|
+
metadata.gz: f34062309b4b10e565f452e4057b7d92c061685cfd678be14ece67bf45e2cda5
|
|
4
|
+
data.tar.gz: c37ba7f15a150aaa4915cbdef0bedc7daba986253c5a9884eaad19fa90aed550
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: 703ebc78c70e5d9dc9c660a49277222e7969d0f5e42924f320f80967583f733cc15676565a6ab6d1d58634b639bb4571f4870d8bfe7f3582954be9c9a6a01e73
|
|
7
|
+
data.tar.gz: dfb3f04e649d77afd862551b3fa4147addaa43ad3bc2cb9eb3cdc3498e39f916855c9c8a09da3bf01fe86d5d5c62db234ded563e1b69afd5f1ac4e8b00bf04af
|
data/CHANGELOG.md
CHANGED
|
@@ -7,6 +7,13 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
|
|
|
7
7
|
|
|
8
8
|
## [Unreleased]
|
|
9
9
|
|
|
10
|
+
## [0.2.0] - 2026-10-04
|
|
11
|
+
|
|
12
|
+
### Changed
|
|
13
|
+
|
|
14
|
+
- Default feature discovery uses `features/**/*.feature`; existing `features/system/` files remain included
|
|
15
|
+
- Install and feature generators write directly under `features/`
|
|
16
|
+
|
|
10
17
|
## [0.1.1] - 2026-10-04
|
|
11
18
|
|
|
12
19
|
### Added
|
data/README.md
CHANGED
|
@@ -20,7 +20,7 @@ bin/rails g gherkin_system:feature checkout
|
|
|
20
20
|
bin/rails g gherkin_system:steps checkout
|
|
21
21
|
```
|
|
22
22
|
|
|
23
|
-
`install` creates `test/system/gherkin_test.rb`, `features
|
|
23
|
+
`install` creates `test/system/gherkin_test.rb`, `features/`, and `test/support/gherkin/`. `feature` and `steps` add a `.feature` file and a steps module; wire the module into the loader with `require_relative` and `config.include_steps`.
|
|
24
24
|
|
|
25
25
|
## Agent skill
|
|
26
26
|
|
|
@@ -42,7 +42,7 @@ require "application_system_test_case"
|
|
|
42
42
|
require "gherkin_system/rails"
|
|
43
43
|
|
|
44
44
|
GherkinSystem.configure do |config|
|
|
45
|
-
config.features = Rails.root.join("features
|
|
45
|
+
config.features = Rails.root.join("features/**/*.feature")
|
|
46
46
|
config.include_steps AuthenticationSteps
|
|
47
47
|
config.strict = true
|
|
48
48
|
end
|
|
@@ -54,7 +54,7 @@ Generated tests subclass the class you pass. The gem does not install its own sy
|
|
|
54
54
|
|
|
55
55
|
| Option | ENV variable | Default |
|
|
56
56
|
| --- | --- | --- |
|
|
57
|
-
| `features` | | `features
|
|
57
|
+
| `features` | | `features/**/*.feature` |
|
|
58
58
|
| `tags` | `GHERKIN_TAGS` | unset → every scenario is compiled |
|
|
59
59
|
| `strict` | | `true`. A broken scenario fails itself. The rest still run |
|
|
60
60
|
| `base_test_class` | | required by `load!` when `base:` is omitted |
|
|
@@ -125,9 +125,9 @@ Rails `setup` runs first. Gherkin hooks and steps run inside the test method. Ra
|
|
|
125
125
|
|
|
126
126
|
```sh
|
|
127
127
|
bin/rails gherkin
|
|
128
|
-
bin/rails gherkin features
|
|
129
|
-
bin/rails gherkin features/
|
|
130
|
-
bin/rails gherkin features/
|
|
128
|
+
bin/rails gherkin features
|
|
129
|
+
bin/rails gherkin features/checkout.feature
|
|
130
|
+
bin/rails gherkin features/checkout.feature:42
|
|
131
131
|
bin/rails gherkin --tags "@critical and not @slow"
|
|
132
132
|
bin/rails gherkin:check
|
|
133
133
|
bin/rails gherkin:list
|
|
@@ -4,14 +4,14 @@ require "rails/generators"
|
|
|
4
4
|
|
|
5
5
|
module GherkinSystem
|
|
6
6
|
module Generators
|
|
7
|
-
# Creates a Gherkin feature under features
|
|
7
|
+
# Creates a Gherkin feature under features.
|
|
8
8
|
class FeatureGenerator < Rails::Generators::NamedBase
|
|
9
9
|
source_root File.expand_path("templates", __dir__)
|
|
10
10
|
|
|
11
|
-
desc "Creates a Gherkin feature file under features
|
|
11
|
+
desc "Creates a Gherkin feature file under features"
|
|
12
12
|
|
|
13
13
|
def create_feature
|
|
14
|
-
template "feature.feature.tt", File.join("features
|
|
14
|
+
template "feature.feature.tt", File.join("features", "#{file_path}.feature")
|
|
15
15
|
end
|
|
16
16
|
end
|
|
17
17
|
end
|
|
@@ -8,15 +8,15 @@ module GherkinSystem
|
|
|
8
8
|
class InstallGenerator < Rails::Generators::Base
|
|
9
9
|
source_root File.expand_path("templates", __dir__)
|
|
10
10
|
|
|
11
|
-
desc "Creates gherkin_system loader, features
|
|
11
|
+
desc "Creates gherkin_system loader, features, and test/support/gherkin"
|
|
12
12
|
|
|
13
13
|
def create_loader
|
|
14
14
|
template "gherkin_test.rb", "test/system/gherkin_test.rb"
|
|
15
15
|
end
|
|
16
16
|
|
|
17
17
|
def create_features_directory
|
|
18
|
-
empty_directory "features
|
|
19
|
-
create_file "features
|
|
18
|
+
empty_directory "features"
|
|
19
|
+
create_file "features/.keep", ""
|
|
20
20
|
end
|
|
21
21
|
|
|
22
22
|
def create_steps_directory
|
|
@@ -14,7 +14,7 @@ Do not add cucumber-rails, a Cucumber World, or a second test runner. Do not use
|
|
|
14
14
|
|
|
15
15
|
## Add a scenario
|
|
16
16
|
|
|
17
|
-
1. Scaffold with `bin/rails g gherkin_system:feature NAME` and `bin/rails g gherkin_system:steps NAME` (or write the files by hand under `features
|
|
17
|
+
1. Scaffold with `bin/rails g gherkin_system:feature NAME` and `bin/rails g gherkin_system:steps NAME` (or write the files by hand under `features/**/*.feature` and `test/support/gherkin/*_steps.rb`).
|
|
18
18
|
2. Require the steps file from `test/system/gherkin_test.rb` before `GherkinSystem.load!`.
|
|
19
19
|
3. Run `bin/rails gherkin:check`.
|
|
20
20
|
4. Run the scenario with `bin/rails gherkin path/to/file.feature:LINE`.
|