Skip to content

Feat/esm #5045

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Open
wants to merge 265 commits into
base: 4.x
Choose a base branch
from
Open

Feat/esm #5045

wants to merge 265 commits into from

Conversation

DavertMik
Copy link
Contributor

Refactored to be fully ESM

Should be the base for 4.x branch

thomashohn and others added 30 commits January 6, 2025 22:41
* Bump webdriverio to v9

* Adjust config

* Adjust config

* Remove options

* Update chrome driver

* Fix deprecations

* Fix deprecations

* Fix markup

* Added condition

* Fix more tests

* Fix iFrame stuff

* try to fix some wdio tests

* try to fix some wdio tests

* try to fix some wdio tests

* try to fix some wdio tests

* try to fix some wdio tests

* try to fix some wdio tests

* try to fix some wdio tests

* try to fix some wdio tests

* try to fix some wdio tests

* try to fix some wdio tests

* try to fix some wdio tests

* try to fix some wdio tests

* Try to fix popup test

* Try to fix window size #resizeWindow

* Another fix

* Fix popup tests

* Enable should be authenticated

* Trigger Build

---------

Co-authored-by: kobenguyent <7845001+kobenguyent@users.noreply.github.com>
Co-authored-by: kobenguyent <kobenguyent@gmail.com>
* fixed regression in waitfortext

* fixed wait test for wait for text

* fixed retries for PW waitForText test

---------

Co-authored-by: DavertMik <davert@testomat.io>
* update to async/await style

* update to async/await style
…4724)

* Bump eslint to 9.1.15 and removed dep to eslint-config-airbnb-base

* eslint ^9.17.0

* Re-added no-return-await
Co-authored-by: DavertMik <davert@testomat.io>
#4713)

* fixed pause finishing, added suggest for empty run, included fuse.js for better search

* fixed test

* updated plugins docs

* improved unit tests setup

* fixed interface test for CI mode

* fixed on ci

* added env variable config

---------

Co-authored-by: DavertMik <davert@testomat.io>
* improve the docker compose networks

* improve the docker compose networks

* improve the docker compose networks
* 3.7.0-beta.1

* added check command

* added file

* added debug for container, fixed check command

* added support for custom config -c, added checks to workflows

* fixed check command

* added await for check

---------

Co-authored-by: DavertMik <davert@testomat.io>
* feat: soft assertion

* update as hopeThat module in effects

* fix: docs
* 3.7.0-beta.1

* added notes for test object, use notes for heal reports

* added notes & metadata for tests, improved output

* fixed styles in failing tests

---------

Co-authored-by: DavertMik <davert@testomat.io>
Bumps [typescript](https://github.com/microsoft/TypeScript) from 5.7.2 to 5.7.3.
- [Release notes](https://github.com/microsoft/TypeScript/releases)
- [Changelog](https://github.com/microsoft/TypeScript/blob/main/azure-pipelines.release.yml)
- [Commits](microsoft/TypeScript@v5.7.2...v5.7.3)

---
updated-dependencies:
- dependency-name: typescript
  dependency-type: direct:development
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Bumps [@codeceptjs/detox-helper](https://github.com/codeceptjs/detox-helper) from 1.1.4 to 1.1.5.
- [Release notes](https://github.com/codeceptjs/detox-helper/releases)
- [Commits](codeceptjs/detox-helper@v1.1.4...v1.1.5)

---
updated-dependencies:
- dependency-name: "@codeceptjs/detox-helper"
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
* initial implementation for step params

* refactored steps

* refactored steps

* fixed refactoring

* fixed typings

* fixed typings

* added steps to export

* added step timeouts tests

* deprecated I.limitTime and I.retry

* fix failed timeout tests

* added test for case insensitive opt

* fixed flakiness of timeout tests

---------

Co-authored-by: DavertMik <davert@testomat.io>
Bumps [electron](https://github.com/electron/electron) from 33.2.1 to 33.3.1.
- [Release notes](https://github.com/electron/electron/releases)
- [Changelog](https://github.com/electron/electron/blob/main/docs/breaking-changes.md)
- [Commits](electron/electron@v33.2.1...v33.3.1)

---
updated-dependencies:
- dependency-name: electron
  dependency-type: direct:development
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Bumps [puppeteer](https://github.com/puppeteer/puppeteer) from 23.11.1 to 24.0.0.
- [Release notes](https://github.com/puppeteer/puppeteer/releases)
- [Changelog](https://github.com/puppeteer/puppeteer/blob/main/CHANGELOG.md)
- [Commits](puppeteer/puppeteer@puppeteer-v23.11.1...puppeteer-v24.0.0)

---
updated-dependencies:
- dependency-name: puppeteer
  dependency-type: direct:development
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Copy link

Testomat.io Report 🟢 UNIT-TESTS PASSED
Tests ✔️ 341 tests run
Summary 🟢 340 passed; 🟡 1 skipped
Duration 🕐 6 seconds
Job 🗂️ Run Unit tests / unit-tests
Operating System 🖥️ Linux X64

🐢 Slowest Tests

  • Workers: should run worker with multiple config (1.521 seconds)
  • subtitles: should capture separate steps for separate tests (0.601 seconds)
  • Workers: should run simple worker (0.524 seconds)
  • Workers: should create worker by function (0.496 seconds)
  • Workers: should run worker with custom config (0.487 seconds)

Copy link

Testomat.io Report 🟢 UNIT-TESTS PASSED
Tests ✔️ 341 tests run
Summary 🟢 340 passed; 🟡 1 skipped
Duration 🕐 6 seconds
Job 🗂️ Run Unit tests / unit-tests
Operating System 🖥️ Linux X64

🐢 Slowest Tests

  • Workers: should run worker with multiple config (1.706 seconds)
  • subtitles: should capture separate steps for separate tests (0.601 seconds)
  • Workers: should run simple worker (0.532 seconds)
  • Workers: should run worker with custom config (0.517 seconds)
  • Workers: should create worker by function (0.504 seconds)

Copy link

Testomat.io Report 🔴 BUILD FAILED
Tests ✔️ 1 tests run
Summary 🔴 1 failed; 🟢 0 passed; 🟡 0 skipped
Duration 🕐 2 minutes, 0 seconds
Job 🗂️ TestCafe Tests / build
Operating System 🖥️ Linux X64

🟥 Failures (1)

🔴 TestCafe: "before all" hook in "TestCafe"

Timeout of 120000ms exceeded. For async tests and hooks, ensure "done()" is called; if returning a Promise, ensure it resolves. (/home/runner/work/CodeceptJS/CodeceptJS/test/helper/TestCafe_test.js)

################[ Failure ]################
Error: Timeout of 120000ms exceeded. For async tests and hooks, ensure "done()" is called; if returning a Promise, ensure it resolves. (/home/runner/work/CodeceptJS/CodeceptJS/test/helper/TestCafe_test.js)

🐢 Slowest Tests

  • TestCafe: "before all" hook in "TestCafe" (2 minutes, 0.003 seconds)

Copy link

Testomat.io Report 🔴 RUNNER-TESTS FAILED
Tests ✔️ 194 tests run
Summary 🔴 96 failed; 🟢 97 passed; 🟡 1 skipped
Duration 🕐 7 minutes, 8 seconds
Job 🗂️ Run Unit tests / runner-tests
Operating System 🖥️ Linux X64

🟥 Failures (20)

🔴 BDD Gherkin: should obfuscate secret substeps in debug mode

The expression evaluated to a falsy value: assert(!err)

################[ Failure ]################
AssertionError (==): The expression evaluated to a falsy value:

  assert(!err)



+ expected - actual
+ true
- false

   74 |
   75 |  it('should obfuscate secret substeps in debug mode', done => {
   76 |    exec(config_run_config('codecept.bdd.js') + ' --debug --grep "Secrets"', (err, stdout, stderr) => {
   77 |      stdout.should.include('Given I login') // feature
   78 |      stdout.should.not.include('password')
 > 79 |      assert(!err)
   80 |      done()
   81 |    })
   82 |  })
   83 |
   84 |  it('should run feature with examples files', done => {

   at <anonymous> (file:///home/runner/work/CodeceptJS/CodeceptJS/test/runner/bdd_test.js:79:7)

🔴 BDD Gherkin: should run feature with long strings

The expression evaluated to a falsy value: assert(!err)

################[ Failure ]################
AssertionError (==): The expression evaluated to a falsy value:

  assert(!err)



+ expected - actual
+ true
- false

   151 |  it('should run feature with long strings', done => {
   152 |    exec(config_run_config('codecept.bdd.js') + ' --steps --grep "Checkout string"', (err, stdout, stderr) => {
   153 |      stdout.should.include('Given I have product described as')
   154 |      stdout.should.include('The goal of the product description is to provide the customer with enough information to compel them to want to buy the product immediately.')
   155 |      stdout.should.include('Then my order amount is $582')
 > 156 |      assert(!err)
   157 |      done()
   158 |    })
   159 |  })
   160 |
   161 |  it('should run feature by file name', done => {

   at <anonymous> (file:///home/runner/work/CodeceptJS/CodeceptJS/test/runner/bdd_test.js:156:7)

🔴 BDD Gherkin: should run feature by tag name

The expression evaluated to a falsy value: assert(!err)

################[ Failure ]################
AssertionError (==): The expression evaluated to a falsy value:

  assert(!err)



+ expected - actual
+ true
- false

   189 |      stdout.should.include('I have product with $600 price in my cart')
   190 |      stdout.should.not.include('Checkout string')
   191 |      stdout.should.not.include('describe product')
   192 |      stdout.should.not.include('Checkout table')
   193 |      stdout.should.not.include('Checkout examples process')
 > 194 |      assert(!err)
   195 |      done()
   196 |    })
   197 |  })
   198 |
   199 |  it('should run scenario by tag name', done => {

   at <anonymous> (file:///home/runner/work/CodeceptJS/CodeceptJS/test/runner/bdd_test.js:194:7)

🔴 BDD Gherkin: should run scenario by tag name

The expression evaluated to a falsy value: assert(!err)

################[ Failure ]################
AssertionError (==): The expression evaluated to a falsy value:

  assert(!err)



+ expected - actual
+ true
- false

   201 |      stdout.should.include('I have product with $600 price in my cart')
   202 |      stdout.should.not.include('Checkout string')
   203 |      stdout.should.not.include('describe product')
   204 |      stdout.should.not.include('Checkout table')
   205 |      stdout.should.not.include('Checkout examples process')
 > 206 |      assert(!err)
   207 |      done()
   208 |    })
   209 |  })
   210 |
   211 |  it('should run scenario outline by tag', done => {

   at <anonymous> (file:///home/runner/work/CodeceptJS/CodeceptJS/test/runner/bdd_test.js:206:7)

🔴 BDD Gherkin: should run feature files in DE

The expression evaluated to a falsy value: assert(!err)

################[ Failure ]################
AssertionError (==): The expression evaluated to a falsy value:

  assert(!err)



+ expected - actual
+ true
- false

   361 |        stdout.should.include('Ich have discount for price 20, 10')
   362 |        stdout.should.include('On Wenn: ich zur kasse gehe')
   363 |        stdout.should.include('Ich checkout')
   364 |        stdout.should.include('On Dann: sollte ich den gesamtpreis von "10.0" $ sehen')
   365 |        stdout.should.include('Ich see sum 10')
 > 366 |        assert(!err)
   367 |        done()
   368 |      })
   369 |    })
   370 |
   371 |    it('should run feature files in NL', done => {

   at <anonymous> (file:///home/runner/work/CodeceptJS/CodeceptJS/test/runner/bdd_test.js:366:9)

🔴 BDD Gherkin: should run feature files in NL

The expression evaluated to a falsy value: assert(!err)

################[ Failure ]################
AssertionError (==): The expression evaluated to a falsy value:

  assert(!err)



+ expected - actual
+ true
- false

   381 |        stdout.should.include('Ik have discount for price 20, 10')
   382 |        stdout.should.include('On Wanneer: ik naar de kassa ga')
   383 |        stdout.should.include('Ik checkout')
   384 |        stdout.should.include('On Dan: zou ik de totaalprijs van "10.0" $ moeten zien')
   385 |        stdout.should.include('Ik see sum 10')
 > 386 |        assert(!err)
   387 |        done()
   388 |      })
   389 |    })
   390 |  })
   391 |})

   at <anonymous> (file:///home/runner/work/CodeceptJS/CodeceptJS/test/runner/bdd_test.js:386:9)

🔴 CodeceptJS Bootstrap and Teardown: should fail with code 1 when test failed and async bootstrap/teardown function with args

Timeout of 10000ms exceeded. For async tests and hooks, ensure "done()" is called; if returning a Promise, ensure it resolves. (/home/runner/work/CodeceptJS/CodeceptJS/test/runner/bootstrap_test.js)

################[ Failure ]################
Error: Timeout of 10000ms exceeded. For async tests and hooks, ensure "done()" is called; if returning a Promise, ensure it resolves. (/home/runner/work/CodeceptJS/CodeceptJS/test/runner/bootstrap_test.js)

🔴 CodeceptJS Bootstrap and Teardown: should fail with code 1 when test failed and async bootstrap/teardown function without args

Timeout of 10000ms exceeded. For async tests and hooks, ensure "done()" is called; if returning a Promise, ensure it resolves. (/home/runner/work/CodeceptJS/CodeceptJS/test/runner/bootstrap_test.js)

################[ Failure ]################
Error: Timeout of 10000ms exceeded. For async tests and hooks, ensure "done()" is called; if returning a Promise, ensure it resolves. (/home/runner/work/CodeceptJS/CodeceptJS/test/runner/bootstrap_test.js)

🔴 CodeceptJS Runner: should be executed with glob

The expression evaluated to a falsy value: assert(!err)

################[ Failure ]################
AssertionError (==): The expression evaluated to a falsy value:

  assert(!err)



+ expected - actual
+ true
- false

   37 |  it('should be executed with glob', done => {
   38 |    process.chdir(codecept_dir)
   39 |    exec(codecept_run_config('codecept.glob.js'), (err, stdout) => {
   40 |      stdout.should.include('Filesystem') // feature
   41 |      stdout.should.include('glob current dir') // test name
 > 42 |      assert(!err)
   43 |      done()
   44 |    })
   45 |  })
   46 |
   47 |  it('should be executed with config path', done => {

   at <anonymous> (file:///home/runner/work/CodeceptJS/CodeceptJS/test/runner/codecept_test.js:42:7)

🔴 CodeceptJS Runner: should show failures and exit with 1 on fail

expected 'CodeceptJS v3.7.3 #StandWithUkraine\n' to include 'FAILURES'

################[ Failure ]################
AssertionError (strictEqual): expected 'CodeceptJS v3.7.3 #StandWithUkraine\n…' to include 'FAILURES'
   56 |
   57 |  it('should show failures and exit with 1 on fail', done => {
   58 |    exec(codecept_run_config('codecept.failed.js'), (err, stdout) => {
   59 |      stdout.should.include('Not-A-Filesystem')
   60 |      stdout.should.include('file is not in dir')
 > 61 |      stdout.should.include('FAILURES')
   62 |      err.code.should.eql(1)
   63 |      done()
   64 |    })
   65 |
   66 |    it('should except a directory glob pattern', done => {

   at <anonymous> (file:///home/runner/work/CodeceptJS/CodeceptJS/test/runner/codecept_test.js:61:21)

🔴 CodeceptJS Runner: should run hooks from suites

expected [ 'Helper: I'm initialized', (22) ] to be a superset of [ 'Helper: I'm initialized', (16) ]

################[ Failure ]################
AssertionError (deepStrictEqual): expected [ 'Helper: I\'m initialized', …(22) ] to be a superset of [ 'Helper: I\'m initialized', …(16) ]


+ expected - actual
+ [
+   "Helper: I'm initialized"
+   "Helper: I'm simple BeforeSuite hook"
+   "Test: I'm simple BeforeSuite hook"
+   "Test: I'm generator BeforeSuite hook"
+   "Test: I'm async/await BeforeSuite hook"
+   "Helper: I'm simple Before hook"
+   "Test: I'm simple Before hook"
+   "Test: I'm generator Before hook"
+   "Test: I'm async/await Before hook"
+   "Test: I'm generator After hook"
+   "Test: I'm simple After hook"
+   "Test: I'm async/await After hook"
+   "Helper: I'm simple After hook"
+   "Test: I'm generator AfterSuite hook"
+   "Test: I'm simple AfterSuite hook"
+   "Test: I'm async/await AfterSuite hook"
+   "Helper: I'm simple AfterSuite hook"
+ ]
- [
-   "Helper: I'm initialized"
-   "CodeceptJS v3.7.3 #StandWithUkraine"
-   "Using test root \"/home/runner/work/CodeceptJS/CodeceptJS/test/data/sandbox\""
-   "Test hooks --"
-   "Test: I'm simple BeforeSuite hook"
-   "Test: I'm generator BeforeSuite hook"
-   "Test: I'm async/await BeforeSuite hook"
-   "Helper: I'm simple Before hook"
-   "Test: I'm simple Before hook"
-   "Test: I'm generator Before hook"
-   "Test: I'm async/await Before hook"
-   "Scenario: It's first test"
-   "✔ Simple test 1 in 1ms"
-   "Event:test.passed (helper)"
-   "Test: I'm async/await After hook"
-   "Test: I'm generator After hook"
-   "Test: I'm simple After hook"
-   "Helper: I'm simple After hook"
-   "Test: I'm async/await AfterSuite hook"
-   "Test: I'm generator AfterSuite hook"
-   "Test: I'm simple AfterSuite hook"
-   "Helper: I'm simple AfterSuite hook"
-   "OK  | 1 passed   // 24ms"
- ]

   193 |
   194 |      const uniqueLines = lines.filter((v, i, a) => a.indexOf(v) === i)
   195 |
   196 |      expect(uniqueLines.length).to.eql(lines.length, `No duplicates in output +${lines} \n\n -${uniqueLines}`)
   197 |
 > 198 |      expect(lines).to.include.members([
   199 |        "Helper: I'm initialized",
   200 |        "Helper: I'm simple BeforeSuite hook",
   201 |        "Test: I'm simple BeforeSuite hook",
   202 |        "Test: I'm generator BeforeSuite hook",
   203 |        "Test: I'm async/await BeforeSuite hook",

   at <anonymous> (file:///home/runner/work/CodeceptJS/CodeceptJS/test/runner/codecept_test.js:198:32)

🔴 CodeceptJS Runner: should run hooks from suites (in different order)

expected [ 'Helper: I'm initialized', (14) ] to be a superset of [ (8) ]

################[ Failure ]################
AssertionError (deepStrictEqual): expected [ 'Helper: I\'m initialized', …(14) ] to be a superset of [ …(8) ]


+ expected - actual
+ [
+   "Helper: I'm simple BeforeSuite hook"
+   "Test: I'm async/await BeforeSuite hook"
+   "Helper: I'm simple Before hook"
+   "Test: I'm async/await Before hook"
+   "Test: I'm async/await After hook"
+   "Helper: I'm simple After hook"
+   "Test: I'm async/await AfterSuite hook"
+   "Helper: I'm simple AfterSuite hook"
+ ]
- [
-   "Helper: I'm initialized"
-   "CodeceptJS v3.7.3 #StandWithUkraine"
-   "Using test root \"/home/runner/work/CodeceptJS/CodeceptJS/test/data/sandbox\""
-   "Test hooks --"
-   "Test: I'm async/await BeforeSuite hook"
-   "Helper: I'm simple Before hook"
-   "Test: I'm async/await Before hook"
-   "Scenario: It's first test"
-   "✔ Simple test 1 in 1ms"
-   "Event:test.passed (helper)"
-   "Test: I'm async/await After hook"
-   "Helper: I'm simple After hook"
-   "Test: I'm async/await AfterSuite hook"
-   "Helper: I'm simple AfterSuite hook"
-   "OK  | 1 passed   // 16ms"
- ]

   223 |
   224 |  it('should run hooks from suites (in different order)', done => {
   225 |    exec(codecept_run_config('codecept.testhooks.different.order.json'), (err, stdout) => {
   226 |      const lines = stdout.match(/\S.+/g)
   227 |
 > 228 |      expect(lines).to.include.members([
   229 |        "Helper: I'm simple BeforeSuite hook",
   230 |        "Test: I'm async/await BeforeSuite hook",
   231 |        "Helper: I'm simple Before hook",
   232 |        "Test: I'm async/await Before hook",
   233 |        "Test: I'm async/await After hook",

   at <anonymous> (file:///home/runner/work/CodeceptJS/CodeceptJS/test/runner/codecept_test.js:228:32)

🔴 CodeceptJS Runner: should run dynamic config with profile

expected 'CodeceptJS v3.7.3 #StandWithUkraine\n' to include 'FAILURES'

################[ Failure ]################
AssertionError (strictEqual): expected 'CodeceptJS v3.7.3 #StandWithUkraine\n…' to include 'FAILURES'
   259 |    })
   260 |  })
   261 |
   262 |  it('should run dynamic config with profile', done => {
   263 |    exec(`${codecept_run_config('config.js')} --profile failed`, (err, stdout) => {
 > 264 |      stdout.should.include('FAILURES')
   265 |      stdout.should.not.include('I am bootstrap')
   266 |      assert(err.code)
   267 |      done()
   268 |    })
   269 |  })

   at <anonymous> (file:///home/runner/work/CodeceptJS/CodeceptJS/test/runner/codecept_test.js:264:21)

🔴 CodeceptJS Runner: filter by scenario tags

The expression evaluated to a falsy value: assert(!err)

################[ Failure ]################
AssertionError (==): The expression evaluated to a falsy value:

  assert(!err)



+ expected - actual
+ true
- false

   77 |      process.chdir(codecept_dir)
   78 |      exec(`${codecept_run} --grep @slow`, (err, stdout) => {
   79 |        debug(stdout)
   80 |        stdout.should.include('Filesystem') // feature
   81 |        stdout.should.include('check current dir') // test name
 > 82 |        assert(!err)
   83 |        done()
   84 |      })
   85 |    })
   86 |
   87 |    it('filter by scenario tags #2', done => {

   at <anonymous> (file:///home/runner/work/CodeceptJS/CodeceptJS/test/runner/codecept_test.js:82:9)

🔴 CodeceptJS Runner: filter by scenario tags #2

The expression evaluated to a falsy value: assert(!err)

################[ Failure ]################
AssertionError (==): The expression evaluated to a falsy value:

  assert(!err)



+ expected - actual
+ true
- false

   87 |    it('filter by scenario tags #2', done => {
   88 |      process.chdir(codecept_dir)
   89 |      exec(`${codecept_run} --grep @important`, (err, stdout) => {
   90 |        stdout.should.include('Filesystem') // feature
   91 |        stdout.should.include('check current dir') // test name
 > 92 |        assert(!err)
   93 |        done()
   94 |      })
   95 |    })
   96 |
   97 |    it('filter by feature tags', done => {

   at <anonymous> (file:///home/runner/work/CodeceptJS/CodeceptJS/test/runner/codecept_test.js:92:9)

🔴 CodeceptJS Runner: filter by feature tags

The expression evaluated to a falsy value: assert(!err)

################[ Failure ]################
AssertionError (==): The expression evaluated to a falsy value:

  assert(!err)



+ expected - actual
+ true
- false

    97 |    it('filter by feature tags', done => {
    98 |      process.chdir(codecept_dir)
    99 |      exec(`${codecept_run} --grep @main`, (err, stdout) => {
   100 |        stdout.should.include('Filesystem') // feature
   101 |        stdout.should.include('check current dir') // test name
 > 102 |        assert(!err)
   103 |        done()
   104 |      })
   105 |    })
   106 |
   107 |    describe('without "invert" option', () => {

   at <anonymous> (file:///home/runner/work/CodeceptJS/CodeceptJS/test/runner/codecept_test.js:102:9)

🔴 CodeceptJS Runner: should filter by scenario tags

The expression evaluated to a falsy value: assert(!err)

################[ Failure ]################
AssertionError (==): The expression evaluated to a falsy value:

  assert(!err)



+ expected - actual
+ true
- false

   109 |        process.chdir(codecept_dir)
   110 |        exec(`${codecept_run_config('codecept.grep.2.js')} --grep @1_grep`, (err, stdout) => {
   111 |          stdout.should.include('@feature_grep') // feature
   112 |          stdout.should.include('grep message 1')
   113 |          stdout.should.not.include('grep message 2')
 > 114 |          assert(!err)
   115 |          done()
   116 |        })
   117 |      })
   118 |
   119 |      it('should filter by scenario tags #2', done => {

   at <anonymous> (file:///home/runner/work/CodeceptJS/CodeceptJS/test/runner/codecept_test.js:114:11)

🔴 CodeceptJS Runner: should filter by scenario tags #2

The expression evaluated to a falsy value: assert(!err)

################[ Failure ]################
AssertionError (==): The expression evaluated to a falsy value:

  assert(!err)



+ expected - actual
+ true
- false

   120 |        process.chdir(codecept_dir)
   121 |        exec(`${codecept_run_config('codecept.grep.2.js')} --grep @2_grep`, (err, stdout) => {
   122 |          stdout.should.include('@feature_grep') // feature
   123 |          stdout.should.include('grep message 2')
   124 |          stdout.should.not.include('grep message 1')
 > 125 |          assert(!err)
   126 |          done()
   127 |        })
   128 |      })
   129 |
   130 |      it('should filter by feature tags', done => {

   at <anonymous> (file:///home/runner/work/CodeceptJS/CodeceptJS/test/runner/codecept_test.js:125:11)

🔴 CodeceptJS Runner: should filter by scenario tags

The expression evaluated to a falsy value: assert(!err)

################[ Failure ]################
AssertionError (==): The expression evaluated to a falsy value:

  assert(!err)



+ expected - actual
+ true
- false

   144 |        process.chdir(codecept_dir)
   145 |        exec(`${codecept_run_config('codecept.grep.2.js')} --grep @1_grep --invert`, (err, stdout) => {
   146 |          stdout.should.include('@feature_grep') // feature
   147 |          stdout.should.not.include('grep message 1')
   148 |          stdout.should.include('grep message 2')
 > 149 |          assert(!err)
   150 |          done()
   151 |        })
   152 |      })
   153 |
   154 |      it('should filter by scenario tags #2', done => {

   at <anonymous> (file:///home/runner/work/CodeceptJS/CodeceptJS/test/runner/codecept_test.js:149:11)

🔴 CodeceptJS Runner: should filter by scenario tags #2

The expression evaluated to a falsy value: assert(!err)

################[ Failure ]################
AssertionError (==): The expression evaluated to a falsy value:

  assert(!err)



+ expected - actual
+ true
- false

   155 |        process.chdir(codecept_dir)
   156 |        exec(`${codecept_run_config('codecept.grep.2.js')} --grep @2_grep --invert`, (err, stdout) => {
   157 |          stdout.should.include('@feature_grep') // feature
   158 |          stdout.should.not.include('grep message 2')
   159 |          stdout.should.include('grep message 1')
 > 160 |          assert(!err)
   161 |          done()
   162 |        })
   163 |      })
   164 |
   165 |      it('should filter by feature tags', done => {

   at <anonymous> (file:///home/runner/work/CodeceptJS/CodeceptJS/test/runner/codecept_test.js:160:11)

🐢 Slowest Tests

  • CodeceptJS within: should execute with async/await. Await is second in order (40.04 seconds)
  • CodeceptJS within: should execute if no generators (40.035 seconds)
  • CodeceptJS within: should execute with async/await. Await is first in order (40.015 seconds)
  • CodeceptJS session: should run all session tests (40 seconds)
  • CodeceptJS Bootstrap and Teardown: should fail with code 1 when test failed and async bootstrap/teardown function without args (10.01 seconds)

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

10 participants