# Acsim Test お試し用 デモショップ

Acsim Test リポジトリの `fixtures/demo-shop` から、E2E・単体・結合/APIを試すためのファイルをまとめました。全て架空の商品・会員です。実際の顧客データを入れず、自分のPCで試してください。

## 最初に起動する

Node.js 24 または26を用意します。ターミナルで、このREADMEがある `demo-shop` フォルダを開き、次を実行します（起動だけならパッケージのインストールは不要です）。

```sh
node sut/server.mjs --port 4173
```

ターミナルを開いたまま、`http://127.0.0.1:4173` を開きます。終了はターミナルで Ctrl+C。HTTPは4173、gRPCは4174を使います。既に使われている場合は終了するか、開発担当者にポート変更を依頼してください。別ポートにした場合はURLとAPI定義も合わせます。

## Acsim Test に設定する

1. ワークスペースとPJを作成します。ワークスペースの閲覧・編集権限は管理者に依頼してください。
2. 初期設定でソースコードのフォルダに、この `demo-shop` を選びます。対象URLは `http://127.0.0.1:4173` です。
3. 設計情報に `設計書/デモショップ設計書.md` を添付します。
4. 環境チェックで使用するツールを確認し、不足分をインストールします。E2EはPlaywright、単体はVitestが必要です。
5. テストケースの「取り込む」→「フォルダから取り込み」で `テスト仕様書` を選びます。
6. 最初は「商品検索」をE2Eで試します。ログインを試すときは、以下のデモ用ログイン情報を初期設定に登録します。

| 名前 | メールアドレス | パスワード |
| --- | --- | --- |
| デモ会員 | member@example.com | demo-pass-1 |
| デモ管理者 | admin@example.com | demo-pass-2 |

この2件はローカルのデモだけで使える公開のダミー値です。実サービスのアカウントではありません。

## テストの種類

| 仕様書 | 方法 | ケース数 |
| --- | --- | --- |
| 商品検索 | E2E（ブラウザ） / playwright | 9 |
| 会員ログイン | E2E（ブラウザ） / playwright | 6 |
| 検索とカートの計算 | 単体 / auto（Vitest） | 16 |
| ショップ API | 結合・API / OpenAPI | 12 |

E2E・単体のツール準備は、開発担当者に依頼できます。手元で行う場合は、このフォルダで次を実行します。

```sh
pnpm install
pnpm exec playwright install chromium
```

テストコードはAcsim Testで作成します。サンプルに含まれる `src/` と `sut/` はテスト対象のコードです。AIによる生成・判定には、利用できるAIの設定が別途必要です。

## 失敗の見方を練習するケース

このサンプルには、意図的に期待結果を満たさないケースがあります。全て成功することが初回利用のゴールではありません。失敗内容を確認し、Issue化・再テストする練習に使えます。

- AC-009、UT-016: まとめ買い割引は未実装です。
- AC-106: 大文字のメールアドレスでのログインには対応していません。
- IT-012: クーポンAPIは未実装です。

API定義 `schemas/shop.openapi.json` も、差異確認の練習用に実装より古い内容です。クーポンAPIは定義にだけあり、会員登録・商品取込など実装にある一部のAPIは定義にありません。結合テストで生成した定義との違いを確認できます。

商品の更新とカートはメモリ上のデモデータです。起動し直すと初期状態に戻ります。DBモードは初回のお試しでは使わず、SQL実行の設定は不要です。ソース・設計書に記載があっても、性能・セキュリティ・可用性の検証用シナリオはこの入門セットに含めていません。

出典: r06-acsim/acsim-test、commit ee0fe915。初回利用向けにpackage.jsonとこのREADMEを追加・調整しています。
