diff options
Diffstat (limited to 'async/features')
| -rw-r--r-- | async/features/request.feature | 8 | ||||
| -rw-r--r-- | async/features/steps/async.js | 9 | ||||
| -rw-r--r-- | async/features/steps/request.js | 25 | ||||
| -rw-r--r-- | async/features/support/hooks.js | 20 |
4 files changed, 62 insertions, 0 deletions
diff --git a/async/features/request.feature b/async/features/request.feature new file mode 100644 index 0000000..85e3123 --- /dev/null +++ b/async/features/request.feature @@ -0,0 +1,8 @@ +Feature: Request + Scenario: + When I request the same resource three times + Then the responses should be the same + + Scenario: + When I request the same resource twice + Then the responses should be the same diff --git a/async/features/steps/async.js b/async/features/steps/async.js new file mode 100644 index 0000000..ea88856 --- /dev/null +++ b/async/features/steps/async.js @@ -0,0 +1,9 @@ +import { When } from 'cucumber' +import axios from 'axios' + +When('I request the same resource twice', async function () { + const url = 'http://localhost:8080/' + + this.first = await axios.request(url).data + this.second = await axios.request(url).data +}) diff --git a/async/features/steps/request.js b/async/features/steps/request.js new file mode 100644 index 0000000..ac74d10 --- /dev/null +++ b/async/features/steps/request.js @@ -0,0 +1,25 @@ +import { Given, When, Then } from 'cucumber' +import { expect } from 'chai' +import axios from 'axios' + +When('I request the same resource three times', function () { + const url = 'http://localhost:8080/' + + return axios.request(url) + .then(res => { + this.first = res.data + + return axios.request(url) + }).then(res => { + this.second = res.data + + return axios.request(url) + }).then(res => { + this.third = res.data + }) +}) + +Then('the responses should be the same', function () { + expect(this.first).to.equal(this.second) + expect(this.second).to.equal(this.third) +}) diff --git a/async/features/support/hooks.js b/async/features/support/hooks.js new file mode 100644 index 0000000..c86df1e --- /dev/null +++ b/async/features/support/hooks.js @@ -0,0 +1,20 @@ +import { BeforeAll, AfterAll } from 'cucumber' +import express from 'express' + +let server + +BeforeAll(function () { + const app = express() + + app.get('/', (req, res) => { + res.send('Alea iacta est') + }) + + server = app.listen(8080) +}) + +AfterAll(function () { + server.close() +}) + + |
