mirror of
https://github.com/Ocelot-Social-Community/Ocelot-Social.git
synced 2026-01-14 00:44:34 +00:00
39 lines
944 B
JavaScript
39 lines
944 B
JavaScript
import { setWorldConstructor } from 'cucumber'
|
|
import request from 'request'
|
|
|
|
class CustomWorld {
|
|
constructor () {
|
|
// webFinger.feature
|
|
this.lastResponses = []
|
|
this.lastContentType = null
|
|
this.lastInboxUrl = null
|
|
this.lastActivity = null
|
|
// object-article.feature
|
|
this.statusCode = null
|
|
}
|
|
get (pathname) {
|
|
return new Promise((resolve, reject) => {
|
|
request(`http://localhost:4000/${this.replaceSlashes(pathname)}`, {
|
|
headers: {
|
|
'Accept': 'application/activity+json'
|
|
}}, (error, response, body) => {
|
|
if (!error) {
|
|
resolve({
|
|
lastResponse: body,
|
|
lastContentType: response.headers['content-type'],
|
|
statusCode: response.statusCode
|
|
})
|
|
} else {
|
|
reject(error)
|
|
}
|
|
})
|
|
})
|
|
}
|
|
|
|
replaceSlashes (pathname) {
|
|
return pathname.replace(/^\/+/, '')
|
|
}
|
|
}
|
|
|
|
setWorldConstructor(CustomWorld)
|