diff options
Diffstat (limited to 'formatter/features')
| -rw-r--r-- | formatter/features/formatter.feature | 16 | ||||
| -rw-r--r-- | formatter/features/steps/formatter.js | 29 |
2 files changed, 45 insertions, 0 deletions
diff --git a/formatter/features/formatter.feature b/formatter/features/formatter.feature new file mode 100644 index 0000000..2c22ac0 --- /dev/null +++ b/formatter/features/formatter.feature @@ -0,0 +1,16 @@ +Feature: + Scenario: + Given the numbers: + | Summand | Summand | + | 1 | 1 | + When I sum them + Then I get 2 + + Given a list of proper names: + | Jakob | + | Ludwig | + | Felix | + | Mendelssohn | + | Bartholdy | + When I concatenate them together + Then the name is "Jakob Ludwig Felix Mendelssohn Bartholdy" diff --git a/formatter/features/steps/formatter.js b/formatter/features/steps/formatter.js new file mode 100644 index 0000000..a0dcff9 --- /dev/null +++ b/formatter/features/steps/formatter.js @@ -0,0 +1,29 @@ +const { Given, When, Then } = require('cucumber') +const assert = require('assert') + +Given('the numbers:', function (dataTable) { + this.numbers = dataTable.rows()[0] + }) + +When('I sum them', function () { + this.sum = this.numbers + .map(x => parseInt(x)) + .reduce((x, acc) => acc + x, 0) +}) + +Then('I get {int}', function (int) { + assert.equal(this.sum, int) +}) + +Given('a list of proper names:', function (dataTable) { + this.names = dataTable.raw() + .map(x => x[0]) +}) + +When('I concatenate them together', function () { + this.name = this.names.join(' ') +}) + +Then('the name is {string}', function (string) { + assert.equal(this.name, string) +}) |
