Skip to content

Commit e2a32ac

Browse files
authored
[WIP] Feature/remove codeception container (jdorn#726)
* removed Codecept container; use as dev package, added test pages (demo,_template) * updated travis config * start node container in tests * updated CI commands * updated docs * simplyfied template
1 parent a2d9597 commit e2a32ac

File tree

9 files changed

+562
-25
lines changed

9 files changed

+562
-25
lines changed

.travis.yml

Lines changed: 8 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -11,8 +11,8 @@ stages:
1111
_before_script_reference: &before_script_reference
1212
- npm install
1313
- cd tests
14-
- docker-compose run --rm node npm run build
15-
- docker-compose up -d $SELENIUM_BROWSER
14+
- docker-compose up -d node $SELENIUM_BROWSER
15+
- docker-compose exec node npm run build
1616

1717
jobs:
1818
include:
@@ -27,37 +27,37 @@ jobs:
2727
name: "E2E Chrome"
2828
env: SELENIUM_BROWSER=chrome
2929
before_script: *before_script_reference
30-
script: docker-compose run --rm codeceptjs codeceptjs run-multiple basic:$SELENIUM_BROWSER --invert --grep '@optional'
30+
script: docker-compose exec node codeceptjs -c /repo/tests/codeceptjs/codecept.json run-multiple basic:$SELENIUM_BROWSER --invert --grep '@optional'
3131

3232
- stage: test
3333
name: "E2E Firefox"
3434
env: SELENIUM_BROWSER=firefox
3535
before_script: *before_script_reference
36-
script: docker-compose run --rm codeceptjs codeceptjs run-multiple basic:$SELENIUM_BROWSER --invert --grep '@optional'
36+
script: docker-compose exec node codeceptjs -c /repo/tests/codeceptjs/codecept.json run-multiple basic:$SELENIUM_BROWSER --invert --grep '@optional'
3737

3838
- stage: test
3939
name: "E2E Chrome nonmin"
4040
env: SELENIUM_BROWSER=chrome DIST_SUB_PATH=nonmin
4141
before_script: *before_script_reference
42-
script: docker-compose run --rm codeceptjs codeceptjs run-multiple basic:$SELENIUM_BROWSER --invert --grep '@optional'
42+
script: docker-compose exec node codeceptjs -c /repo/tests/codeceptjs/codecept.json run-multiple basic:$SELENIUM_BROWSER --invert --grep '@optional'
4343

4444
- stage: test
4545
name: "E2E Firefox nonmin"
4646
env: SELENIUM_BROWSER=firefox DIST_SUB_PATH=nonmin
4747
before_script: *before_script_reference
48-
script: docker-compose run --rm codeceptjs codeceptjs run-multiple basic:$SELENIUM_BROWSER --invert --grep '@optional'
48+
script: docker-compose exec node codeceptjs -c /repo/tests/codeceptjs/codecept.json run-multiple basic:$SELENIUM_BROWSER --invert --grep '@optional'
4949

5050
- stage: test
5151
name: "E2E Chrome Optional"
5252
env: TEST_TYPE=optional SELENIUM_BROWSER=chrome
5353
before_script: *before_script_reference
54-
script: docker-compose run --rm codeceptjs codeceptjs run-multiple basic:$SELENIUM_BROWSER --grep '@optional'
54+
script: docker-compose exec node codeceptjs -c /repo/tests/codeceptjs/codecept.json run-multiple basic:$SELENIUM_BROWSER --grep '@optional'
5555

5656
- stage: test
5757
name: "E2E Firefox Optional"
5858
env: TEST_TYPE=optional SELENIUM_BROWSER=firefox
5959
before_script: *before_script_reference
60-
script: docker-compose run --rm codeceptjs codeceptjs run-multiple basic:$SELENIUM_BROWSER --grep '@optional'
60+
script: docker-compose exec node codeceptjs -c /repo/tests/codeceptjs/codecept.json run-multiple basic:$SELENIUM_BROWSER --grep '@optional'
6161

6262
allow_failures:
6363
- env: TEST_TYPE=optional SELENIUM_BROWSER=chrome

CHANGELOG.md

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,7 @@
11
### 2.3.0-dev
22

3+
- Removed codeception container, use `codeceptjs` as node-dev module
4+
35
### 2.2.1-current
46

57
- AbstractEditor, AbstractTheme, AbstractIconlib had been removed, re-expose them

Makefile

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,7 @@ bash:
1212
docker-compose exec node bash
1313

1414
test:
15-
docker-compose run --rm codeceptjs codeceptjs run
15+
docker-compose run --rm -w /repo/tests/codeceptjs node /repo/node_modules/.bin/codeceptjs run
1616

1717
selenium-firefox:
1818
xdg-open vnc://$(DOCKER_HOST):9059

tests/Dockerfile

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,3 @@
1+
FROM node:12
2+
3+
ENV PATH=/repo/node_modules/.bin:$PATH

tests/README.md

Lines changed: 8 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -2,10 +2,14 @@
22

33
## With Docker
44

5-
Go to the `tests/` directory and install node modules, start test application with node (webserver), Firefox (browser) and CodeceptJS (testing).
5+
Configure Docker environment:
66

77
```
8-
cd tests
8+
cp .env-dist .env
9+
```
10+
11+
Install `node_modules` and start stack:
12+
```
913
docker-compose run --rm node npm install
1014
docker-compose up -d
1115
```
@@ -15,9 +19,10 @@ docker-compose up -d
1519
- Selenium Chrome Browser URL: vnc://127.0.0.1:9060/
1620

1721
```
18-
docker-compose run --rm codeceptjs bash
22+
docker-compose exec node bash
1923
2024
$ npm run build
25+
$ cd tests/codeceptjs
2126
$ codeceptjs run
2227
```
2328

tests/codeceptjs/steps.d.ts

Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,13 @@
1+
/// <reference types='codeceptjs' />
2+
type steps_file = typeof import('./steps_file.js');
3+
type customHelpers = import('../../config/codeceptjs_helpers.js');
4+
5+
declare namespace CodeceptJS {
6+
interface SupportObject { I: CodeceptJS.I }
7+
interface CallbackOrder { [0]: CodeceptJS.I }
8+
interface Methods extends CodeceptJS.WebDriver, customHelpers {}
9+
interface I extends ReturnType<steps_file> {}
10+
namespace Translation {
11+
interface Actions {}
12+
}
13+
}

tests/docker-compose.yml

Lines changed: 4 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
version: '3'
22
services:
33
node:
4-
image: node:12
4+
build: .
55
volumes:
66
- ../:/repo:delegated
77
- ../${DIST_SUB_PATH-.}/dist:/repo/dist:delegated
@@ -11,10 +11,11 @@ services:
1111
- '9100:9001'
1212
expose:
1313
- '9001'
14+
depends_on:
15+
- firefox
16+
- chrome
1417
firefox:
1518
image: selenium/standalone-firefox-debug:3.141.59-oxygen
16-
depends_on:
17-
- node
1819
environment:
1920
- VNC_NO_PASSWORD=1
2021
ports:
@@ -25,8 +26,6 @@ services:
2526
- /dev/shm:/dev/shm
2627
chrome:
2728
image: selenium/standalone-chrome-debug:3.141.59-oxygen
28-
depends_on:
29-
- node
3029
environment:
3130
- VNC_NO_PASSWORD=1
3231
ports:
@@ -35,11 +34,3 @@ services:
3534
volumes:
3635
# Mount shm also for firefox, see https://github.com/SeleniumHQ/docker-selenium#running-the-images
3736
- /dev/shm:/dev/shm
38-
39-
codeceptjs:
40-
depends_on:
41-
- node
42-
image: codeception/codeceptjs
43-
working_dir: /repo/tests/codeceptjs
44-
volumes:
45-
- ../:/repo:delegated

0 commit comments

Comments
 (0)