effect-bdd 0.1.1 → 0.1.3
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.
- package/README.md +14 -0
- package/dist/Bdd.d.ts +0 -1
- package/dist/Bdd.js +1 -2
- package/dist/Errors.d.ts +0 -1
- package/dist/Errors.js +1 -2
- package/dist/bin.d.ts +0 -1
- package/dist/bin.js +1 -2
- package/dist/index.d.ts +0 -1
- package/dist/index.js +1 -2
- package/dist/internal/cli/errors.d.ts +0 -1
- package/dist/internal/cli/errors.js +1 -2
- package/dist/internal/cli/glob.d.ts +0 -1
- package/dist/internal/cli/glob.js +1 -2
- package/dist/internal/cli/loaders.d.ts +0 -1
- package/dist/internal/cli/loaders.js +1 -2
- package/dist/internal/cli/models.d.ts +0 -1
- package/dist/internal/cli/models.js +1 -2
- package/dist/internal/cli/moduleLoader.d.ts +0 -1
- package/dist/internal/cli/moduleLoader.js +1 -2
- package/dist/internal/cli/reporter.d.ts +0 -1
- package/dist/internal/cli/reporter.js +1 -2
- package/dist/internal/cli/runner.d.ts +0 -1
- package/dist/internal/cli/runner.js +1 -2
- package/dist/internal/cli/tagExpression.d.ts +0 -1
- package/dist/internal/cli/tagExpression.js +1 -2
- package/dist/internal/cucumberCompiler.d.ts +0 -1
- package/dist/internal/cucumberCompiler.js +1 -2
- package/dist/internal/expression.d.ts +0 -1
- package/dist/internal/expression.js +1 -2
- package/dist/internal/matching.d.ts +0 -1
- package/dist/internal/matching.js +1 -2
- package/dist/internal/parser.d.ts +0 -1
- package/dist/internal/parser.js +1 -2
- package/dist/internal/runner.d.ts +0 -1
- package/dist/internal/runner.js +1 -2
- package/dist/main.d.ts +0 -1
- package/dist/main.js +1 -2
- package/package.json +4 -10
- package/dist/Bdd.d.ts.map +0 -1
- package/dist/Bdd.js.map +0 -1
- package/dist/Errors.d.ts.map +0 -1
- package/dist/Errors.js.map +0 -1
- package/dist/bin.d.ts.map +0 -1
- package/dist/bin.js.map +0 -1
- package/dist/index.d.ts.map +0 -1
- package/dist/index.js.map +0 -1
- package/dist/internal/cli/errors.d.ts.map +0 -1
- package/dist/internal/cli/errors.js.map +0 -1
- package/dist/internal/cli/glob.d.ts.map +0 -1
- package/dist/internal/cli/glob.js.map +0 -1
- package/dist/internal/cli/loaders.d.ts.map +0 -1
- package/dist/internal/cli/loaders.js.map +0 -1
- package/dist/internal/cli/models.d.ts.map +0 -1
- package/dist/internal/cli/models.js.map +0 -1
- package/dist/internal/cli/moduleLoader.d.ts.map +0 -1
- package/dist/internal/cli/moduleLoader.js.map +0 -1
- package/dist/internal/cli/reporter.d.ts.map +0 -1
- package/dist/internal/cli/reporter.js.map +0 -1
- package/dist/internal/cli/runner.d.ts.map +0 -1
- package/dist/internal/cli/runner.js.map +0 -1
- package/dist/internal/cli/tagExpression.d.ts.map +0 -1
- package/dist/internal/cli/tagExpression.js.map +0 -1
- package/dist/internal/cucumberCompiler.d.ts.map +0 -1
- package/dist/internal/cucumberCompiler.js.map +0 -1
- package/dist/internal/expression.d.ts.map +0 -1
- package/dist/internal/expression.js.map +0 -1
- package/dist/internal/matching.d.ts.map +0 -1
- package/dist/internal/matching.js.map +0 -1
- package/dist/internal/parser.d.ts.map +0 -1
- package/dist/internal/parser.js.map +0 -1
- package/dist/internal/runner.d.ts.map +0 -1
- package/dist/internal/runner.js.map +0 -1
- package/dist/main.d.ts.map +0 -1
- package/dist/main.js.map +0 -1
- package/src/Bdd.ts +0 -575
- package/src/Errors.ts +0 -60
- package/src/bin.ts +0 -10
- package/src/index.ts +0 -155
- package/src/internal/cli/errors.ts +0 -20
- package/src/internal/cli/glob.ts +0 -37
- package/src/internal/cli/loaders.ts +0 -100
- package/src/internal/cli/models.ts +0 -118
- package/src/internal/cli/moduleLoader.ts +0 -41
- package/src/internal/cli/reporter.ts +0 -367
- package/src/internal/cli/runner.ts +0 -336
- package/src/internal/cli/tagExpression.ts +0 -173
- package/src/internal/cucumberCompiler.ts +0 -58
- package/src/internal/expression.ts +0 -103
- package/src/internal/matching.ts +0 -81
- package/src/internal/parser.ts +0 -155
- package/src/internal/runner.ts +0 -373
- package/src/main.ts +0 -169
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"parser.js","names":["Context","Effect","pipe","Option","ParseError","GherkinCompiler","Service","parse","source","uri","flatMap","compiler","compile","toFeature","fnUntraced","parsed","feature","document","undefined","parseError","pickles","length","location","line","column","indexDocument","name","steps","Map","scenarios","child","children","background","indexBackground","scenario","indexScenario","rule","ruleChild","step","set","id","findScenario","pickle","index","astNodeIds","liftPredicate","ids","fromNullishOr","find","has","get","findStep","pickleStep","map","stepLine","stepKeyword","normalizeKeyword","keyword","trimmed","trim","message","fail"],"sources":["../../src/internal/parser.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"runner.d.ts","sourceRoot":"","sources":["../../src/internal/runner.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"runner.js","names":["Arr","Effect","pipe","Option","Record","Schema","MatchError","ParseError","StepError","Matching","Parser","decodeTable","row","decode","decodeUnknownEffect","table","headers","rows","map","cells","cell","value","undefined","succeed","forEach","rowObject","decodeDocString","schema","docString","content","run","featureDefinition","source","parse","flatMap","feature","validateFeatureDefinition","buildScenarioTasks","runScenarioTask","scenarios","name","void","fail","message","scenario","step","line","candidates","pickles","pickle","scenarioIndex","findScenario","rule","getOrUndefined","featureName","scenarioName","scenarioLine","location","getOrElse","ruleName","ruleLine","tags","tag","task","runSteps","steps","initial","as","length","state","index","runStep","stepKind","kind","resolve","transition","captures","decodeArgument","argument","mapError","cause","text","stepLine","expression","hasStepArgument","failMatch","_tag","dataTable","matchError","textMatches","matchingTextTransitions","transitions","matches","matchingKeywordTransitions","match","onEmpty","renderTransitionKinds","onNonEmpty","headNonEmpty","header","fromEntries","concreteStepKind","onNone","stepKeyword","column","onSome"],"sources":["../../src/internal/runner.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
|
package/dist/main.d.ts.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"main.d.ts","sourceRoot":"","sources":["../src/main.ts"],"names":[],"mappings":"AAAA,gBAAgB;AAChB,OAAO,KAAK,MAAM,MAAM,eAAe,CAAA;AAEvC,OAAO,KAAK,MAAM,MAAM,eAAe,CAAA;AACvC,OAAO,KAAK,QAAQ,MAAM,8BAA8B,CAAA;AACxD,OAAO,KAAK,OAAO,MAAM,6BAA6B,CAAA;AA4EtD,gBAAgB;AAChB,eAAO,MAAM,GAAG;;;;;;;;;;;;;+FAwEf,CAAA;AAED,gBAAgB;AAChB,eAAO,MAAM,GAAG,6DAEd,CAAA"}
|
package/dist/main.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"main.js","names":["Effect","Layer","Option","CliError","Command","Flag","PackageJson","type","GlobResolver","ModuleLoader","Reporter","Runner","CucumberCompiler","features","string","pipe","withAlias","withDescription","between","Infinity","steps","reporter","choice","outputFileText","file","optional","outputFileHtml","outputFileJson","outputFileJunit","parallel","integer","filter","value","withDefault","verbose","boolean","tags","name","failFast","cli","make","fnUntraced","options","reporters","length","outputFiles","isSome","text","html","json","junit","filters","names","makeReporters","mapError","toUserError","result","run","emitAll","summary","failed","diagnostics","fail","UserError","cause","provide","mergeAll","Live","Cucumber","version","error","renderUserError","message","String"],"sources":["../src/main.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
|
package/src/Bdd.ts
DELETED
|
@@ -1,575 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* @since 4.0.0
|
|
3
|
-
*/
|
|
4
|
-
import type * as Effect from "effect/Effect"
|
|
5
|
-
import { type Pipeable, pipeArguments } from "effect/Pipeable"
|
|
6
|
-
import type * as Schema from "effect/Schema"
|
|
7
|
-
import { MatchError, ParseError, StepError } from "./Errors.ts"
|
|
8
|
-
import * as cucumberCompiler from "./internal/cucumberCompiler.ts"
|
|
9
|
-
import * as expression from "./internal/expression.ts"
|
|
10
|
-
import * as parser from "./internal/parser.ts"
|
|
11
|
-
import * as runner from "./internal/runner.ts"
|
|
12
|
-
|
|
13
|
-
/**
|
|
14
|
-
* Error type returned by `Bdd.run`.
|
|
15
|
-
*
|
|
16
|
-
* @category errors
|
|
17
|
-
* @since 4.0.0
|
|
18
|
-
*/
|
|
19
|
-
export type RunError = ParseError | MatchError | StepError
|
|
20
|
-
|
|
21
|
-
/**
|
|
22
|
-
* Service used to compile Gherkin source into executable scenarios.
|
|
23
|
-
*
|
|
24
|
-
* **Details**
|
|
25
|
-
*
|
|
26
|
-
* The built-in `Cucumber` layer uses Cucumber's parser and Pickle compiler.
|
|
27
|
-
* Custom implementations must preserve the compiled step, argument, tag, and
|
|
28
|
-
* source-location semantics expected by the runner.
|
|
29
|
-
*
|
|
30
|
-
* @category services
|
|
31
|
-
* @since 4.0.0
|
|
32
|
-
*/
|
|
33
|
-
export const GherkinCompiler = Object.assign(parser.GherkinCompiler, {
|
|
34
|
-
Cucumber: cucumberCompiler.Cucumber
|
|
35
|
-
})
|
|
36
|
-
|
|
37
|
-
/**
|
|
38
|
-
* Service used to compile Gherkin source into executable scenarios.
|
|
39
|
-
*
|
|
40
|
-
* **Details**
|
|
41
|
-
*
|
|
42
|
-
* The built-in `Cucumber` layer uses Cucumber's parser and Pickle compiler.
|
|
43
|
-
* Custom implementations must preserve the compiled step, argument, tag, and
|
|
44
|
-
* source-location semantics expected by the runner.
|
|
45
|
-
*
|
|
46
|
-
* @category services
|
|
47
|
-
* @since 4.0.0
|
|
48
|
-
*/
|
|
49
|
-
export type GherkinCompiler = parser.GherkinCompiler
|
|
50
|
-
|
|
51
|
-
/**
|
|
52
|
-
* Advanced keyword metadata attached to a transition.
|
|
53
|
-
*
|
|
54
|
-
* @category models
|
|
55
|
-
* @since 4.0.0
|
|
56
|
-
*/
|
|
57
|
-
export type StepKind = "Step" | "Given" | "When" | "Then"
|
|
58
|
-
|
|
59
|
-
/**
|
|
60
|
-
* A named capture decoded from step text with a Schema.
|
|
61
|
-
*
|
|
62
|
-
* @category utility types
|
|
63
|
-
* @since 4.0.0
|
|
64
|
-
*/
|
|
65
|
-
export type Capture<Name extends string, A> = expression.Capture<Name, A>
|
|
66
|
-
|
|
67
|
-
/**
|
|
68
|
-
* Advanced type helper that maps capture definitions to decoded values.
|
|
69
|
-
*
|
|
70
|
-
* @category utility types
|
|
71
|
-
* @since 4.0.0
|
|
72
|
-
*/
|
|
73
|
-
export type CapturesOf<Captures extends ReadonlyArray<Capture<string, unknown>>> = {
|
|
74
|
-
readonly [Capture in Captures[number] as Capture["name"]]: Capture extends expression.Capture<string, infer A> ? A
|
|
75
|
-
: never
|
|
76
|
-
}
|
|
77
|
-
|
|
78
|
-
/**
|
|
79
|
-
* Advanced matcher type for a compiled step expression.
|
|
80
|
-
*
|
|
81
|
-
* @category utility types
|
|
82
|
-
* @since 4.0.0
|
|
83
|
-
*/
|
|
84
|
-
export type Expression<A> = expression.Matcher<A>
|
|
85
|
-
|
|
86
|
-
/**
|
|
87
|
-
* A decoded DataTable argument.
|
|
88
|
-
*
|
|
89
|
-
* @category models
|
|
90
|
-
* @since 4.0.0
|
|
91
|
-
*/
|
|
92
|
-
export interface TableArg<A> {
|
|
93
|
-
readonly _tag: "TableArg"
|
|
94
|
-
readonly decode: (table: runner.DataTableInput) => Effect.Effect<A, unknown>
|
|
95
|
-
}
|
|
96
|
-
|
|
97
|
-
/**
|
|
98
|
-
* A decoded DocString argument.
|
|
99
|
-
*
|
|
100
|
-
* @category models
|
|
101
|
-
* @since 4.0.0
|
|
102
|
-
*/
|
|
103
|
-
export interface DocStringArg<A> {
|
|
104
|
-
readonly _tag: "DocStringArg"
|
|
105
|
-
readonly decode: (docString: runner.DocStringInput) => Effect.Effect<A, unknown>
|
|
106
|
-
}
|
|
107
|
-
|
|
108
|
-
/**
|
|
109
|
-
* Advanced union of decoded step argument descriptors.
|
|
110
|
-
*
|
|
111
|
-
* @category models
|
|
112
|
-
* @since 4.0.0
|
|
113
|
-
*/
|
|
114
|
-
export type StepArg<A> = TableArg<A> | DocStringArg<A>
|
|
115
|
-
|
|
116
|
-
/**
|
|
117
|
-
* Advanced model for a transition registered on a feature definition.
|
|
118
|
-
*
|
|
119
|
-
* @category models
|
|
120
|
-
* @since 4.0.0
|
|
121
|
-
*/
|
|
122
|
-
export interface Transition<State, E, R, Captures = unknown, Argument = unknown> {
|
|
123
|
-
readonly kind: StepKind
|
|
124
|
-
readonly expression: Expression<Captures>
|
|
125
|
-
readonly argument?: StepArg<Argument>
|
|
126
|
-
readonly run: (captures: Captures, argument: Argument, state: State) => Effect.Effect<State, E, R>
|
|
127
|
-
}
|
|
128
|
-
|
|
129
|
-
/**
|
|
130
|
-
* Existential transition type stored by feature definitions.
|
|
131
|
-
*
|
|
132
|
-
* **Details**
|
|
133
|
-
*
|
|
134
|
-
* A feature can contain many transitions with different capture and step
|
|
135
|
-
* argument shapes. The public constructors keep those shapes typed at the
|
|
136
|
-
* handler boundary, while the runtime matcher stores transitions through this
|
|
137
|
-
* existential type.
|
|
138
|
-
*
|
|
139
|
-
* @category models
|
|
140
|
-
* @since 4.0.0
|
|
141
|
-
*/
|
|
142
|
-
export type AnyTransition<State, E, R> = Transition<State, E, R, any, any>
|
|
143
|
-
|
|
144
|
-
/**
|
|
145
|
-
* A local immutable feature definition used to interpret scenarios from Gherkin source.
|
|
146
|
-
*
|
|
147
|
-
* @category models
|
|
148
|
-
* @since 4.0.0
|
|
149
|
-
*/
|
|
150
|
-
export interface Feature<State, E = never, R = never> extends Pipeable {
|
|
151
|
-
readonly _tag: "Feature"
|
|
152
|
-
readonly name: string
|
|
153
|
-
readonly initial: State
|
|
154
|
-
readonly transitions: ReadonlyArray<AnyTransition<State, E, R>>
|
|
155
|
-
}
|
|
156
|
-
|
|
157
|
-
/**
|
|
158
|
-
* Result returned after all scenarios pass.
|
|
159
|
-
*
|
|
160
|
-
* @category models
|
|
161
|
-
* @since 4.0.0
|
|
162
|
-
*/
|
|
163
|
-
export interface Report {
|
|
164
|
-
readonly feature: string
|
|
165
|
-
readonly scenarios: ReadonlyArray<{
|
|
166
|
-
readonly name: string
|
|
167
|
-
readonly steps: number
|
|
168
|
-
readonly tags: ReadonlyArray<string>
|
|
169
|
-
}>
|
|
170
|
-
}
|
|
171
|
-
|
|
172
|
-
type FeatureType<State, E, R> = Feature<State, E, R>
|
|
173
|
-
type ReportType = Report
|
|
174
|
-
type RunErrorType = RunError
|
|
175
|
-
type GherkinCompilerType = GherkinCompiler
|
|
176
|
-
type CaptureType<Name extends string, A> = Capture<Name, A>
|
|
177
|
-
type TableArgType<A> = TableArg<A>
|
|
178
|
-
type DocStringArgType<A> = DocStringArg<A>
|
|
179
|
-
|
|
180
|
-
/**
|
|
181
|
-
* Creates a named capture decoded from step text.
|
|
182
|
-
*
|
|
183
|
-
* **When to use**
|
|
184
|
-
*
|
|
185
|
-
* Use a capture when a Gherkin step contains a value that should be decoded
|
|
186
|
-
* before it reaches the step implementation.
|
|
187
|
-
*
|
|
188
|
-
* **Example** (Capturing a number)
|
|
189
|
-
*
|
|
190
|
-
* ```ts
|
|
191
|
-
* import { Bdd } from "effect-bdd"
|
|
192
|
-
* import { Schema } from "effect"
|
|
193
|
-
*
|
|
194
|
-
* const qty = Bdd.capture("qty", Schema.FiniteFromString)
|
|
195
|
-
*
|
|
196
|
-
* const step = Bdd.when`${qty} items are added`
|
|
197
|
-
* ```
|
|
198
|
-
*
|
|
199
|
-
* @category constructors
|
|
200
|
-
* @since 4.0.0
|
|
201
|
-
*/
|
|
202
|
-
const capture_: <const Name extends string, A>(
|
|
203
|
-
name: Name,
|
|
204
|
-
schema: Schema.Codec<A, string>
|
|
205
|
-
) => Capture<Name, A> = expression.makeCapture
|
|
206
|
-
|
|
207
|
-
/**
|
|
208
|
-
* Creates a DataTable decoder from a row Schema.
|
|
209
|
-
*
|
|
210
|
-
* **Details**
|
|
211
|
-
*
|
|
212
|
-
* The first row of the Gherkin table is interpreted as the header row. Each
|
|
213
|
-
* following row is converted into an object and decoded with the supplied
|
|
214
|
-
* Schema.
|
|
215
|
-
*
|
|
216
|
-
* **Example** (Decoding table rows)
|
|
217
|
-
*
|
|
218
|
-
* ```ts
|
|
219
|
-
* import { Bdd } from "effect-bdd"
|
|
220
|
-
* import { Schema } from "effect"
|
|
221
|
-
*
|
|
222
|
-
* const Item = Schema.Struct({
|
|
223
|
-
* sku: Schema.String,
|
|
224
|
-
* qty: Schema.FiniteFromString
|
|
225
|
-
* })
|
|
226
|
-
*
|
|
227
|
-
* const items = Bdd.table(Item)
|
|
228
|
-
* ```
|
|
229
|
-
*
|
|
230
|
-
* @category constructors
|
|
231
|
-
* @since 4.0.0
|
|
232
|
-
*/
|
|
233
|
-
const table_ = <S extends Schema.Decoder<unknown, never>>(row: S): TableArg<ReadonlyArray<S["Type"]>> => ({
|
|
234
|
-
_tag: "TableArg",
|
|
235
|
-
decode: runner.decodeTable(row)
|
|
236
|
-
})
|
|
237
|
-
|
|
238
|
-
/**
|
|
239
|
-
* Creates a DocString decoder from a Schema.
|
|
240
|
-
*
|
|
241
|
-
* **When to use**
|
|
242
|
-
*
|
|
243
|
-
* Use `docString` for larger step arguments, such as JSON payloads or plain
|
|
244
|
-
* text blocks, that should be decoded before the step implementation runs.
|
|
245
|
-
*
|
|
246
|
-
* **Example** (Decoding JSON)
|
|
247
|
-
*
|
|
248
|
-
* ```ts
|
|
249
|
-
* import { Bdd } from "effect-bdd"
|
|
250
|
-
* import { Schema } from "effect"
|
|
251
|
-
*
|
|
252
|
-
* const Payload = Schema.Struct({
|
|
253
|
-
* sku: Schema.String,
|
|
254
|
-
* qty: Schema.Number
|
|
255
|
-
* })
|
|
256
|
-
*
|
|
257
|
-
* const payload = Bdd.docString(Schema.fromJsonString(Payload))
|
|
258
|
-
* ```
|
|
259
|
-
*
|
|
260
|
-
* @category constructors
|
|
261
|
-
* @since 4.0.0
|
|
262
|
-
*/
|
|
263
|
-
const docString_ = <S extends Schema.Decoder<unknown, never>>(schema: S): DocStringArg<S["Type"]> => ({
|
|
264
|
-
_tag: "DocStringArg",
|
|
265
|
-
decode: runner.decodeDocString(schema)
|
|
266
|
-
})
|
|
267
|
-
|
|
268
|
-
/**
|
|
269
|
-
* Creates a feature definition with an explicit initial state.
|
|
270
|
-
*
|
|
271
|
-
* **Details**
|
|
272
|
-
*
|
|
273
|
-
* A feature definition is an immutable state machine. Each registered step
|
|
274
|
-
* receives the current state and returns the next state in an `Effect`.
|
|
275
|
-
*
|
|
276
|
-
* **Example** (Building a feature)
|
|
277
|
-
*
|
|
278
|
-
* ```ts
|
|
279
|
-
* import { Bdd } from "effect-bdd"
|
|
280
|
-
* import { Effect } from "effect"
|
|
281
|
-
*
|
|
282
|
-
* const feature = Bdd.feature("Counter", { initial: 0 }).pipe(
|
|
283
|
-
* Bdd.given`zero`(() => Effect.succeed(0)),
|
|
284
|
-
* Bdd.when`increment`((_captures, state) => Effect.succeed(state + 1))
|
|
285
|
-
* )
|
|
286
|
-
* ```
|
|
287
|
-
*
|
|
288
|
-
* @category constructors
|
|
289
|
-
* @since 4.0.0
|
|
290
|
-
*/
|
|
291
|
-
const feature_ = <State>(name: string, options: {
|
|
292
|
-
readonly initial: State
|
|
293
|
-
}): Feature<State> => makeFeature(name, options.initial, [])
|
|
294
|
-
|
|
295
|
-
/**
|
|
296
|
-
* Tagged-template transition factory that does not attach Gherkin keyword metadata.
|
|
297
|
-
*
|
|
298
|
-
* **When to use**
|
|
299
|
-
*
|
|
300
|
-
* Use `step` for a transition that is semantically valid as any concrete
|
|
301
|
-
* Gherkin step kind. Prefer `given`, `when`, or `then` when the transition
|
|
302
|
-
* represents setup, action, or assertion specifically.
|
|
303
|
-
*
|
|
304
|
-
* @category constructors
|
|
305
|
-
* @since 4.0.0
|
|
306
|
-
*/
|
|
307
|
-
const step_: StepTag<"Step"> = makeStepTag("Step")
|
|
308
|
-
|
|
309
|
-
/**
|
|
310
|
-
* Tagged-template transition factory for `Given` steps.
|
|
311
|
-
*
|
|
312
|
-
* **Details**
|
|
313
|
-
*
|
|
314
|
-
* A source `Given` step only matches `given` or keyword-agnostic `step`
|
|
315
|
-
* transitions.
|
|
316
|
-
*
|
|
317
|
-
* `And` and `But` steps inherit the previous concrete Gherkin keyword before
|
|
318
|
-
* matching, so they can match a `given` transition when they follow a `Given`.
|
|
319
|
-
*
|
|
320
|
-
* @category constructors
|
|
321
|
-
* @since 4.0.0
|
|
322
|
-
*/
|
|
323
|
-
const given_: StepTag<"Given"> = makeStepTag("Given")
|
|
324
|
-
|
|
325
|
-
/**
|
|
326
|
-
* Tagged-template transition factory for `When` steps.
|
|
327
|
-
*
|
|
328
|
-
* **Details**
|
|
329
|
-
*
|
|
330
|
-
* A source `When` step only matches `when` or keyword-agnostic `step`
|
|
331
|
-
* transitions.
|
|
332
|
-
*
|
|
333
|
-
* `And` and `But` steps inherit the previous concrete Gherkin keyword before
|
|
334
|
-
* matching, so they can match a `when` transition when they follow a `When`.
|
|
335
|
-
*
|
|
336
|
-
* @category constructors
|
|
337
|
-
* @since 4.0.0
|
|
338
|
-
*/
|
|
339
|
-
const when_: StepTag<"When"> = makeStepTag("When")
|
|
340
|
-
|
|
341
|
-
/**
|
|
342
|
-
* Tagged-template transition factory for `Then` steps.
|
|
343
|
-
*
|
|
344
|
-
* **Details**
|
|
345
|
-
*
|
|
346
|
-
* A source `Then` step only matches `then` or keyword-agnostic `step`
|
|
347
|
-
* transitions.
|
|
348
|
-
*
|
|
349
|
-
* `And` and `But` steps inherit the previous concrete Gherkin keyword before
|
|
350
|
-
* matching, so they can match a `then` transition when they follow a `Then`.
|
|
351
|
-
*
|
|
352
|
-
* @category constructors
|
|
353
|
-
* @since 4.0.0
|
|
354
|
-
*/
|
|
355
|
-
const then_: StepTag<"Then"> = makeStepTag("Then")
|
|
356
|
-
|
|
357
|
-
/**
|
|
358
|
-
* Runs Gherkin source against a feature definition.
|
|
359
|
-
*
|
|
360
|
-
* **Details**
|
|
361
|
-
*
|
|
362
|
-
* The feature definition name must match the Gherkin `Feature:` name. Every
|
|
363
|
-
* scenario starts from the feature's initial state. Background steps run before
|
|
364
|
-
* each scenario, then scenario steps run in source order.
|
|
365
|
-
*
|
|
366
|
-
* **Example** (Running Gherkin)
|
|
367
|
-
*
|
|
368
|
-
* ```ts
|
|
369
|
-
* import { Bdd } from "effect-bdd"
|
|
370
|
-
* import { Effect } from "effect"
|
|
371
|
-
*
|
|
372
|
-
* const feature = Bdd.feature("Counter", { initial: 0 }).pipe(
|
|
373
|
-
* Bdd.given`zero`(() => Effect.succeed(0)),
|
|
374
|
-
* Bdd.when`increment`((_captures, state) => Effect.succeed(state + 1))
|
|
375
|
-
* )
|
|
376
|
-
*
|
|
377
|
-
* const program = Bdd.run(feature, `
|
|
378
|
-
* Feature: Counter
|
|
379
|
-
*
|
|
380
|
-
* Scenario: Increment
|
|
381
|
-
* Given zero
|
|
382
|
-
* When increment
|
|
383
|
-
* `).pipe(Effect.provide(Bdd.GherkinCompiler.Cucumber))
|
|
384
|
-
* ```
|
|
385
|
-
*
|
|
386
|
-
* @category running
|
|
387
|
-
* @since 4.0.0
|
|
388
|
-
*/
|
|
389
|
-
const run_ = <State, E, R>(
|
|
390
|
-
self: Feature<State, E, R>,
|
|
391
|
-
source: string
|
|
392
|
-
): Effect.Effect<Report, RunError, R | GherkinCompiler> => runner.run(self, source)
|
|
393
|
-
|
|
394
|
-
/**
|
|
395
|
-
* Namespace-style API for building and running BDD feature definitions.
|
|
396
|
-
*
|
|
397
|
-
* **Details**
|
|
398
|
-
*
|
|
399
|
-
* The namespace contains constructors for captures, step arguments, feature
|
|
400
|
-
* definitions, step transitions, and the Gherkin runner.
|
|
401
|
-
*
|
|
402
|
-
* **Example** (Defining and running a feature)
|
|
403
|
-
*
|
|
404
|
-
* ```ts
|
|
405
|
-
* import { Bdd } from "effect-bdd"
|
|
406
|
-
* import { Effect, Schema } from "effect"
|
|
407
|
-
*
|
|
408
|
-
* const qty = Bdd.capture("qty", Schema.FiniteFromString)
|
|
409
|
-
*
|
|
410
|
-
* const feature = Bdd.feature("Counter", { initial: 0 }).pipe(
|
|
411
|
-
* Bdd.given`zero`(() => Effect.succeed(0)),
|
|
412
|
-
* Bdd.when`increment by ${qty}`(({ qty }, state) => Effect.succeed(state + qty))
|
|
413
|
-
* )
|
|
414
|
-
*
|
|
415
|
-
* const program = Bdd.run(feature, `
|
|
416
|
-
* Feature: Counter
|
|
417
|
-
*
|
|
418
|
-
* Scenario: Increment
|
|
419
|
-
* Given zero
|
|
420
|
-
* When increment by 2
|
|
421
|
-
* `).pipe(Effect.provide(Bdd.GherkinCompiler.Cucumber))
|
|
422
|
-
* ```
|
|
423
|
-
*
|
|
424
|
-
* @category models
|
|
425
|
-
* @since 4.0.0
|
|
426
|
-
*/
|
|
427
|
-
export const Bdd = {
|
|
428
|
-
ParseError,
|
|
429
|
-
MatchError,
|
|
430
|
-
StepError,
|
|
431
|
-
GherkinCompiler,
|
|
432
|
-
capture: capture_,
|
|
433
|
-
table: table_,
|
|
434
|
-
docString: docString_,
|
|
435
|
-
feature: feature_,
|
|
436
|
-
step: step_,
|
|
437
|
-
given: given_,
|
|
438
|
-
when: when_,
|
|
439
|
-
// oxlint-disable-next-line unicorn/no-thenable
|
|
440
|
-
then: then_,
|
|
441
|
-
run: run_
|
|
442
|
-
}
|
|
443
|
-
|
|
444
|
-
/**
|
|
445
|
-
* Type helpers for the {@link Bdd} value namespace.
|
|
446
|
-
*
|
|
447
|
-
* @since 4.0.0
|
|
448
|
-
*/
|
|
449
|
-
export declare namespace Bdd {
|
|
450
|
-
/**
|
|
451
|
-
* A local immutable feature definition used to interpret scenarios from Gherkin source.
|
|
452
|
-
*
|
|
453
|
-
* @since 4.0.0
|
|
454
|
-
*/
|
|
455
|
-
export type Feature<State, E = never, R = never> = FeatureType<State, E, R>
|
|
456
|
-
|
|
457
|
-
/**
|
|
458
|
-
* Result returned after all scenarios pass.
|
|
459
|
-
*
|
|
460
|
-
* @since 4.0.0
|
|
461
|
-
*/
|
|
462
|
-
export type Report = ReportType
|
|
463
|
-
|
|
464
|
-
/**
|
|
465
|
-
* Error type returned by `Bdd.run`.
|
|
466
|
-
*
|
|
467
|
-
* @since 4.0.0
|
|
468
|
-
*/
|
|
469
|
-
export type RunError = RunErrorType
|
|
470
|
-
|
|
471
|
-
/**
|
|
472
|
-
* Service used to compile Gherkin source into executable scenarios.
|
|
473
|
-
*
|
|
474
|
-
* @since 4.0.0
|
|
475
|
-
*/
|
|
476
|
-
export type GherkinCompiler = GherkinCompilerType
|
|
477
|
-
|
|
478
|
-
/**
|
|
479
|
-
* A named capture decoded from step text with a Schema.
|
|
480
|
-
*
|
|
481
|
-
* @since 4.0.0
|
|
482
|
-
*/
|
|
483
|
-
export type Capture<Name extends string, A> = CaptureType<Name, A>
|
|
484
|
-
|
|
485
|
-
/**
|
|
486
|
-
* A decoded DataTable argument.
|
|
487
|
-
*
|
|
488
|
-
* @since 4.0.0
|
|
489
|
-
*/
|
|
490
|
-
export type TableArg<A> = TableArgType<A>
|
|
491
|
-
|
|
492
|
-
/**
|
|
493
|
-
* A decoded DocString argument.
|
|
494
|
-
*
|
|
495
|
-
* @since 4.0.0
|
|
496
|
-
*/
|
|
497
|
-
export type DocStringArg<A> = DocStringArgType<A>
|
|
498
|
-
}
|
|
499
|
-
|
|
500
|
-
/**
|
|
501
|
-
* Advanced tagged-template function type used to register transitions.
|
|
502
|
-
*
|
|
503
|
-
* @category utility types
|
|
504
|
-
* @since 4.0.0
|
|
505
|
-
*/
|
|
506
|
-
export interface StepTag<Kind extends StepKind> {
|
|
507
|
-
<const Captures extends ReadonlyArray<Capture<string, unknown>>>(
|
|
508
|
-
strings: TemplateStringsArray,
|
|
509
|
-
...captures: Captures
|
|
510
|
-
): StepBuilder<CapturesOf<Captures>, Kind>
|
|
511
|
-
}
|
|
512
|
-
|
|
513
|
-
/**
|
|
514
|
-
* Advanced builder returned by a tagged-template transition.
|
|
515
|
-
*
|
|
516
|
-
* @category utility types
|
|
517
|
-
* @since 4.0.0
|
|
518
|
-
*/
|
|
519
|
-
export interface StepBuilder<Captures, Kind extends StepKind> {
|
|
520
|
-
<State, E, R>(
|
|
521
|
-
impl: (captures: Captures, state: State) => Effect.Effect<State, E, R>
|
|
522
|
-
): <E0, R0>(self: Feature<State, E0, R0>) => Feature<State, E | E0, R | R0>
|
|
523
|
-
<State, Arg, E, R>(
|
|
524
|
-
arg: StepArg<Arg>,
|
|
525
|
-
impl: (captures: Captures, arg: Arg, state: State) => Effect.Effect<State, E, R>
|
|
526
|
-
): <E0, R0>(self: Feature<State, E0, R0>) => Feature<State, E | E0, R | R0>
|
|
527
|
-
readonly kind: Kind
|
|
528
|
-
readonly expression: Expression<Captures>
|
|
529
|
-
}
|
|
530
|
-
|
|
531
|
-
const makeFeature = <State, E, R>(
|
|
532
|
-
name: string,
|
|
533
|
-
initial: State,
|
|
534
|
-
transitions: ReadonlyArray<AnyTransition<State, E, R>>
|
|
535
|
-
): Feature<State, E, R> => ({
|
|
536
|
-
_tag: "Feature",
|
|
537
|
-
name,
|
|
538
|
-
initial,
|
|
539
|
-
transitions,
|
|
540
|
-
pipe() {
|
|
541
|
-
return pipeArguments(this, arguments)
|
|
542
|
-
}
|
|
543
|
-
})
|
|
544
|
-
|
|
545
|
-
function makeStepTag<Kind extends StepKind>(kind: Kind): StepTag<Kind> {
|
|
546
|
-
return ((strings: TemplateStringsArray, ...captures: ReadonlyArray<Capture<string, unknown>>) => {
|
|
547
|
-
const matcher = expression.makeMatcher(strings, captures)
|
|
548
|
-
const builder = ((first: unknown, second?: unknown) => (self: Feature<unknown, unknown, unknown>) => {
|
|
549
|
-
const transition: AnyTransition<unknown, unknown, unknown> = second === undefined ?
|
|
550
|
-
{
|
|
551
|
-
kind,
|
|
552
|
-
expression: matcher,
|
|
553
|
-
run: (captures, _argument, state) =>
|
|
554
|
-
(first as (captures: unknown, state: unknown) => Effect.Effect<unknown, unknown, unknown>)(captures, state)
|
|
555
|
-
} :
|
|
556
|
-
{
|
|
557
|
-
kind,
|
|
558
|
-
expression: matcher,
|
|
559
|
-
argument: first as StepArg<unknown>,
|
|
560
|
-
run: (captures, argument, state) =>
|
|
561
|
-
(second as (
|
|
562
|
-
captures: unknown,
|
|
563
|
-
argument: unknown,
|
|
564
|
-
state: unknown
|
|
565
|
-
) => Effect.Effect<unknown, unknown, unknown>)(captures, argument, state)
|
|
566
|
-
}
|
|
567
|
-
return makeFeature(self.name, self.initial, [...self.transitions, transition])
|
|
568
|
-
}) as StepBuilder<unknown, Kind>
|
|
569
|
-
Object.defineProperties(builder, {
|
|
570
|
-
kind: { value: kind },
|
|
571
|
-
expression: { value: matcher }
|
|
572
|
-
})
|
|
573
|
-
return builder
|
|
574
|
-
}) as StepTag<Kind>
|
|
575
|
-
}
|