@@ -46,3 +46,62 @@ Feature: step definitions
4646 """
4747 When I run cypress
4848 Then it passes
49+
50+ Rule: [filePart] should allow for step definitions on multiple levels
51+
52+ Background :
53+ Given additional preprocessor configuration
54+ """
55+ {
56+ "stepDefinitions": "cypress/e2e/[filepart]/steps.js"
57+ }
58+ """
59+ And a file named "cypress/e2e/foo/bar/baz/a.feature" with:
60+ """
61+ @a
62+ Feature: a feature name
63+ Scenario: a scenario name
64+ Given a step
65+ """
66+ And a file named "cypress/e2e/b.feature" with:
67+ """
68+ Feature: another feature name
69+ Scenario: another scenario name
70+ Given another step
71+ """
72+
73+ Scenario : first level
74+ Given a file named "cypress/e2e/steps.js" with:
75+ """
76+ const { Given } = require("@badeball/cypress-cucumber-preprocessor");
77+ Given("a step", function() {});
78+ """
79+ When I run cypress with "-e tags=@a"
80+ Then it passes
81+
82+ Scenario : second level
83+ Given a file named "cypress/e2e/foo/steps.js" with:
84+ """
85+ const { Given } = require("@badeball/cypress-cucumber-preprocessor");
86+ Given("a step", function() {});
87+ """
88+ When I run cypress with "-e tags=@a"
89+ Then it passes
90+
91+ Scenario : third level
92+ Given a file named "cypress/e2e/foo/bar/steps.js" with:
93+ """
94+ const { Given } = require("@badeball/cypress-cucumber-preprocessor");
95+ Given("a step", function() {});
96+ """
97+ When I run cypress with "-e tags=@a"
98+ Then it passes
99+
100+ Scenario : fourth level
101+ Given a file named "cypress/e2e/foo/bar/baz/steps.js" with:
102+ """
103+ const { Given } = require("@badeball/cypress-cucumber-preprocessor");
104+ Given("a step", function() {});
105+ """
106+ When I run cypress with "-e tags=@a"
107+ Then it passes
0 commit comments