codeceptjs / codeceptjs/ui

Does not respect configuration hooks

Open
#178 0 comments 0 reactions 0 assignees View on GitHub
Dominant language
JavaScript
Stars
84
Forks
30
PR merge metrics
No merged PRs in 30d

Description

The UI does not appear to account for configuration set through hooks from `@codeceptjs/configure`.

As an example, I have the following `codecept.conf.js`:

```js
const {
setHeadlessWhen,
setCommonPlugins,
setBrowser,
setTestHost
} = require('@codeceptjs/configure');

const productionHost = 'https://example.com';

setBrowser(process.env.BROWSER || 'chromium');
setHeadlessWhen(process.env.HEADLESS);
setTestHost(process.env.TESTHOST || productionHost)
setCommonPlugins();

exports.config = {
name: 'example-ui-tests',
tests: './integration/**/*.test.ts',
output: './output',
helpers: {
Playwright: {
show: true,
waitForNavigation: 'networkidle',
},
},
bootstrap: null,
include: {
I: './custom-steps.js',
},
require: ['ts-node/register']
};

```

When I run the UI and view the config, it's as follows:
```js
{
"output": "./output",
"helpers": {
"Playwright": {
"show": true,
"waitForNavigation": "networkidle"
}
},
"include": {
"I": "./custom-steps.js"
},
"mocha": {},
"bootstrap": null,
"timeout": null,
"teardown": null,
"hooks": [],
"gherkin": {},
"plugins": {
"screenshotOnFail": {
"enabled": true
}
},
"stepTimeout": 0,
"stepTimeoutOverride": [
{
"pattern": "wait.*",
"timeout": 0
},
{
"pattern": "amOnPage",
"timeout": 0
}
],
"name": "example-ui-tests",
"tests": "./integration/**/*.test.ts",
"require": [
"ts-node/register"
]
}
```

It doesn't seem to be applying any hooks to the parsed config. Is this intended behavior with a workaround or a bug?

Contributor guide

Open the contributing guide

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.