1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
"use strict";
const _ = require("lodash");
const CONF = require("../config");
const session = (name, fixtures, func) => {
if (_.isFunction(fixtures)) [func, fixtures] = [fixtures];
if (_.isArray(name)) [fixtures, name] = [name];
if (_.isFunction(name)) [func, name] = [name];
name = name || CONF.session.name;
fixtures = fixtures || [];
CONF.session.errors = [];
suite(name, fixtures, sessCb(name, fixtures, func));
};
const sessCb = (name, fixtures, func) => () => {
func();
after(afterCb(name, fixtures, func));
};
const afterCb = (name, fixtures, func) => () => {
delete CONF.retry.chunkIds[CONF.retry.id];
if (_.isEmpty(CONF.retry.chunkIds)) return;
CONF.retry.id++;
CONF.test.id = 0;
suite(name, fixtures, sessCb(name, fixtures, func));
};
module.exports = session;