Skip to content

Commit 3bcdde7

Browse files
author
Igor Muchychka
authored
Merge pull request #289 from mucsi96/development
Release 8.2.2
2 parents 495813b + 2fd4f8e commit 3bcdde7

6 files changed

Lines changed: 475 additions & 190 deletions

File tree

lib/cucumber-api.js

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,6 @@ const Cucumber = {
77
Cli: require('cucumber/lib/cli').default,
88
TestCaseRunner: require('cucumber/lib/runtime/test_case_runner').default,
99
UserCodeRunner: require('cucumber/lib/user_code_runner').default,
10-
Attachment: require('cucumber/lib/runtime/attachment_manager/attachment').default,
1110
statuses: require('cucumber/lib/status').default
1211
}
1312

lib/index.js

Lines changed: 18 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -15,22 +15,30 @@ module.exports = function (providedOptions) {
1515
runner.run(options)
1616
}
1717

18-
function getClientResolver (pages) {
18+
function getPageProxy (subPages) {
19+
return new Proxy(() => getClientProxy(subPages), {
20+
get: (target, pageName) => getPageProxy(subPages.concat([pageName]))
21+
})
22+
}
23+
24+
function getClientProxy (subPages) {
1925
return new Proxy({}, {
2026
get: (target, name) => {
2127
if (name !== 'page') {
22-
return pages.reduce((api, pageName) => {
23-
return api.page[pageName]()
24-
}, runner.nightwatchApi.getClientApi())[name]
25-
}
28+
const api = runner.nightwatchApi.getClientApi()
2629

27-
return new Proxy({}, {
28-
get: (target, pageName) => {
29-
return getClientResolver.bind(null, pages.concat([pageName]))
30+
if (!subPages.length) {
31+
return api[name]
3032
}
31-
})
33+
34+
return subPages.reduce((api, pageName) => {
35+
return api[pageName]
36+
}, api.page)()[name]
37+
}
38+
39+
return getPageProxy([])
3240
}
3341
})
3442
}
3543

36-
module.exports.client = getClientResolver([])
44+
module.exports.client = getClientProxy([])

0 commit comments

Comments
 (0)