試すバリエーション
| バリエーション | 例 | 届き先 |
|---|---|---|
| 通常 | k3f9x2@mailclub.dev |
その受信トレイ |
| プラスタグ | k3f9x2+promo1@mailclub.dev |
同じ受信トレイ |
| 大文字 | K3F9X2@mailclub.dev |
同じ受信トレイ |
どの +tag でも使えます。受信トレイには、各メールがどのバリエーション宛てかが表示されます。エージェントは get_address_variants から配信可能なバリエーションを取得できます。
テストする
- オファーに登録します。 通常のアドレスを使い、クーポンを記録します。
- 再登録します。 プラスタグ付きのバリエーション、次に大文字のバリエーションで、セッションが引き継がれないよう毎回プライベートウィンドウで行います。
- 受信トレイを確認します。 各メールにはどのバリエーション宛てかが表示されます。2 つ目のクーポンが届いた場合、その
offer_reuseチェックは失敗し、アカウントページにウェルカムオファーが複数回送られたという警告が表示されます。
チェックでは、クーポンが異なる(アプリが毎回新しく発行した)か、同じ共有コードか(この場合、2 回目の使用を拒否するのは決済処理の役割です)もわかります。決済処理での結果は クーポンの結果 に記録してください。再利用されたオファーでクーポンが受け付けられると失敗になります。
テストでの使い方
const tagged = address.replace('@', '+promo1@');let submitted = new Date();await signUpForOffer(page, address);await qa.waitForCode(address, { type: 'coupon', since: submitted, timeout: 600 });
submitted = new Date();await signUpForOffer(page, tagged);// The same person: no second coupon should come.await qa.expectNoEmail(tagged, { since: submitted, type: 'code', subtype: 'coupon', timeout: 300 });expect((await qa.offers(address)).passed).toBe(true);エージェントは get_address_variants、wait_for_code(kind coupon)、check_offers で同じことができ、test_offer_reuse プロンプトが手順を案内します。