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) })