Add code
This commit is contained in:
7
async/babel.config.js
Normal file
7
async/babel.config.js
Normal file
@@ -0,0 +1,7 @@
|
||||
module.exports = {
|
||||
presets: [
|
||||
[ '@babel/env', {
|
||||
useBuiltIns: 'usage'
|
||||
}]
|
||||
]
|
||||
}
|
8
async/features/request.feature
Normal file
8
async/features/request.feature
Normal file
@@ -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
|
9
async/features/steps/async.js
Normal file
9
async/features/steps/async.js
Normal file
@@ -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
|
||||
})
|
25
async/features/steps/request.js
Normal file
25
async/features/steps/request.js
Normal file
@@ -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)
|
||||
})
|
20
async/features/support/hooks.js
Normal file
20
async/features/support/hooks.js
Normal file
@@ -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()
|
||||
})
|
||||
|
||||
|
2195
async/package-lock.json
generated
Normal file
2195
async/package-lock.json
generated
Normal file
File diff suppressed because it is too large
Load Diff
21
async/package.json
Normal file
21
async/package.json
Normal file
@@ -0,0 +1,21 @@
|
||||
{
|
||||
"name": "async",
|
||||
"version": "1.0.0",
|
||||
"description": "",
|
||||
"main": "index.js",
|
||||
"scripts": {
|
||||
"test": "cucumber-js --require-module '@babel/register'"
|
||||
},
|
||||
"author": "Eugen Wissner <belka@caraus.de>",
|
||||
"license": "MPL-2.0",
|
||||
"dependencies": {
|
||||
"@babel/core": "^7.1.2",
|
||||
"@babel/preset-env": "^7.1.0",
|
||||
"@babel/register": "^7.0.0",
|
||||
"axios": "^0.18.0",
|
||||
"babel-loader": "^8.0.4",
|
||||
"chai": "^4.2.0",
|
||||
"cucumber": "^5.0.2",
|
||||
"express": "^4.16.4"
|
||||
}
|
||||
}
|
Reference in New Issue
Block a user