MCPcopy
hub / github.com/codeceptjs/CodeceptJS / wireSlides

Function wireSlides

lib/plugin/screenshot.js:254–387  ·  view source on GitHub ↗
(options, trigger)

Source from the content-addressed store, hash-verified

252}
253
254function wireSlides(options, trigger) {
255 const reportDir = options.output
256 ? path.resolve(store.codeceptDir, options.output)
257 : (store.outputDir || './_output')
258
259 const stepFilter = makeStepFilter(trigger, options)
260 const recordedTests = {}
261
262 let dir
263 let stepNum
264 let slides = {}
265 let savedStep = null
266 let currentTest = null
267 let scenarioFailed = false
268
269 event.dispatcher.on(event.suite.before, () => {
270 stepNum = -1
271 })
272
273 event.dispatcher.on(event.test.before, test => {
274 const hash = crypto.createHash('sha256').update(test.file + test.title).digest('hex')
275 dir = path.join(reportDir, `record_${hash}`)
276 mkdirp.sync(dir)
277 stepNum = 0
278 slides = {}
279 savedStep = null
280 currentTest = test
281 scenarioFailed = false
282 })
283
284 event.dispatcher.on(event.step.failed, step => {
285 recorder.add('slides: failed step', async () => persistStep(step), true)
286 })
287
288 event.dispatcher.on(event.step.after, step => {
289 recorder.add('slides: step', async () => persistStep(step), true)
290 })
291
292 event.dispatcher.on(event.test.passed, test => {
293 if (options.deleteSuccessful) {
294 deleteDir(dir)
295 return
296 }
297 persist(test)
298 })
299
300 event.dispatcher.on(event.test.failed, (test, _err, hookName) => {
301 if (hookName === 'BeforeSuite' || hookName === 'AfterSuite') return
302 persist(test)
303 })
304
305 event.dispatcher.on(event.all.result, () => {
306 if (Object.keys(recordedTests).length === 0) return
307 writeIndex(reportDir, recordedTests)
308 })
309
310 if (event.workers && event.workers.result) {
311 event.dispatcher.on(event.workers.result, async () => {

Callers 1

screenshot.jsFile · 0.85

Calls 7

deleteDirFunction · 0.90
makeStepFilterFunction · 0.85
writeIndexFunction · 0.85
scanRecordDirsFunction · 0.85
persistStepFunction · 0.70
persistFunction · 0.70
addMethod · 0.45

Tested by

no test coverage detected