visuddhinanda 2 maanden geleden
bovenliggende
commit
5082b97334
1 gewijzigde bestanden met toevoegingen van 51 en 0 verwijderingen
  1. 51 0
      api-v12/tests/Feature/MailTest.php

+ 51 - 0
api-v12/tests/Feature/MailTest.php

@@ -0,0 +1,51 @@
+<?php
+
+namespace Tests\Feature;
+
+use Tests\TestCase;
+use Illuminate\Support\Facades\Mail;
+use App\Mail\InviteMail;
+use Illuminate\Support\Str;
+
+/**
+ *    # 只运行 MailTest
+   php artisan test tests/Feature/MailTest.php
+
+   # 运行特定测试方法
+   php artisan test --filter test_invite_mail_can_be_sent
+ */
+class MailTest extends TestCase
+{
+    /**
+     * 测试邮件发送功能(使用 fake 模拟)
+     */
+    public function test_invite_mail_can_be_sent(): void
+    {
+        // 使用 Mail fake 来模拟邮件发送
+        Mail::fake();
+
+        // 发送邮件
+        Mail::to('visuddhinanda@gmail.com')->send(new InviteMail(Str::uuid()));
+
+        // 断言邮件已发送
+        Mail::assertSent(InviteMail::class, function ($mail) {
+            return $mail->hasTo('visuddhinanda@gmail.com');
+        });
+
+        // 断言只发送了一封邮件
+        Mail::assertSent(InviteMail::class, 1);
+    }
+
+    /**
+     * 测试真实邮件发送
+     * 注意:需要正确配置 .env 中的邮件参数
+     */
+    public function test_invite_mail_actual_sending(): void
+    {
+        // 真实发送邮件
+        Mail::to('visuddhinanda@gmail.com')->send(new InviteMail(Str::uuid()));
+
+        // 断言测试通过(需要手动检查邮箱)
+        $this->assertTrue(true);
+    }
+}