<?xml version="1.0" encoding="UTF-8"?>
<testsuites>
  <testsuite name="C:\Users\user\Downloads\Video\OneDrive\Desktop\zanaka-app\zanaka-core\phpunit.xml" tests="59" assertions="153" errors="0" failures="0" skipped="0" time="14.363222">
    <testsuite name="Unit" tests="8" assertions="13" errors="0" failures="0" skipped="0" time="1.060592">
      <testsuite name="Tests\Unit\ExampleTest" file="tests\Unit\ExampleTest.php" tests="1" assertions="1" errors="0" failures="0" skipped="0" time="0.023571">
        <testcase name="that true is true" file="tests\Unit\ExampleTest.php::that true is true" class="Tests\Unit\ExampleTest" classname="Tests.Unit.ExampleTest" assertions="1" time="0.023571"/>
      </testsuite>
      <testsuite name="Tests\Unit\PromptRefinementServiceTest" file="tests\Unit\PromptRefinementServiceTest.php" tests="7" assertions="12" errors="0" failures="0" skipped="0" time="1.037021">
        <testcase name="it returns original when disabled" file="tests\Unit\PromptRefinementServiceTest.php::it returns original when disabled" class="Tests\Unit\PromptRefinementServiceTest" classname="Tests.Unit.PromptRefinementServiceTest" assertions="2" time="0.004075"/>
        <testcase name="it returns original when missing key" file="tests\Unit\PromptRefinementServiceTest.php::it returns original when missing key" class="Tests\Unit\PromptRefinementServiceTest" classname="Tests.Unit.PromptRefinementServiceTest" assertions="1" time="0.000474"/>
        <testcase name="it returns original when refine flag off" file="tests\Unit\PromptRefinementServiceTest.php::it returns original when refine flag off" class="Tests\Unit\PromptRefinementServiceTest" classname="Tests.Unit.PromptRefinementServiceTest" assertions="1" time="0.000413"/>
        <testcase name="it returns original when provider unsupported" file="tests\Unit\PromptRefinementServiceTest.php::it returns original when provider unsupported" class="Tests\Unit\PromptRefinementServiceTest" classname="Tests.Unit.PromptRefinementServiceTest" assertions="1" time="0.000485"/>
        <testcase name="it refines successfully on first attempt" file="tests\Unit\PromptRefinementServiceTest.php::it refines successfully on first attempt" class="Tests\Unit\PromptRefinementServiceTest" classname="Tests.Unit.PromptRefinementServiceTest" assertions="2" time="0.021679"/>
        <testcase name="it retries on transient 429 then succeeds" file="tests\Unit\PromptRefinementServiceTest.php::it retries on transient 429 then succeeds" class="Tests\Unit\PromptRefinementServiceTest" classname="Tests.Unit.PromptRefinementServiceTest" assertions="3" time="0.254219"/>
        <testcase name="it falls back after max attempts with transient errors" file="tests\Unit\PromptRefinementServiceTest.php::it falls back after max attempts with transient errors" class="Tests\Unit\PromptRefinementServiceTest" classname="Tests.Unit.PromptRefinementServiceTest" assertions="2" time="0.755676"/>
      </testsuite>
    </testsuite>
    <testsuite name="Feature" tests="51" assertions="140" errors="0" failures="0" skipped="0" time="13.302630">
      <testsuite name="Tests\Feature\AdminGateTest" file="Admin Gate (Tests\Feature\AdminGate)" tests="2" assertions="2" errors="0" failures="0" skipped="0" time="0.727940">
        <testcase name="Non admin cannot access admin routes" file="Admin Gate (Tests\Feature\AdminGate)::Non admin cannot access admin routes" class="Tests\Feature\AdminGateTest" classname="Tests.Feature.AdminGateTest" assertions="1" time="0.682098"/>
        <testcase name="Admin can access admin routes" file="Admin Gate (Tests\Feature\AdminGate)::Admin can access admin routes" class="Tests\Feature\AdminGateTest" classname="Tests.Feature.AdminGateTest" assertions="1" time="0.045842"/>
      </testsuite>
      <testsuite name="Tests\Feature\Auth\AuthenticationTest" file="tests\Feature\Auth\AuthenticationTest.php" tests="4" assertions="8" errors="0" failures="0" skipped="0" time="0.436646">
        <testcase name="login screen can be rendered" file="tests\Feature\Auth\AuthenticationTest.php::login screen can be rendered" class="Tests\Feature\Auth\AuthenticationTest" classname="Tests.Feature.Auth.AuthenticationTest" assertions="1" time="0.069791"/>
        <testcase name="users can authenticate using the login screen" file="tests\Feature\Auth\AuthenticationTest.php::users can authenticate using the login screen" class="Tests\Feature\Auth\AuthenticationTest" classname="Tests.Feature.Auth.AuthenticationTest" assertions="3" time="0.084486"/>
        <testcase name="users can not authenticate with invalid password" file="tests\Feature\Auth\AuthenticationTest.php::users can not authenticate with invalid password" class="Tests\Feature\Auth\AuthenticationTest" classname="Tests.Feature.Auth.AuthenticationTest" assertions="1" time="0.240198"/>
        <testcase name="users can logout" file="tests\Feature\Auth\AuthenticationTest.php::users can logout" class="Tests\Feature\Auth\AuthenticationTest" classname="Tests.Feature.Auth.AuthenticationTest" assertions="3" time="0.042171"/>
      </testsuite>
      <testsuite name="Tests\Feature\Auth\EmailVerificationTest" file="tests\Feature\Auth\EmailVerificationTest.php" tests="3" assertions="6" errors="0" failures="0" skipped="0" time="0.163900">
        <testcase name="email verification screen can be rendered" file="tests\Feature\Auth\EmailVerificationTest.php::email verification screen can be rendered" class="Tests\Feature\Auth\EmailVerificationTest" classname="Tests.Feature.Auth.EmailVerificationTest" assertions="1" time="0.064802"/>
        <testcase name="email can be verified" file="tests\Feature\Auth\EmailVerificationTest.php::email can be verified" class="Tests\Feature\Auth\EmailVerificationTest" classname="Tests.Feature.Auth.EmailVerificationTest" assertions="4" time="0.052091"/>
        <testcase name="email is not verified with invalid hash" file="tests\Feature\Auth\EmailVerificationTest.php::email is not verified with invalid hash" class="Tests\Feature\Auth\EmailVerificationTest" classname="Tests.Feature.Auth.EmailVerificationTest" assertions="1" time="0.047006"/>
      </testsuite>
      <testsuite name="Tests\Feature\Auth\PasswordConfirmationTest" file="tests\Feature\Auth\PasswordConfirmationTest.php" tests="3" assertions="4" errors="0" failures="0" skipped="0" time="0.336740">
        <testcase name="confirm password screen can be rendered" file="tests\Feature\Auth\PasswordConfirmationTest.php::confirm password screen can be rendered" class="Tests\Feature\Auth\PasswordConfirmationTest" classname="Tests.Feature.Auth.PasswordConfirmationTest" assertions="1" time="0.053351"/>
        <testcase name="password can be confirmed" file="tests\Feature\Auth\PasswordConfirmationTest.php::password can be confirmed" class="Tests\Feature\Auth\PasswordConfirmationTest" classname="Tests.Feature.Auth.PasswordConfirmationTest" assertions="2" time="0.042409"/>
        <testcase name="password is not confirmed with invalid password" file="tests\Feature\Auth\PasswordConfirmationTest.php::password is not confirmed with invalid password" class="Tests\Feature\Auth\PasswordConfirmationTest" classname="Tests.Feature.Auth.PasswordConfirmationTest" assertions="1" time="0.240981"/>
      </testsuite>
      <testsuite name="Tests\Feature\Auth\PasswordResetTest" file="tests\Feature\Auth\PasswordResetTest.php" tests="4" assertions="8" errors="0" failures="0" skipped="0" time="0.244579">
        <testcase name="reset password link screen can be rendered" file="tests\Feature\Auth\PasswordResetTest.php::reset password link screen can be rendered" class="Tests\Feature\Auth\PasswordResetTest" classname="Tests.Feature.Auth.PasswordResetTest" assertions="1" time="0.052250"/>
        <testcase name="reset password link can be requested" file="tests\Feature\Auth\PasswordResetTest.php::reset password link can be requested" class="Tests\Feature\Auth\PasswordResetTest" classname="Tests.Feature.Auth.PasswordResetTest" assertions="1" time="0.072069"/>
        <testcase name="reset password screen can be rendered" file="tests\Feature\Auth\PasswordResetTest.php::reset password screen can be rendered" class="Tests\Feature\Auth\PasswordResetTest" classname="Tests.Feature.Auth.PasswordResetTest" assertions="2" time="0.064699"/>
        <testcase name="password can be reset with valid token" file="tests\Feature\Auth\PasswordResetTest.php::password can be reset with valid token" class="Tests\Feature\Auth\PasswordResetTest" classname="Tests.Feature.Auth.PasswordResetTest" assertions="4" time="0.055561"/>
      </testsuite>
      <testsuite name="Tests\Feature\Auth\PasswordUpdateTest" file="tests\Feature\Auth\PasswordUpdateTest.php" tests="2" assertions="8" errors="0" failures="0" skipped="0" time="0.091840">
        <testcase name="password can be updated" file="tests\Feature\Auth\PasswordUpdateTest.php::password can be updated" class="Tests\Feature\Auth\PasswordUpdateTest" classname="Tests.Feature.Auth.PasswordUpdateTest" assertions="4" time="0.049016"/>
        <testcase name="correct password must be provided to update password" file="tests\Feature\Auth\PasswordUpdateTest.php::correct password must be provided to update password" class="Tests\Feature\Auth\PasswordUpdateTest" classname="Tests.Feature.Auth.PasswordUpdateTest" assertions="4" time="0.042824"/>
      </testsuite>
      <testsuite name="Tests\Feature\Auth\RegistrationTest" file="tests\Feature\Auth\RegistrationTest.php" tests="2" assertions="4" errors="0" failures="0" skipped="0" time="0.108146">
        <testcase name="registration screen can be rendered" file="tests\Feature\Auth\RegistrationTest.php::registration screen can be rendered" class="Tests\Feature\Auth\RegistrationTest" classname="Tests.Feature.Auth.RegistrationTest" assertions="1" time="0.062242"/>
        <testcase name="new users can register" file="tests\Feature\Auth\RegistrationTest.php::new users can register" class="Tests\Feature\Auth\RegistrationTest" classname="Tests.Feature.Auth.RegistrationTest" assertions="3" time="0.045903"/>
      </testsuite>
      <testsuite name="Tests\Feature\CorsMiddlewareTest" file="Cors Middleware (Tests\Feature\CorsMiddleware)" tests="1" assertions="4" errors="0" failures="0" skipped="0" time="0.048067">
        <testcase name="Cors headers present on pricing page" file="Cors Middleware (Tests\Feature\CorsMiddleware)::Cors headers present on pricing page" class="Tests\Feature\CorsMiddlewareTest" classname="Tests.Feature.CorsMiddlewareTest" assertions="4" time="0.048067"/>
      </testsuite>
      <testsuite name="Tests\Feature\ExampleTest" file="tests\Feature\ExampleTest.php" tests="1" assertions="1" errors="0" failures="0" skipped="0" time="0.048231">
        <testcase name="it home route redirects then resolves" file="tests\Feature\ExampleTest.php::it home route redirects then resolves" class="Tests\Feature\ExampleTest" classname="Tests.Feature.ExampleTest" assertions="1" time="0.048231"/>
      </testsuite>
      <testsuite name="Tests\Feature\ExitCodeReproTest" file="Exit Code Repro (Tests\Feature\ExitCodeRepro)" tests="3" assertions="8" errors="0" failures="0" skipped="0" time="0.799900">
        <testcase name="Minimal video shortcut succeeds" file="Exit Code Repro (Tests\Feature\ExitCodeRepro)::Minimal video shortcut succeeds" class="Tests\Feature\ExitCodeReproTest" classname="Tests.Feature.ExitCodeReproTest" assertions="6" time="0.703611"/>
        <testcase name="Trivial assertion passes" file="Exit Code Repro (Tests\Feature\ExitCodeRepro)::Trivial assertion passes" class="Tests\Feature\ExitCodeReproTest" classname="Tests.Feature.ExitCodeReproTest" assertions="1" time="0.046497"/>
        <testcase name="Database interaction minimal" file="Exit Code Repro (Tests\Feature\ExitCodeRepro)::Database interaction minimal" class="Tests\Feature\ExitCodeReproTest" classname="Tests.Feature.ExitCodeReproTest" assertions="1" time="0.049792"/>
      </testsuite>
      <testsuite name="Tests\Feature\MonitorStuckPendingPaymentsTest" file="Monitor Stuck Pending Payments (Tests\Feature\MonitorStuckPendingPayments)" tests="2" assertions="2" errors="0" failures="0" skipped="0" time="0.171067">
        <testcase name="No stuck payments exits success" file="Monitor Stuck Pending Payments (Tests\Feature\MonitorStuckPendingPayments)::No stuck payments exits success" class="Tests\Feature\MonitorStuckPendingPaymentsTest" classname="Tests.Feature.MonitorStuckPendingPaymentsTest" assertions="1" time="0.093322"/>
        <testcase name="Detects stuck payments and exits failure" file="Monitor Stuck Pending Payments (Tests\Feature\MonitorStuckPendingPayments)::Detects stuck payments and exits failure" class="Tests\Feature\MonitorStuckPendingPaymentsTest" classname="Tests.Feature.MonitorStuckPendingPaymentsTest" assertions="1" time="0.077745"/>
      </testsuite>
      <testsuite name="Tests\Feature\PaymentWebhookSignatureTest" file="Payment Webhook Signature (Tests\Feature\PaymentWebhookSignature)" tests="4" assertions="8" errors="0" failures="0" skipped="0" time="0.179188">
        <testcase name="Stripe webhook rejects missing signature" file="Payment Webhook Signature (Tests\Feature\PaymentWebhookSignature)::Stripe webhook rejects missing signature" class="Tests\Feature\PaymentWebhookSignatureTest" classname="Tests.Feature.PaymentWebhookSignatureTest" assertions="2" time="0.052344"/>
        <testcase name="Stripe webhook rejects invalid signature" file="Payment Webhook Signature (Tests\Feature\PaymentWebhookSignature)::Stripe webhook rejects invalid signature" class="Tests\Feature\PaymentWebhookSignatureTest" classname="Tests.Feature.PaymentWebhookSignatureTest" assertions="2" time="0.049570"/>
        <testcase name="Kbz webhook rejects missing signature" file="Payment Webhook Signature (Tests\Feature\PaymentWebhookSignature)::Kbz webhook rejects missing signature" class="Tests\Feature\PaymentWebhookSignatureTest" classname="Tests.Feature.PaymentWebhookSignatureTest" assertions="2" time="0.038390"/>
        <testcase name="Kbz webhook rejects invalid signature" file="Payment Webhook Signature (Tests\Feature\PaymentWebhookSignature)::Kbz webhook rejects invalid signature" class="Tests\Feature\PaymentWebhookSignatureTest" classname="Tests.Feature.PaymentWebhookSignatureTest" assertions="2" time="0.038884"/>
      </testsuite>
      <testsuite name="Tests\Feature\ProfileTest" file="tests\Feature\ProfileTest.php" tests="5" assertions="21" errors="0" failures="0" skipped="0" time="0.293812">
        <testcase name="profile page is displayed" file="tests\Feature\ProfileTest.php::profile page is displayed" class="Tests\Feature\ProfileTest" classname="Tests.Feature.ProfileTest" assertions="1" time="0.109251"/>
        <testcase name="profile information can be updated" file="tests\Feature\ProfileTest.php::profile information can be updated" class="Tests\Feature\ProfileTest" classname="Tests.Feature.ProfileTest" assertions="6" time="0.049787"/>
        <testcase name="email verification status is unchanged when the email address is unchanged" file="tests\Feature\ProfileTest.php::email verification status is unchanged when the email address is unchanged" class="Tests\Feature\ProfileTest" classname="Tests.Feature.ProfileTest" assertions="4" time="0.041018"/>
        <testcase name="user can delete their account" file="tests\Feature\ProfileTest.php::user can delete their account" class="Tests\Feature\ProfileTest" classname="Tests.Feature.ProfileTest" assertions="5" time="0.043707"/>
        <testcase name="correct password must be provided to delete account" file="tests\Feature\ProfileTest.php::correct password must be provided to delete account" class="Tests\Feature\ProfileTest" classname="Tests.Feature.ProfileTest" assertions="5" time="0.050049"/>
      </testsuite>
      <testsuite name="Tests\Feature\VideoGenerateFlowTest" file="Video Generate Flow (Tests\Feature\VideoGenerateFlow)" tests="1" assertions="1" errors="0" failures="0" skipped="0" time="0.047202">
        <testcase name="Placeholder passes" file="Video Generate Flow (Tests\Feature\VideoGenerateFlow)::Placeholder passes" class="Tests\Feature\VideoGenerateFlowTest" classname="Tests.Feature.VideoGenerateFlowTest" assertions="1" time="0.047202"/>
      </testsuite>
      <testsuite name="Tests\Feature\VideoGeneratePromptFieldsTest" file="tests\Feature\VideoGeneratePromptFieldsTest.php" tests="2" assertions="13" errors="0" failures="0" skipped="0" time="1.245596">
        <testcase name="it returns original and refined prompts in JSON response" file="tests\Feature\VideoGeneratePromptFieldsTest.php::it returns original and refined prompts in JSON response" class="Tests\Feature\VideoGeneratePromptFieldsTest" classname="Tests.Feature.VideoGeneratePromptFieldsTest" assertions="8" time="0.610057"/>
        <testcase name="it includes original and null refined when refinement disabled" file="tests\Feature\VideoGeneratePromptFieldsTest.php::it includes original and null refined when refinement disabled" class="Tests\Feature\VideoGeneratePromptFieldsTest" classname="Tests.Feature.VideoGeneratePromptFieldsTest" assertions="5" time="0.635539"/>
      </testsuite>
      <testsuite name="Tests\Feature\VideoPollingPestTest" file="tests\Feature\VideoPollingPestTest.php" tests="4" assertions="16" errors="0" failures="0" skipped="0" time="2.776858">
        <testcase name="pending then polled success includes prompt fields (or fallback)" file="tests\Feature\VideoPollingPestTest.php::pending then polled success includes prompt fields (or fallback)" class="Tests\Feature\VideoPollingPestTest" classname="Tests.Feature.VideoPollingPestTest" assertions="6" time="0.050957"/>
        <testcase name="still processing after poll returns 202 or fallback with prompts" file="tests\Feature\VideoPollingPestTest.php::still processing after poll returns 202 or fallback with prompts" class="Tests\Feature\VideoPollingPestTest" classname="Tests.Feature.VideoPollingPestTest" assertions="2" time="1.348601"/>
        <testcase name="timeout then fallback includes prompts" file="tests\Feature\VideoPollingPestTest.php::timeout then fallback includes prompts" class="Tests\Feature\VideoPollingPestTest" classname="Tests.Feature.VideoPollingPestTest" assertions="4" time="1.326117"/>
        <testcase name="initial failure returns failed with prompts (or fallback)" file="tests\Feature\VideoPollingPestTest.php::initial failure returns failed with prompts (or fallback)" class="Tests\Feature\VideoPollingPestTest" classname="Tests.Feature.VideoPollingPestTest" assertions="4" time="0.051183"/>
      </testsuite>
      <testsuite name="Tests\Feature\VideoPollingTest" file="Video Polling (Tests\Feature\VideoPolling)" tests="4" assertions="21" errors="0" failures="0" skipped="0" time="5.397315">
        <testcase name="Poll immediate success" file="Video Polling (Tests\Feature\VideoPolling)::Poll immediate success" class="Tests\Feature\VideoPollingTest" classname="Tests.Feature.VideoPollingTest" assertions="5" time="0.048555"/>
        <testcase name="Poll pending then success" file="Video Polling (Tests\Feature\VideoPolling)::Poll pending then success" class="Tests\Feature\VideoPollingTest" classname="Tests.Feature.VideoPollingTest" assertions="6" time="0.048111"/>
        <testcase name="Poll timeout triggers fallback" file="Video Polling (Tests\Feature\VideoPolling)::Poll timeout triggers fallback" class="Tests\Feature\VideoPollingTest" classname="Tests.Feature.VideoPollingTest" assertions="5" time="5.251434"/>
        <testcase name="Poll immediate failure" file="Video Polling (Tests\Feature\VideoPolling)::Poll immediate failure" class="Tests\Feature\VideoPollingTest" classname="Tests.Feature.VideoPollingTest" assertions="5" time="0.049215"/>
      </testsuite>
      <testsuite name="Tests\Feature\ZanakaVisaKpayProxyTest" file="Zanaka Visa Kpay Proxy (Tests\Feature\ZanakaVisaKpayProxy)" tests="4" assertions="5" errors="0" failures="0" skipped="0" time="0.185604">
        <testcase name="Blocks invalid visa card pattern" file="Zanaka Visa Kpay Proxy (Tests\Feature\ZanakaVisaKpayProxy)::Blocks invalid visa card pattern" class="Tests\Feature\ZanakaVisaKpayProxyTest" classname="Tests.Feature.ZanakaVisaKpayProxyTest" assertions="2" time="0.041258"/>
        <testcase name="Allows valid dev visa card" file="Zanaka Visa Kpay Proxy (Tests\Feature\ZanakaVisaKpayProxy)::Allows valid dev visa card" class="Tests\Feature\ZanakaVisaKpayProxyTest" classname="Tests.Feature.ZanakaVisaKpayProxyTest" assertions="1" time="0.048098"/>
        <testcase name="Allows valid kbz phone" file="Zanaka Visa Kpay Proxy (Tests\Feature\ZanakaVisaKpayProxy)::Allows valid kbz phone" class="Tests\Feature\ZanakaVisaKpayProxyTest" classname="Tests.Feature.ZanakaVisaKpayProxyTest" assertions="1" time="0.051628"/>
        <testcase name="Blocks invalid kbz phone" file="Zanaka Visa Kpay Proxy (Tests\Feature\ZanakaVisaKpayProxy)::Blocks invalid kbz phone" class="Tests\Feature\ZanakaVisaKpayProxyTest" classname="Tests.Feature.ZanakaVisaKpayProxyTest" assertions="1" time="0.044621"/>
      </testsuite>
    </testsuite>
  </testsuite>
</testsuites>
