codeceptjs / codeceptjs/codecept3-upgrade

Fails to convert a test that contains an inner arrow function and incorrectly converts a test that has an inner function

Open
#4 0 comments 1 reaction 0 assignees View on GitHub
Dominant language
JavaScript
Stars
0
Forks
1
PR merge metrics
No merged PRs in 30d

Description

(Note the examples below are not my actual tests but the simplest form in which I could repo the issue.)

**Problem:**

1. If my test contains an inner arrow function like `() => {}` or `() => returnValue` then the converter does not identify the test as one needing updates.
2. If my test contains an inner function like `function(arg1) {return returnValue}` then the converter converts the args of the inner function too! (which isn't correct)

**Arrow function example:**
```
Scenario('myTest', async function (I) {
const myList = ['#1', '#2', '#3'];
myList.forEach((x) => '1');
})
```

_Output_:
1 unmodified
(no change to test)

**function example:**
```
Scenario('myTest', async function (I) {
const myList = ['#1', '#2', '#3'];
myList.forEach(function (x) {return '1'});
})
```

_Output_:
1 ok
```
Scenario('myTest', async function ({ I }) {
const myList = ['#1', '#2', '#3'];
myList.forEach(function ({ x }) {return '1'});
})
```

Contributor guide

No contributing guide indexed for this repository

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.