create([ 'name' => '测试访客', 'email' => 'visitor@example.com' ]); $visitData = [ 'name' => '测试访客', 'visitor_name' => '测试访客', 'date' => '2024-01-15', 'accept_admin_name' => '被访管理员', 'company_name' => '测试公司', ]; $notification = new AuditResultEmailNotify($visitData, '通过'); $mailMessage = $notification->toMail($user); // 验证审核通过的邮件内容 $this->assertStringContainsString('拜访申请审核通过通知', $mailMessage->subject); $this->assertStringContainsString('测试访客', $mailMessage->subject); $this->assertStringContainsString('您好 测试访客', $mailMessage->greeting); $this->assertStringContainsString('您的拜访申请已审核通过', $mailMessage->introLines[0]); $this->assertStringContainsString('2024-01-15', $mailMessage->introLines[0]); $this->assertStringContainsString('被访管理员', $mailMessage->introLines[1]); $this->assertStringContainsString('测试公司', $mailMessage->introLines[2]); $this->assertStringContainsString('请按时到访', $mailMessage->introLines[3]); $this->assertStringContainsString('查看详情', $mailMessage->actionText); } /** @test */ public function test_audit_rejected_email_notification_content() { $user = User::factory()->create([ 'name' => '测试访客', 'email' => 'visitor@example.com' ]); $visitData = [ 'name' => '测试访客', 'visitor_name' => '测试访客', 'date' => '2024-01-15', 'accept_admin_name' => '被访管理员', 'company_name' => '测试公司', ]; $notification = new AuditResultEmailNotify($visitData, '驳回'); $mailMessage = $notification->toMail($user); // 验证审核驳回的邮件内容 $this->assertStringContainsString('拜访申请审核驳回通知', $mailMessage->subject); $this->assertStringContainsString('测试访客', $mailMessage->subject); $this->assertStringContainsString('您好 测试访客', $mailMessage->greeting); $this->assertStringContainsString('很抱歉,您的拜访申请未通过审核', $mailMessage->introLines[0]); $this->assertStringContainsString('2024-01-15', $mailMessage->introLines[1]); $this->assertStringContainsString('被访管理员', $mailMessage->introLines[2]); $this->assertStringContainsString('测试公司', $mailMessage->introLines[3]); $this->assertStringContainsString('如有疑问,请联系被访人或重新提交申请', $mailMessage->introLines[4]); $this->assertStringContainsString('重新申请', $mailMessage->actionText); } }