Create a branch with custom parameters
This commit is contained in:
14
type-parser/features/custom-type.feature
Normal file
14
type-parser/features/custom-type.feature
Normal file
@ -0,0 +1,14 @@
|
||||
Feature: Custom parameter types
|
||||
Scenario:
|
||||
When I interpret "to be" as a type
|
||||
Then true is true
|
||||
And false is not true
|
||||
|
||||
Scenario:
|
||||
When a date 24.12.2018 is given
|
||||
Then it gets converted to a Date object
|
||||
|
||||
Scenario:
|
||||
Given a regular expression matches this pattern
|
||||
And it matches that pattern
|
||||
Then the step definition should be called twice
|
48
type-parser/features/steps/custom-type.js
Normal file
48
type-parser/features/steps/custom-type.js
Normal file
@ -0,0 +1,48 @@
|
||||
const { Before, Given, When, Then, defineParameterType } = require('cucumber')
|
||||
const { expect } = require('chai')
|
||||
|
||||
defineParameterType({
|
||||
name: 'tobe',
|
||||
regexp: [
|
||||
/is/,
|
||||
/is not/
|
||||
],
|
||||
transformer: x => x === 'is'
|
||||
})
|
||||
|
||||
When('I interpret "to be" as a type', function () {
|
||||
})
|
||||
|
||||
Then('true {tobe} true', function (predicate) {
|
||||
expect(predicate).to.be.true
|
||||
})
|
||||
|
||||
Then('false {tobe} true', function (predicate) {
|
||||
expect(predicate).to.be.false
|
||||
})
|
||||
|
||||
defineParameterType({
|
||||
name: 'date',
|
||||
regexp: /\d{2}\.\d{2}\.\d{4}/
|
||||
})
|
||||
|
||||
When('a date {date} is given', function (dateString) {
|
||||
const parts = dateString.split('.').reverse()
|
||||
this.date = new Date(...parts)
|
||||
})
|
||||
|
||||
Then('it gets converted to a Date object', function () {
|
||||
expect(this.date).to.be.an.instanceof(Date)
|
||||
})
|
||||
|
||||
Before(function () {
|
||||
this.count = 0
|
||||
})
|
||||
|
||||
Given(/(a regular expression|it) matches (this|that) pattern/, function (_, _) {
|
||||
++this.count
|
||||
})
|
||||
|
||||
Then('the step definition should be called twice', function () {
|
||||
expect(this.count).to.equal(2)
|
||||
})
|
Reference in New Issue
Block a user