diff --git a/cucumber.js b/cucumber.js index 8b46a81e..958d0cce 100644 --- a/cucumber.js +++ b/cucumber.js @@ -1 +1,10 @@ -export default `--format-options '{"snippetInterface": "synchronous"}'`; +let cmd = `--format-options '{"snippetInterface": "synchronous"}'`; + +if (process.env.TAGS) { + // @see https://cucumber.io/docs/cucumber/api/?lang=javascript#tags + cmd += ` --tags '${process.env.TAGS}'`; +} + +console.log(cmd); + +export default cmd; diff --git a/docker-compose.yml b/docker-compose.yml index 934e791c..034a23dc 100644 --- a/docker-compose.yml +++ b/docker-compose.yml @@ -149,6 +149,7 @@ services: - MYSQL_PORT=3306 - MYSQL_DATABASE=activitypub - NODE_ENV=testing + - TAGS command: yarn run cucumber-js depends_on: fake-ghost-activitypub: diff --git a/docker/cucumber-tests b/docker/cucumber-tests new file mode 100755 index 00000000..74c634c0 --- /dev/null +++ b/docker/cucumber-tests @@ -0,0 +1,5 @@ +#! /bin/sh + +export TAGS=$1 + +docker compose run --rm migrate-testing up && docker compose up cucumber-tests --exit-code-from cucumber-tests diff --git a/package.json b/package.json index d1679f79..25a6db69 100644 --- a/package.json +++ b/package.json @@ -14,7 +14,7 @@ "db": "docker compose exec mysql mysql -uroot -proot activitypub", "fix": "docker compose down --rmi all activitypub activitypub-testing cucumber-tests nginx", "logs": "docker compose logs activitypub -f", - "test:cucumber": "docker compose run --rm migrate-testing up && docker compose up cucumber-tests --exit-code-from cucumber-tests", + "test:cucumber": "./docker/cucumber-tests", "test": "docker compose run --rm migrate-testing up && docker compose run --rm activitypub-testing yarn test:all && yarn test:cucumber", "test:types": "tsc --noEmit", "test:unit": "vitest run --dir src --coverage '.unit.test.ts'",