Skip to content
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

E2Eテストの実行方法を README.md に追記 #901

Merged
merged 4 commits into from
May 1, 2024
Merged
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
76 changes: 70 additions & 6 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -52,7 +52,7 @@ EC-CUBEのインストールは、以下の方法があります。

1. パッケージを使用してインストールする
1. コマンドラインからインストールする
1. docker-composeを使用してインストールする
1. docker composeを使用してインストールする

### パッケージを使用してインストールする

Expand Down Expand Up @@ -86,7 +86,7 @@ php composer.phar install --no-dev --no-interaction -o

ブラウザからEC-CUBEにアクセスするとWebインストーラが表示されますので、指示にしたがってインストールしてください。

### docker-compose を使用してインストールする
### docker compose を使用してインストールする

- *開発環境におすすめです。*

Expand All @@ -100,7 +100,7 @@ docker-compose.pgsql.yml を指定します。 data/config/config.php が存在
```shell
git clone https://github.com/EC-CUBE/ec-cube2.git
cd ec-cube2
docker-compose -f docker-compose.yml -f docker-compose.pgsql.yml up
docker compose -f docker-compose.yml -f docker-compose.pgsql.yml up
```

#### MySQL を使用する場合
Expand All @@ -110,7 +110,7 @@ docker-compose.mysql.yml を指定します。 data/config/config.php が存在
```shell
git clone https://github.com/EC-CUBE/ec-cube2.git
cd ec-cube2
docker-compose -f docker-compose.yml -f docker-compose.mysql.yml up
docker compose -f docker-compose.yml -f docker-compose.mysql.yml up
```

#### DB を別途用意する場合
Expand All @@ -120,7 +120,7 @@ php:7.4-apache のみ起動します
```shell
git clone https://github.com/EC-CUBE/ec-cube2.git
cd ec-cube2
docker-compose up
docker compose up
```

#### ローカル環境をマウントする場合
Expand All @@ -132,7 +132,71 @@ git clone https://github.com/EC-CUBE/ec-cube2.git
cd ec-cube2

## MySQL を使用する例
docker-compose -f docker-compose.yml -f docker-compose.mysql.yml -f docker-compose.dev.yml up
docker compose -f docker-compose.yml -f docker-compose.mysql.yml -f docker-compose.dev.yml up
```

## E2Eテストの実行方法

E2Eテストは [Playwright](https://playwright.dev/) によって作成されています。以下の手順で実行します。

### PostgreSQL の場合

```
## 必要な環境変数を設定
export COMPOSE_FILE=docker-compose.yml:docker-compose.pgsql.yml:docker-compose.dev.yml

## docker compose up を実行
docker compose up -d --wait

## ダミーデータ生成
docker compose exec -T ec-cube composer install
docker compose exec -T ec-cube composer require ec-cube2/cli "dev-master@dev" -W
docker compose exec -T ec-cube composer update 'symfony/*' -W
docker compose exec -T ec-cube php data/vendor/bin/eccube eccube:fixtures:generate --products=5 --customers=1 --orders=5
## 会員のメールアドレスを [email protected] へ変更
docker compose exec -T postgres psql --user=eccube_db_user eccube_db -c "UPDATE dtb_customer SET email = '[email protected]' WHERE customer_id = (SELECT MAX(customer_id) FROM dtb_customer WHERE status = 2 AND del_flg = 0);"

## playwright をインストール
yarn install
yarn run playwright install --with-deps chromium
yarn playwright install-deps chromium

## 管理画面の E2E テストを実行
yarn test:e2e e2e-tests/test/admin
## フロント(ゲスト)のE2Eテストを実行
yarn test:e2e --workers=1 e2e-tests/test/front_guest
## フロント(ログイン)のE2Eテストを実行
yarn test:e2e --workers=1 e2e-tests/test/front_login
```

### MySQL の場合

```
## 環境変数を設定
export COMPOSE_FILE=docker-compose.yml:docker-compose.mysql.yml:docker-compose.dev.yml

## docker compose up を実行
docker compose up -d --wait

## ダミーデータ生成
docker compose exec -T ec-cube composer install
docker compose exec -T ec-cube composer require ec-cube2/cli "dev-master@dev" -W
docker compose exec -T ec-cube composer update 'symfony/*' -W
docker compose exec -T ec-cube php data/vendor/bin/eccube eccube:fixtures:generate --products=5 --customers=1 --orders=5
## 会員のメールアドレスを [email protected] へ変更
docker compose exec mysql mysql --user=eccube_db_user --password=password eccube_db -e "UPDATE dtb_customer SET email = '[email protected]' WHERE customer_id = (SELECT customer_id FROM (SELECT MAX(customer_id) FROM dtb_customer WHERE status = 2 AND del_flg = 0) AS A);"

## playwright をインストール
yarn install
yarn run playwright install --with-deps chromium
yarn playwright install-deps chromium

## 管理画面の E2E テストを実行
yarn test:e2e e2e-tests/test/admin
## フロント(ゲスト)のE2Eテストを実行
yarn test:e2e --workers=1 e2e-tests/test/front_guest
## フロント(ログイン)のE2Eテストを実行
yarn test:e2e --workers=1 e2e-tests/test/front_login
```

---
Expand Down