'buyer', ])->render(); $this->assertStringContainsString('role="dialog"', $html); $this->assertStringContainsString('aria-modal="true"', $html); $this->assertStringContainsString('md:items-center', $html); $this->assertStringContainsString('rounded-t-2xl', $html); $this->assertStringContainsString('md:h-[min(720px,85vh)]', $html); $this->assertStringContainsString('Complete your payment', $html); $this->assertStringContainsString('safe-area-inset-bottom', $html); $this->assertStringContainsString('LadillPayCheckout', $html); $this->assertStringContainsString('Continue to Paystack', $html); $this->assertStringContainsString('ladill_pay_checkout', $html); $this->assertStringNotContainsString('Paystack checkout', $html); } public function test_payment_return_escapes_popup_and_iframe_to_opener_or_top(): void { $html = view('public.payment-return', [ 'redirect' => 'https://example.test/paid', ])->render(); $this->assertStringContainsString('Confirming your payment', $html); $this->assertStringContainsString('window.opener', $html); $this->assertStringContainsString('window.top.location.replace', $html); $this->assertTrue( str_contains($html, 'https://example.test/paid') || str_contains($html, 'https:\/\/example.test\/paid') ); } }