Skip to content

Commit 0cc967e

Browse files
committed
fix: more tests
1 parent 4e28312 commit 0cc967e

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

73 files changed

+425
-400
lines changed

.eslintrc.json

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -43,6 +43,7 @@
4343
"no-loop-func": 0,
4444
"arrow-parens": 0,
4545
"default-param-last": 0,
46-
"import/extensions": 0
46+
"import/extensions": 0,
47+
"no-return-await": "off"
4748
}
4849
}

bin/codecept.js

Lines changed: 35 additions & 20 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,23 @@
11
#!/usr/bin/env node
2-
import program from 'commander';
3-
import Codecept from '../lib/codecept';
2+
import { program } from 'commander';
3+
import Codecept from '../lib/codecept.js';
44
import { print, error } from '../lib/output.js';
55
import { printError } from '../lib/command/utils.js';
6+
import * as init from '../lib/command/init.js';
7+
import * as configMigrate from '../lib/command/configMigrate.js';
8+
import * as interactive from '../lib/command/interactive.js';
9+
import * as definitions from '../lib/command/definitions.js';
10+
import * as list from '../lib/command/list.js';
11+
import * as gherkinInit from '../lib/command/gherkin/init.js';
12+
import * as gherkinSteps from '../lib/command/gherkin/steps.js';
13+
import * as gherkinSnippets from '../lib/command/gherkin/snippets.js';
14+
import * as generate from '../lib/command/generate.js';
15+
import * as run from '../lib/command/run.js';
16+
import * as runWorkers from '../lib/command/run-workers.js';
17+
import * as runMultiple from '../lib/command/run-multiple.js';
18+
import * as rerun from '../lib/command/run-rerun.js';
19+
import * as dryRun from '../lib/command/dryRun.js';
20+
import * as info from '../lib/command/info.js';
621

722
const errorHandler = (fn) => async (...args) => {
823
try {
@@ -26,42 +41,42 @@ program.version(Codecept.version());
2641

2742
program.command('init [path]')
2843
.description('Creates dummy config in current dir or [path]')
29-
.action(errorHandler(require('../lib/command/init')));
44+
.action(errorHandler(init));
3045

3146
program.command('migrate [path]')
3247
.description('Migrate json config to js config in current dir or [path]')
33-
.action(errorHandler(require('../lib/command/configMigrate')));
48+
.action(errorHandler(configMigrate));
3449

3550
program.command('shell [path]')
3651
.alias('sh')
3752
.description('Interactive shell')
3853
.option('--verbose', 'output internal logging information')
3954
.option('--profile [value]', 'configuration profile to be used')
4055
.option('-c, --config [file]', 'configuration file to be used')
41-
.action(errorHandler(require('../lib/command/interactive')));
56+
.action(errorHandler(interactive));
4257

4358
program.command('list [path]')
4459
.alias('l')
4560
.description('List all actions for I.')
46-
.action(errorHandler(require('../lib/command/list')));
61+
.action(errorHandler(list));
4762

4863
program.command('def [path]')
4964
.description('Generates TypeScript definitions for all I actions.')
5065
.option('-c, --config [file]', 'configuration file to be used')
5166
.option('-o, --output [folder]', 'target folder to paste definitions')
52-
.action(errorHandler(require('../lib/command/definitions')));
67+
.action(errorHandler(definitions));
5368

5469
program.command('gherkin:init [path]')
5570
.alias('bdd:init')
5671
.description('Prepare CodeceptJS to run feature files.')
5772
.option('-c, --config [file]', 'configuration file to be used')
58-
.action(errorHandler(require('../lib/command/gherkin/init')));
73+
.action(errorHandler(gherkinInit));
5974

6075
program.command('gherkin:steps [path]')
6176
.alias('bdd:steps')
6277
.description('Prints all defined gherkin steps.')
6378
.option('-c, --config [file]', 'configuration file to be used')
64-
.action(errorHandler(require('../lib/command/gherkin/steps')));
79+
.action(errorHandler(gherkinSteps));
6580

6681
program.command('gherkin:snippets [path]')
6782
.alias('bdd:snippets')
@@ -70,28 +85,28 @@ program.command('gherkin:snippets [path]')
7085
.option('-c, --config [file]', 'configuration file to be used')
7186
.option('--feature [file]', 'feature files(s) to scan')
7287
.option('--path [file]', 'file in which to place the new snippets')
73-
.action(errorHandler(require('../lib/command/gherkin/snippets')));
88+
.action(errorHandler(gherkinSnippets));
7489

7590
program.command('generate:test [path]')
7691
.alias('gt')
7792
.description('Generates an empty test')
78-
.action(errorHandler(require('../lib/command/generate').test));
93+
.action(errorHandler(generate.test));
7994

8095
program.command('generate:pageobject [path]')
8196
.alias('gpo')
8297
.description('Generates an empty page object')
83-
.action(errorHandler(require('../lib/command/generate').pageObject));
98+
.action(errorHandler(generate.pageObject));
8499

85100
program.command('generate:object [path]')
86101
.alias('go')
87102
.option('--type, -t [kind]', 'type of object to be created')
88103
.description('Generates an empty support object (page/step/fragment)')
89-
.action(errorHandler(require('../lib/command/generate').pageObject));
104+
.action(errorHandler(generate.pageObject));
90105

91106
program.command('generate:helper [path]')
92107
.alias('gh')
93108
.description('Generates a new helper')
94-
.action(errorHandler(require('../lib/command/generate').helper));
109+
.action(errorHandler(generate.helper));
95110

96111
program.command('run [test]')
97112
.description('Executes tests')
@@ -128,7 +143,7 @@ program.command('run [test]')
128143
.option('--recursive', 'include sub directories')
129144
.option('--trace', 'trace function calls')
130145
.option('--child <string>', 'option for child processes')
131-
.action(errorHandler(require('../lib/command/run')));
146+
.action(errorHandler(run));
132147

133148
program.command('run-workers <workers> [selectedRuns...]')
134149
.description('Executes tests in workers')
@@ -145,7 +160,7 @@ program.command('run-workers <workers> [selectedRuns...]')
145160
.option('-p, --plugins <k=v,k2=v2,...>', 'enable plugins, comma-separated')
146161
.option('-O, --reporter-options <k=v,k2=v2,...>', 'reporter-specific options')
147162
.option('-R, --reporter <name>', 'specify the reporter to use')
148-
.action(errorHandler(require('../lib/command/run-workers')));
163+
.action(errorHandler(runWorkers));
149164

150165
program.command('run-multiple [suites...]')
151166
.description('Executes tests multiple')
@@ -169,12 +184,12 @@ program.command('run-multiple [suites...]')
169184
// mocha options
170185
.option('--colors', 'force enabling of colors')
171186

172-
.action(errorHandler(require('../lib/command/run-multiple')));
187+
.action(errorHandler(runMultiple));
173188

174189
program.command('info [path]')
175190
.description('Print debugging information concerning the local environment')
176191
.option('-c, --config', 'your config file path')
177-
.action(errorHandler(require('../lib/command/info')));
192+
.action(errorHandler(info));
178193

179194
program.command('dry-run [test]')
180195
.description('Prints step-by-step scenario for a test without actually running it')
@@ -190,7 +205,7 @@ program.command('dry-run [test]')
190205
.option('--steps', 'show step-by-step execution')
191206
.option('--verbose', 'output internal logging information')
192207
.option('--debug', 'output additional information')
193-
.action(errorHandler(require('../lib/command/dryRun')));
208+
.action(errorHandler(dryRun));
194209

195210
program.command('run-rerun [test]')
196211
.description('Executes tests in more than one test suite run')
@@ -227,7 +242,7 @@ program.command('run-rerun [test]')
227242
.option('--trace', 'trace function calls')
228243
.option('--child <string>', 'option for child processes')
229244

230-
.action(require('../lib/command/run-rerun'));
245+
.action(rerun);
231246

232247
program.on('command:*', (cmd) => {
233248
console.log(`\nUnknown command ${cmd}\n`);

lib/actor.js

Lines changed: 5 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
import Step from './step.js';
1+
import { Step } from './step.js';
22
import { MetaStep } from './step.js';
33
import container from './container.js';
44
import { methodsOfObject } from './utils.js';
@@ -11,7 +11,7 @@ import output from './output.js';
1111
* @interface
1212
* @alias ActorStatic
1313
*/
14-
class Actor {
14+
export class Actor {
1515
/**
1616
* Print the comment on log. Also, adding a step in the `Test.steps` object
1717
* @param {string} msg
@@ -69,7 +69,8 @@ class Actor {
6969
* Wraps helper methods into promises.
7070
* @ignore
7171
*/
72-
export default function (obj = {}) {
72+
// eslint-disable-next-line import/prefer-default-export
73+
export function actor(obj = {}) {
7374
if (!store.actor) {
7475
store.actor = new Actor();
7576
}
@@ -119,7 +120,7 @@ export default function (obj = {}) {
119120
return actor;
120121
}
121122

122-
function recordStep(step, args) {
123+
export function recordStep(step, args) {
123124
step.status = 'queued';
124125
step.setArguments(args);
125126

lib/assert/include.js

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
import Assertion from '../assert.js';
22
import AssertionFailedError from './error.js';
33
import { template } from '../utils.js';
4-
import output from '../output.js';
4+
import * as output from '../output.js';
55

66
const MAX_LINES = 10;
77

lib/cli.js

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -23,7 +23,8 @@ class Cli extends Base {
2323
if (opts.debug) level = 2;
2424
if (opts.verbose) level = 3;
2525
output.level(level);
26-
output.print(`CodeceptJS v${require('./codecept').version()} ${output.standWithUkraine()}`);
26+
const version = require('./codecept.js').version();
27+
output.print(`CodeceptJS v${version} ${output.standWithUkraine()}`);
2728
output.print(`Using test root "${global.codecept_dir}"`);
2829

2930
const showSteps = level >= 1;

lib/codecept.js

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,7 @@ import path from "path";
1212
import generated from "@codeceptjs/helper";
1313
import * as index from './index.js';
1414

15-
import actor0 from "./actor.js";
15+
import * as actor0 from "./actor.js";
1616

1717
import pause0 from "./pause.js";
1818

lib/command/definitions.js

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,12 @@
11
import fs from 'fs';
22
import path from 'path';
33
import { getConfig, getTestRoot } from './utils.js';
4-
import Codecept from '../codecept';
4+
import Codecept from '../../lib/codecept.js';
55
import container from '../container.js';
66
import output from '../output.js';
7-
const actingHelpers = [...require('../plugin/standardActingHelpers.js'), 'REST'];
7+
import plugin from "../plugin/standardActingHelpers.js";
8+
9+
const actingHelpers = [...(plugin), 'REST'];
810

911
/**
1012
* Prepare data and generate content of definitions file

lib/command/dryRun.js

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
import { getConfig, getTestRoot } from './utils.js';
22
import Config from '../config.js';
3-
import Codecept from '../codecept';
3+
import Codecept from '../codecept.js';
44
import output from '../output.js';
55
import * as event from '../event.js';
66
import { store } from '../store.js';

lib/command/generate.js

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@ import mkdirp from 'mkdirp';
55
import path from 'path';
66
import { fileExists, ucfirst, lcfirst, beautify } from '../utils.js';
77
import output from '../output.js';
8-
import generateDefinitions from './definitions';
8+
import generateDefinitions from './definitions.js';
99
import { getConfig, getTestRoot, safeFileWrite, readConfig } from './utils.js';
1010

1111
let extension = 'js';

lib/command/gherkin/snippets.js

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@ import * as Messages from '@cucumber/messages';
55
import glob from 'glob';
66
import fsPath from 'path';
77
import { getConfig, getTestRoot } from '../utils.js';
8-
import Codecept from '../../codecept';
8+
import Codecept from '../../codecept.js';
99
import output from '../../output.js';
1010
import { matchStep } from '../../interfaces/bdd.js';
1111

0 commit comments

Comments
 (0)