Skip to content

Commit 131fbc4

Browse files
committed
feat: add group name
1 parent 16ca542 commit 131fbc4

File tree

3 files changed

+30
-7
lines changed

3 files changed

+30
-7
lines changed

README.md

Lines changed: 12 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -82,6 +82,17 @@ package = "netlify-plugin-cypress"
8282

8383
See [cypress-example-kitchensink](https://github.com/cypress-io/cypress-example-kitchensink) and recorded results at [![Cypress Dashboard](https://img.shields.io/badge/cypress-dashboard-brightgreen.svg)](https://dashboard.cypress.io/#/projects/4b7344/runs)
8484

85+
You can change the group name for the recorded run using `group` parameter
86+
87+
```toml
88+
[[plugins]]
89+
# local Cypress plugin will test our site after it is built
90+
package = "netlify-plugin-cypress"
91+
[plugins.inputs]
92+
record = true
93+
group = "built site"
94+
```
95+
8596
### spec
8697

8798
Run only a single spec or specs matching a wildcard
@@ -123,7 +134,7 @@ By default this plugin tests static site _after build_. But maybe you want to ru
123134
wait-on-timeout = '30' # seconds
124135
```
125136

126-
Parameters you can place into `preBuild` inputs: `start`, `wait-on`, `wait-on-timeout`, `record`, `spec`.
137+
Parameters you can place into `preBuild` inputs: `start`, `wait-on`, `wait-on-timeout`, `spec`, `record`, and `group`.
127138

128139
## Debugging
129140

manifest.yml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,7 @@ inputs:
55
- name: record
66
default: false
77
- name: spec
8+
- name: group
89
# tells the plugin how to start the server using custom command
910
# and waiting for an url
1011
- name: preBuild

src/index.js

Lines changed: 17 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -62,19 +62,20 @@ async function waitOnMaybe (options = {}) {
6262
}
6363
}
6464

65-
async function runCypressTests (baseUrl, record, spec) {
65+
async function runCypressTests (baseUrl, record, spec, group) {
6666
// we will use Cypress via its NPM module API
6767
// https://on.cypress.io/module-api
6868
const cypress = require('cypress')
6969

70-
debug('run cypress params %o', { baseUrl, record, spec })
70+
debug('run cypress params %o', { baseUrl, record, spec, group })
7171

7272
return await cypress.run({
7373
config: {
7474
baseUrl,
7575
},
7676
spec,
77-
record
77+
record,
78+
group
7879
})
7980
}
8081

@@ -113,14 +114,14 @@ const processCypressResults = (results, failBuild) => {
113114
}
114115
}
115116

116-
async function postBuild({ fullPublishFolder, record, spec, failBuild }) {
117+
async function postBuild({ fullPublishFolder, record, spec, group, failBuild }) {
117118
const port = 8080
118119
const server = serveFolder(fullPublishFolder, port)
119120
debug('local server listening on port %d', port)
120121

121122
const baseUrl = `http://localhost:${port}`
122123

123-
const results = await runCypressTests(baseUrl, record, spec)
124+
const results = await runCypressTests(baseUrl, record, spec, group)
124125

125126
await new Promise((resolve, reject) => {
126127
server.close(err => {
@@ -160,7 +161,12 @@ module.exports = function cypressPlugin (pluginConfig) {
160161
const baseUrl = preBuildInputs['wait-on']
161162
const record = Boolean(preBuildInputs.record)
162163
const spec = preBuildInputs.spec
163-
const results = await runCypressTests(baseUrl, record, spec)
164+
let group
165+
if (record) {
166+
group = preBuildInputs.group || 'preBuild'
167+
}
168+
169+
const results = await runCypressTests(baseUrl, record, spec, group)
164170

165171
if (closeServer) {
166172
debug('closing server')
@@ -185,6 +191,10 @@ module.exports = function cypressPlugin (pluginConfig) {
185191
const record = hasRecordKey() && Boolean(pluginConfig.record)
186192

187193
const spec = pluginConfig.spec
194+
let group
195+
if (record) {
196+
group = pluginConfig.group || 'postBuild'
197+
}
188198

189199
const failBuild = arg.utils && arg.utils.build && arg.utils.build.failBuild
190200
la(is.fn(failBuild), 'expected failBuild function inside', arg.utils)
@@ -193,6 +203,7 @@ module.exports = function cypressPlugin (pluginConfig) {
193203
fullPublishFolder,
194204
record,
195205
spec,
206+
group,
196207
failBuild
197208
})
198209
}

0 commit comments

Comments
 (0)