import { Given, When, Then } from 'cucumber' import { expect } from 'chai' Given('the following books by Simon Frank are in the collection:', function (dataTable) { this.objects = [] dataTable.hashes().forEach(el => { this.objects.push({ id: parseInt(el.id), title: el.title }) }) }) Given('the following books by Søren Kierkegaard are in the collection:', function (dataTable) { this.objects = [] dataTable.rows().forEach(el => { this.objects.push({ id: parseInt(el[0]), title: el[1] }) }) }) Given('the following book is in the collection:', function (dataTable) { const data = dataTable.rowsHash() this.objects = { id: parseInt(data.id), title: data.title, author: data.author } }) Given('the following books are in the collection:', function (dataTable) { this.objects = [] dataTable.raw().forEach(el => { this.objects.push({ author: el[0], title: el[1] }) }) }) When('I stringify it', function () { this.result = JSON.stringify(this.objects) }) Then('I should get:', function (expected) { expect(JSON.parse(expected)) .to.deep.equal(JSON.parse(this.result)) })