<?xml version="1.0" encoding="UTF-8"?>
<testsuites>
  <testsuite name="/Users/gentianbeqiri/StudioProjects/pos_system/apps/api/phpunit.xml" tests="1268" assertions="7918" errors="0" failures="0" skipped="6" time="63.501092">
    <testsuite name="Unit" tests="218" assertions="1444" errors="0" failures="0" skipped="0" time="2.230212">
      <testsuite name="Tests\Unit\BasketSpendIncrementalContributionTest" file="/Users/gentianbeqiri/StudioProjects/pos_system/apps/api/tests/Unit/BasketSpendIncrementalContributionTest.php" tests="9" assertions="23" errors="0" failures="0" skipped="0" time="0.207349">
        <testcase name="test_example_regression_with_explicit_historical_mix_assumption" file="/Users/gentianbeqiri/StudioProjects/pos_system/apps/api/tests/Unit/BasketSpendIncrementalContributionTest.php" line="57" class="Tests\Unit\BasketSpendIncrementalContributionTest" classname="Tests.Unit.BasketSpendIncrementalContributionTest" assertions="7" time="0.150583"/>
        <testcase name="test_without_explicit_assumption_contribution_is_unknown" file="/Users/gentianbeqiri/StudioProjects/pos_system/apps/api/tests/Unit/BasketSpendIncrementalContributionTest.php" line="96" class="Tests\Unit\BasketSpendIncrementalContributionTest" classname="Tests.Unit.BasketSpendIncrementalContributionTest" assertions="3" time="0.007097"/>
        <testcase name="test_partial_basket_costs_yield_unknown" file="/Users/gentianbeqiri/StudioProjects/pos_system/apps/api/tests/Unit/BasketSpendIncrementalContributionTest.php" line="126" class="Tests\Unit\BasketSpendIncrementalContributionTest" classname="Tests.Unit.BasketSpendIncrementalContributionTest" assertions="1" time="0.006074"/>
        <testcase name="test_zero_promotional_basket_gp_is_unreachable_break_even" file="/Users/gentianbeqiri/StudioProjects/pos_system/apps/api/tests/Unit/BasketSpendIncrementalContributionTest.php" line="151" class="Tests\Unit\BasketSpendIncrementalContributionTest" classname="Tests.Unit.BasketSpendIncrementalContributionTest" assertions="2" time="0.006310"/>
        <testcase name="test_negative_promotional_basket_gp_is_unreachable_break_even" file="/Users/gentianbeqiri/StudioProjects/pos_system/apps/api/tests/Unit/BasketSpendIncrementalContributionTest.php" line="181" class="Tests\Unit\BasketSpendIncrementalContributionTest" classname="Tests.Unit.BasketSpendIncrementalContributionTest" assertions="2" time="0.006452"/>
        <testcase name="test_multiple_qualifying_baskets_average_promotional_gp" file="/Users/gentianbeqiri/StudioProjects/pos_system/apps/api/tests/Unit/BasketSpendIncrementalContributionTest.php" line="211" class="Tests\Unit\BasketSpendIncrementalContributionTest" classname="Tests.Unit.BasketSpendIncrementalContributionTest" assertions="1" time="0.008424"/>
        <testcase name="test_hypothetical_contribution_caps_risk_and_strategy_label" file="/Users/gentianbeqiri/StudioProjects/pos_system/apps/api/tests/Unit/BasketSpendIncrementalContributionTest.php" line="242" class="Tests\Unit\BasketSpendIncrementalContributionTest" classname="Tests.Unit.BasketSpendIncrementalContributionTest" assertions="3" time="0.008871"/>
        <testcase name="test_ranker_penalizes_hypothetical_contribution_kind" file="/Users/gentianbeqiri/StudioProjects/pos_system/apps/api/tests/Unit/BasketSpendIncrementalContributionTest.php" line="276" class="Tests\Unit\BasketSpendIncrementalContributionTest" classname="Tests.Unit.BasketSpendIncrementalContributionTest" assertions="2" time="0.007132"/>
        <testcase name="test_unsupported_assumption_yields_unknown_contribution" file="/Users/gentianbeqiri/StudioProjects/pos_system/apps/api/tests/Unit/BasketSpendIncrementalContributionTest.php" line="301" class="Tests\Unit\BasketSpendIncrementalContributionTest" classname="Tests.Unit.BasketSpendIncrementalContributionTest" assertions="2" time="0.006407"/>
      </testsuite>
      <testsuite name="Tests\Unit\BusinessAdvisorProductAssemblerTest" file="/Users/gentianbeqiri/StudioProjects/pos_system/apps/api/tests/Unit/BusinessAdvisorProductAssemblerTest.php" tests="2" assertions="7" errors="0" failures="0" skipped="0" time="0.002464">
        <testcase name="test_possible_explanations_are_not_observed_facts" file="/Users/gentianbeqiri/StudioProjects/pos_system/apps/api/tests/Unit/BusinessAdvisorProductAssemblerTest.php" line="11" class="Tests\Unit\BusinessAdvisorProductAssemblerTest" classname="Tests.Unit.BusinessAdvisorProductAssemblerTest" assertions="2" time="0.002253"/>
        <testcase name="test_observed_facts_use_structured_metrics_not_map_detail" file="/Users/gentianbeqiri/StudioProjects/pos_system/apps/api/tests/Unit/BusinessAdvisorProductAssemblerTest.php" line="34" class="Tests\Unit\BusinessAdvisorProductAssemblerTest" classname="Tests.Unit.BusinessAdvisorProductAssemblerTest" assertions="5" time="0.000211"/>
      </testsuite>
      <testsuite name="Tests\Unit\CatalogDiscoveryProductPoolTest" file="/Users/gentianbeqiri/StudioProjects/pos_system/apps/api/tests/Unit/CatalogDiscoveryProductPoolTest.php" tests="2" assertions="5" errors="0" failures="0" skipped="0" time="0.440915">
        <testcase name="test_pool_is_deterministic_for_same_scope" file="/Users/gentianbeqiri/StudioProjects/pos_system/apps/api/tests/Unit/CatalogDiscoveryProductPoolTest.php" line="19" class="Tests\Unit\CatalogDiscoveryProductPoolTest" classname="Tests.Unit.CatalogDiscoveryProductPoolTest" assertions="1" time="0.384181"/>
        <testcase name="test_category_filter_restricts_eligible_count" file="/Users/gentianbeqiri/StudioProjects/pos_system/apps/api/tests/Unit/CatalogDiscoveryProductPoolTest.php" line="37" class="Tests\Unit\CatalogDiscoveryProductPoolTest" classname="Tests.Unit.CatalogDiscoveryProductPoolTest" assertions="4" time="0.056734"/>
      </testsuite>
      <testsuite name="Tests\Unit\ComparisonTokenSemanticsTest" file="/Users/gentianbeqiri/StudioProjects/pos_system/apps/api/tests/Unit/ComparisonTokenSemanticsTest.php" tests="2" assertions="6" errors="0" failures="0" skipped="0" time="0.001908">
        <testcase name="test_weak_packaging_tokens_are_not_identity" file="/Users/gentianbeqiri/StudioProjects/pos_system/apps/api/tests/Unit/ComparisonTokenSemanticsTest.php" line="13" class="Tests\Unit\ComparisonTokenSemanticsTest" classname="Tests.Unit.ComparisonTokenSemanticsTest" assertions="5" time="0.001153"/>
        <testcase name="test_brand_conflict_blocks_eligibility" file="/Users/gentianbeqiri/StudioProjects/pos_system/apps/api/tests/Unit/ComparisonTokenSemanticsTest.php" line="23" class="Tests\Unit\ComparisonTokenSemanticsTest" classname="Tests.Unit.ComparisonTokenSemanticsTest" assertions="1" time="0.000754"/>
      </testsuite>
      <testsuite name="Tests\Unit\CompetitorIntelligence\GtinDiscoveryPipelineTest" file="/Users/gentianbeqiri/StudioProjects/pos_system/apps/api/tests/Unit/CompetitorIntelligence/GtinDiscoveryPipelineTest.php" tests="8" assertions="16" errors="0" failures="0" skipped="0" time="0.069455">
        <testcase name="test_cyrillic_latin_brand_comparison" file="/Users/gentianbeqiri/StudioProjects/pos_system/apps/api/tests/Unit/CompetitorIntelligence/GtinDiscoveryPipelineTest.php" line="32" class="Tests\Unit\CompetitorIntelligence\GtinDiscoveryPipelineTest" classname="Tests.Unit.CompetitorIntelligence.GtinDiscoveryPipelineTest" assertions="2" time="0.008875"/>
        <testcase name="test_stobi_brand_collision_is_partial_risky_not_exact" file="/Users/gentianbeqiri/StudioProjects/pos_system/apps/api/tests/Unit/CompetitorIntelligence/GtinDiscoveryPipelineTest.php" line="39" class="Tests\Unit\CompetitorIntelligence\GtinDiscoveryPipelineTest" classname="Tests.Unit.CompetitorIntelligence.GtinDiscoveryPipelineTest" assertions="2" time="0.008767"/>
        <testcase name="test_multipack_parsing_with_cyrillic_x" file="/Users/gentianbeqiri/StudioProjects/pos_system/apps/api/tests/Unit/CompetitorIntelligence/GtinDiscoveryPipelineTest.php" line="46" class="Tests\Unit\CompetitorIntelligence\GtinDiscoveryPipelineTest" classname="Tests.Unit.CompetitorIntelligence.GtinDiscoveryPipelineTest" assertions="3" time="0.007647"/>
        <testcase name="test_500g_not_equivalent_to_2x250g_for_identity" file="/Users/gentianbeqiri/StudioProjects/pos_system/apps/api/tests/Unit/CompetitorIntelligence/GtinDiscoveryPipelineTest.php" line="54" class="Tests\Unit\CompetitorIntelligence\GtinDiscoveryPipelineTest" classname="Tests.Unit.CompetitorIntelligence.GtinDiscoveryPipelineTest" assertions="2" time="0.007315"/>
        <testcase name="test_gtin_checksum_does_not_increase_evidence_score" file="/Users/gentianbeqiri/StudioProjects/pos_system/apps/api/tests/Unit/CompetitorIntelligence/GtinDiscoveryPipelineTest.php" line="63" class="Tests\Unit\CompetitorIntelligence\GtinDiscoveryPipelineTest" classname="Tests.Unit.CompetitorIntelligence.GtinDiscoveryPipelineTest" assertions="2" time="0.009807"/>
        <testcase name="test_wine_category_conflicts_with_stobi_flips_name" file="/Users/gentianbeqiri/StudioProjects/pos_system/apps/api/tests/Unit/CompetitorIntelligence/GtinDiscoveryPipelineTest.php" line="87" class="Tests\Unit\CompetitorIntelligence\GtinDiscoveryPipelineTest" classname="Tests.Unit.CompetitorIntelligence.GtinDiscoveryPipelineTest" assertions="1" time="0.007703"/>
        <testcase name="test_negative_provider_cache_stores_no_result" file="/Users/gentianbeqiri/StudioProjects/pos_system/apps/api/tests/Unit/CompetitorIntelligence/GtinDiscoveryPipelineTest.php" line="107" class="Tests\Unit\CompetitorIntelligence\GtinDiscoveryPipelineTest" classname="Tests.Unit.CompetitorIntelligence.GtinDiscoveryPipelineTest" assertions="3" time="0.011549"/>
        <testcase name="test_transliteration_is_deterministic" file="/Users/gentianbeqiri/StudioProjects/pos_system/apps/api/tests/Unit/CompetitorIntelligence/GtinDiscoveryPipelineTest.php" line="118" class="Tests\Unit\CompetitorIntelligence\GtinDiscoveryPipelineTest" classname="Tests.Unit.CompetitorIntelligence.GtinDiscoveryPipelineTest" assertions="1" time="0.007793"/>
      </testsuite>
      <testsuite name="Tests\Unit\CompetitorIntelligence\GtinRepresentationEquivalenceTest" file="/Users/gentianbeqiri/StudioProjects/pos_system/apps/api/tests/Unit/CompetitorIntelligence/GtinRepresentationEquivalenceTest.php" tests="3" assertions="3" errors="0" failures="0" skipped="0" time="0.026827">
        <testcase name="test_gtin14_indicator_zero_matches_ean13_representation" file="/Users/gentianbeqiri/StudioProjects/pos_system/apps/api/tests/Unit/CompetitorIntelligence/GtinRepresentationEquivalenceTest.php" line="10" class="Tests\Unit\CompetitorIntelligence\GtinRepresentationEquivalenceTest" classname="Tests.Unit.CompetitorIntelligence.GtinRepresentationEquivalenceTest" assertions="1" time="0.009310"/>
        <testcase name="test_different_gtin_check_digits_not_equivalent" file="/Users/gentianbeqiri/StudioProjects/pos_system/apps/api/tests/Unit/CompetitorIntelligence/GtinRepresentationEquivalenceTest.php" line="18" class="Tests\Unit\CompetitorIntelligence\GtinRepresentationEquivalenceTest" classname="Tests.Unit.CompetitorIntelligence.GtinRepresentationEquivalenceTest" assertions="1" time="0.007487"/>
        <testcase name="test_upc12_and_ean13_zero_prefix_representation" file="/Users/gentianbeqiri/StudioProjects/pos_system/apps/api/tests/Unit/CompetitorIntelligence/GtinRepresentationEquivalenceTest.php" line="24" class="Tests\Unit\CompetitorIntelligence\GtinRepresentationEquivalenceTest" classname="Tests.Unit.CompetitorIntelligence.GtinRepresentationEquivalenceTest" assertions="1" time="0.010029"/>
      </testsuite>
      <testsuite name="Tests\Unit\CompetitorIntelligence\IdentityResolutionArchitectureTest" file="/Users/gentianbeqiri/StudioProjects/pos_system/apps/api/tests/Unit/CompetitorIntelligence/IdentityResolutionArchitectureTest.php" tests="1" assertions="224" errors="0" failures="0" skipped="0" time="0.012238">
        <testcase name="test_identity_resolution_code_does_not_reference_operational_product_writers" file="/Users/gentianbeqiri/StudioProjects/pos_system/apps/api/tests/Unit/CompetitorIntelligence/IdentityResolutionArchitectureTest.php" line="9" class="Tests\Unit\CompetitorIntelligence\IdentityResolutionArchitectureTest" classname="Tests.Unit.CompetitorIntelligence.IdentityResolutionArchitectureTest" assertions="224" time="0.012238"/>
      </testsuite>
      <testsuite name="Tests\Unit\CompetitorIntelligence\NormalizedSizeDimensionTest" file="/Users/gentianbeqiri/StudioProjects/pos_system/apps/api/tests/Unit/CompetitorIntelligence/NormalizedSizeDimensionTest.php" tests="5" assertions="14" errors="0" failures="0" skipped="0" time="0.000376">
        <testcase name="test_same_mass_dimension_converts_and_equates" file="/Users/gentianbeqiri/StudioProjects/pos_system/apps/api/tests/Unit/CompetitorIntelligence/NormalizedSizeDimensionTest.php" line="10" class="Tests\Unit\CompetitorIntelligence\NormalizedSizeDimensionTest" classname="Tests.Unit.CompetitorIntelligence.NormalizedSizeDimensionTest" assertions="3" time="0.000102"/>
        <testcase name="test_same_volume_dimension_converts_and_equates" file="/Users/gentianbeqiri/StudioProjects/pos_system/apps/api/tests/Unit/CompetitorIntelligence/NormalizedSizeDimensionTest.php" line="17" class="Tests\Unit\CompetitorIntelligence\NormalizedSizeDimensionTest" classname="Tests.Unit.CompetitorIntelligence.NormalizedSizeDimensionTest" assertions="3" time="0.000075"/>
        <testcase name="test_cross_dimension_never_equivalent" file="/Users/gentianbeqiri/StudioProjects/pos_system/apps/api/tests/Unit/CompetitorIntelligence/NormalizedSizeDimensionTest.php" line="24" class="Tests\Unit\CompetitorIntelligence\NormalizedSizeDimensionTest" classname="Tests.Unit.CompetitorIntelligence.NormalizedSizeDimensionTest" assertions="3" time="0.000069"/>
        <testcase name="test_cross_dimension_is_size_conflict" file="/Users/gentianbeqiri/StudioProjects/pos_system/apps/api/tests/Unit/CompetitorIntelligence/NormalizedSizeDimensionTest.php" line="39" class="Tests\Unit\CompetitorIntelligence\NormalizedSizeDimensionTest" classname="Tests.Unit.CompetitorIntelligence.NormalizedSizeDimensionTest" assertions="3" time="0.000066"/>
        <testcase name="test_pack_count_safety_preserved" file="/Users/gentianbeqiri/StudioProjects/pos_system/apps/api/tests/Unit/CompetitorIntelligence/NormalizedSizeDimensionTest.php" line="46" class="Tests\Unit\CompetitorIntelligence\NormalizedSizeDimensionTest" classname="Tests.Unit.CompetitorIntelligence.NormalizedSizeDimensionTest" assertions="2" time="0.000063"/>
      </testsuite>
      <testsuite name="Tests\Unit\CompetitorSourceRateLimiterTest" file="/Users/gentianbeqiri/StudioProjects/pos_system/apps/api/tests/Unit/CompetitorSourceRateLimiterTest.php" tests="2" assertions="4" errors="0" failures="0" skipped="0" time="0.017150">
        <testcase name="test_business_day_blocks_second_success_same_day" file="/Users/gentianbeqiri/StudioProjects/pos_system/apps/api/tests/Unit/CompetitorSourceRateLimiterTest.php" line="13" class="Tests\Unit\CompetitorSourceRateLimiterTest" classname="Tests.Unit.CompetitorSourceRateLimiterTest" assertions="2" time="0.009387"/>
        <testcase name="test_failed_fetch_does_not_block_full_day" file="/Users/gentianbeqiri/StudioProjects/pos_system/apps/api/tests/Unit/CompetitorSourceRateLimiterTest.php" line="29" class="Tests\Unit\CompetitorSourceRateLimiterTest" classname="Tests.Unit.CompetitorSourceRateLimiterTest" assertions="2" time="0.007763"/>
      </testsuite>
      <testsuite name="Tests\Unit\CrossProductMechanicalPairEconomicsTest" file="/Users/gentianbeqiri/StudioProjects/pos_system/apps/api/tests/Unit/CrossProductMechanicalPairEconomicsTest.php" tests="2" assertions="5" errors="0" failures="0" skipped="0" time="0.000865">
        <testcase name="test_coca_cola_patatina_mechanical_discount_x_increase_y" file="/Users/gentianbeqiri/StudioProjects/pos_system/apps/api/tests/Unit/CrossProductMechanicalPairEconomicsTest.php" line="10" class="Tests\Unit\CrossProductMechanicalPairEconomicsTest" classname="Tests.Unit.CrossProductMechanicalPairEconomicsTest" assertions="4" time="0.000772"/>
        <testcase name="test_negative_contribution_when_discount_below_wac" file="/Users/gentianbeqiri/StudioProjects/pos_system/apps/api/tests/Unit/CrossProductMechanicalPairEconomicsTest.php" line="36" class="Tests\Unit\CrossProductMechanicalPairEconomicsTest" classname="Tests.Unit.CrossProductMechanicalPairEconomicsTest" assertions="1" time="0.000094"/>
      </testsuite>
      <testsuite name="Tests\Unit\FinancialOptimizationRankingEngineTest" file="/Users/gentianbeqiri/StudioProjects/pos_system/apps/api/tests/Unit/FinancialOptimizationRankingEngineTest.php" tests="2" assertions="2" errors="0" failures="0" skipped="0" time="0.000494">
        <testcase name="test_no_change_preferred_when_no_lower_risk_alternative" file="/Users/gentianbeqiri/StudioProjects/pos_system/apps/api/tests/Unit/FinancialOptimizationRankingEngineTest.php" line="12" class="Tests\Unit\FinancialOptimizationRankingEngineTest" classname="Tests.Unit.FinancialOptimizationRankingEngineTest" assertions="1" time="0.000414"/>
        <testcase name="test_keep_current_price_ranks_first" file="/Users/gentianbeqiri/StudioProjects/pos_system/apps/api/tests/Unit/FinancialOptimizationRankingEngineTest.php" line="31" class="Tests\Unit\FinancialOptimizationRankingEngineTest" classname="Tests.Unit.FinancialOptimizationRankingEngineTest" assertions="1" time="0.000080"/>
      </testsuite>
      <testsuite name="Tests\Unit\ForecastDeterminismTest" file="/Users/gentianbeqiri/StudioProjects/pos_system/apps/api/tests/Unit/ForecastDeterminismTest.php" tests="1" assertions="100" errors="0" failures="0" skipped="0" time="0.010143">
        <testcase name="test_forecast_is_deterministic_across_100_runs" file="/Users/gentianbeqiri/StudioProjects/pos_system/apps/api/tests/Unit/ForecastDeterminismTest.php" line="11" class="Tests\Unit\ForecastDeterminismTest" classname="Tests.Unit.ForecastDeterminismTest" assertions="100" time="0.010143"/>
      </testsuite>
      <testsuite name="Tests\Unit\ForecastEngineVectorsTest" file="/Users/gentianbeqiri/StudioProjects/pos_system/apps/api/tests/Unit/ForecastEngineVectorsTest.php" tests="30" assertions="692" errors="0" failures="0" skipped="0" time="0.240251">
        <testsuite name="Tests\Unit\ForecastEngineVectorsTest::test_canonical_vector" tests="30" assertions="692" errors="0" failures="0" skipped="0" time="0.240251">
          <testcase name="test_canonical_vector with data set &quot;stable_demand_horizon_1&quot;" file="/Users/gentianbeqiri/StudioProjects/pos_system/apps/api/tests/Unit/ForecastEngineVectorsTest.php" line="14" class="Tests\Unit\ForecastEngineVectorsTest" classname="Tests.Unit.ForecastEngineVectorsTest" assertions="23" time="0.008113"/>
          <testcase name="test_canonical_vector with data set &quot;stable_demand_horizon_7&quot;" file="/Users/gentianbeqiri/StudioProjects/pos_system/apps/api/tests/Unit/ForecastEngineVectorsTest.php" line="14" class="Tests\Unit\ForecastEngineVectorsTest" classname="Tests.Unit.ForecastEngineVectorsTest" assertions="23" time="0.006532"/>
          <testcase name="test_canonical_vector with data set &quot;stable_demand_horizon_14&quot;" file="/Users/gentianbeqiri/StudioProjects/pos_system/apps/api/tests/Unit/ForecastEngineVectorsTest.php" line="14" class="Tests\Unit\ForecastEngineVectorsTest" classname="Tests.Unit.ForecastEngineVectorsTest" assertions="23" time="0.008014"/>
          <testcase name="test_canonical_vector with data set &quot;stable_demand_horizon_30&quot;" file="/Users/gentianbeqiri/StudioProjects/pos_system/apps/api/tests/Unit/ForecastEngineVectorsTest.php" line="14" class="Tests\Unit\ForecastEngineVectorsTest" classname="Tests.Unit.ForecastEngineVectorsTest" assertions="23" time="0.006573"/>
          <testcase name="test_canonical_vector with data set &quot;rising_demand&quot;" file="/Users/gentianbeqiri/StudioProjects/pos_system/apps/api/tests/Unit/ForecastEngineVectorsTest.php" line="14" class="Tests\Unit\ForecastEngineVectorsTest" classname="Tests.Unit.ForecastEngineVectorsTest" assertions="23" time="0.006460"/>
          <testcase name="test_canonical_vector with data set &quot;falling_demand&quot;" file="/Users/gentianbeqiri/StudioProjects/pos_system/apps/api/tests/Unit/ForecastEngineVectorsTest.php" line="14" class="Tests\Unit\ForecastEngineVectorsTest" classname="Tests.Unit.ForecastEngineVectorsTest" assertions="23" time="0.006385"/>
          <testcase name="test_canonical_vector with data set &quot;volatile_demand&quot;" file="/Users/gentianbeqiri/StudioProjects/pos_system/apps/api/tests/Unit/ForecastEngineVectorsTest.php" line="14" class="Tests\Unit\ForecastEngineVectorsTest" classname="Tests.Unit.ForecastEngineVectorsTest" assertions="23" time="0.006286"/>
          <testcase name="test_canonical_vector with data set &quot;insufficient_history&quot;" file="/Users/gentianbeqiri/StudioProjects/pos_system/apps/api/tests/Unit/ForecastEngineVectorsTest.php" line="14" class="Tests\Unit\ForecastEngineVectorsTest" classname="Tests.Unit.ForecastEngineVectorsTest" assertions="23" time="0.007299"/>
          <testcase name="test_canonical_vector with data set &quot;no_sales_with_stock_available&quot;" file="/Users/gentianbeqiri/StudioProjects/pos_system/apps/api/tests/Unit/ForecastEngineVectorsTest.php" line="14" class="Tests\Unit\ForecastEngineVectorsTest" classname="Tests.Unit.ForecastEngineVectorsTest" assertions="23" time="0.010872"/>
          <testcase name="test_canonical_vector with data set &quot;no_sales_stock_unavailable&quot;" file="/Users/gentianbeqiri/StudioProjects/pos_system/apps/api/tests/Unit/ForecastEngineVectorsTest.php" line="14" class="Tests\Unit\ForecastEngineVectorsTest" classname="Tests.Unit.ForecastEngineVectorsTest" assertions="23" time="0.007116"/>
          <testcase name="test_canonical_vector with data set &quot;current_stock_sufficient&quot;" file="/Users/gentianbeqiri/StudioProjects/pos_system/apps/api/tests/Unit/ForecastEngineVectorsTest.php" line="14" class="Tests\Unit\ForecastEngineVectorsTest" classname="Tests.Unit.ForecastEngineVectorsTest" assertions="23" time="0.007883"/>
          <testcase name="test_canonical_vector with data set &quot;current_stock_insufficient&quot;" file="/Users/gentianbeqiri/StudioProjects/pos_system/apps/api/tests/Unit/ForecastEngineVectorsTest.php" line="14" class="Tests\Unit\ForecastEngineVectorsTest" classname="Tests.Unit.ForecastEngineVectorsTest" assertions="23" time="0.009572"/>
          <testcase name="test_canonical_vector with data set &quot;safety_stock_configured_min&quot;" file="/Users/gentianbeqiri/StudioProjects/pos_system/apps/api/tests/Unit/ForecastEngineVectorsTest.php" line="14" class="Tests\Unit\ForecastEngineVectorsTest" classname="Tests.Unit.ForecastEngineVectorsTest" assertions="23" time="0.009049"/>
          <testcase name="test_canonical_vector with data set &quot;zero_demand&quot;" file="/Users/gentianbeqiri/StudioProjects/pos_system/apps/api/tests/Unit/ForecastEngineVectorsTest.php" line="14" class="Tests\Unit\ForecastEngineVectorsTest" classname="Tests.Unit.ForecastEngineVectorsTest" assertions="23" time="0.009306"/>
          <testcase name="test_canonical_vector with data set &quot;zero_stock&quot;" file="/Users/gentianbeqiri/StudioProjects/pos_system/apps/api/tests/Unit/ForecastEngineVectorsTest.php" line="14" class="Tests\Unit\ForecastEngineVectorsTest" classname="Tests.Unit.ForecastEngineVectorsTest" assertions="23" time="0.008366"/>
          <testcase name="test_canonical_vector with data set &quot;negative_stock&quot;" file="/Users/gentianbeqiri/StudioProjects/pos_system/apps/api/tests/Unit/ForecastEngineVectorsTest.php" line="14" class="Tests\Unit\ForecastEngineVectorsTest" classname="Tests.Unit.ForecastEngineVectorsTest" assertions="23" time="0.008299"/>
          <testcase name="test_canonical_vector with data set &quot;weighted_decimal_product&quot;" file="/Users/gentianbeqiri/StudioProjects/pos_system/apps/api/tests/Unit/ForecastEngineVectorsTest.php" line="14" class="Tests\Unit\ForecastEngineVectorsTest" classname="Tests.Unit.ForecastEngineVectorsTest" assertions="23" time="0.008447"/>
          <testcase name="test_canonical_vector with data set &quot;partial_refund_net_series&quot;" file="/Users/gentianbeqiri/StudioProjects/pos_system/apps/api/tests/Unit/ForecastEngineVectorsTest.php" line="14" class="Tests\Unit\ForecastEngineVectorsTest" classname="Tests.Unit.ForecastEngineVectorsTest" assertions="23" time="0.007884"/>
          <testcase name="test_canonical_vector with data set &quot;missing_cost&quot;" file="/Users/gentianbeqiri/StudioProjects/pos_system/apps/api/tests/Unit/ForecastEngineVectorsTest.php" line="14" class="Tests\Unit\ForecastEngineVectorsTest" classname="Tests.Unit.ForecastEngineVectorsTest" assertions="23" time="0.007410"/>
          <testcase name="test_canonical_vector with data set &quot;real_zero_cost_treated_missing&quot;" file="/Users/gentianbeqiri/StudioProjects/pos_system/apps/api/tests/Unit/ForecastEngineVectorsTest.php" line="14" class="Tests\Unit\ForecastEngineVectorsTest" classname="Tests.Unit.ForecastEngineVectorsTest" assertions="23" time="0.008068"/>
          <testcase name="test_canonical_vector with data set &quot;known_cost_order_estimate&quot;" file="/Users/gentianbeqiri/StudioProjects/pos_system/apps/api/tests/Unit/ForecastEngineVectorsTest.php" line="14" class="Tests\Unit\ForecastEngineVectorsTest" classname="Tests.Unit.ForecastEngineVectorsTest" assertions="25" time="0.008338"/>
          <testcase name="test_canonical_vector with data set &quot;inactive_product&quot;" file="/Users/gentianbeqiri/StudioProjects/pos_system/apps/api/tests/Unit/ForecastEngineVectorsTest.php" line="14" class="Tests\Unit\ForecastEngineVectorsTest" classname="Tests.Unit.ForecastEngineVectorsTest" assertions="23" time="0.008131"/>
          <testcase name="test_canonical_vector with data set &quot;newly_created_product&quot;" file="/Users/gentianbeqiri/StudioProjects/pos_system/apps/api/tests/Unit/ForecastEngineVectorsTest.php" line="14" class="Tests\Unit\ForecastEngineVectorsTest" classname="Tests.Unit.ForecastEngineVectorsTest" assertions="23" time="0.007838"/>
          <testcase name="test_canonical_vector with data set &quot;newly_received_product_spike&quot;" file="/Users/gentianbeqiri/StudioProjects/pos_system/apps/api/tests/Unit/ForecastEngineVectorsTest.php" line="14" class="Tests\Unit\ForecastEngineVectorsTest" classname="Tests.Unit.ForecastEngineVectorsTest" assertions="23" time="0.007750"/>
          <testcase name="test_canonical_vector with data set &quot;slow_moving&quot;" file="/Users/gentianbeqiri/StudioProjects/pos_system/apps/api/tests/Unit/ForecastEngineVectorsTest.php" line="14" class="Tests\Unit\ForecastEngineVectorsTest" classname="Tests.Unit.ForecastEngineVectorsTest" assertions="23" time="0.010329"/>
          <testcase name="test_canonical_vector with data set &quot;dead_no_sale_stock&quot;" file="/Users/gentianbeqiri/StudioProjects/pos_system/apps/api/tests/Unit/ForecastEngineVectorsTest.php" line="14" class="Tests\Unit\ForecastEngineVectorsTest" classname="Tests.Unit.ForecastEngineVectorsTest" assertions="23" time="0.008150"/>
          <testcase name="test_canonical_vector with data set &quot;overstock&quot;" file="/Users/gentianbeqiri/StudioProjects/pos_system/apps/api/tests/Unit/ForecastEngineVectorsTest.php" line="14" class="Tests\Unit\ForecastEngineVectorsTest" classname="Tests.Unit.ForecastEngineVectorsTest" assertions="23" time="0.007739"/>
          <testcase name="test_canonical_vector with data set &quot;extreme_demand_spike&quot;" file="/Users/gentianbeqiri/StudioProjects/pos_system/apps/api/tests/Unit/ForecastEngineVectorsTest.php" line="14" class="Tests\Unit\ForecastEngineVectorsTest" classname="Tests.Unit.ForecastEngineVectorsTest" assertions="23" time="0.007407"/>
          <testcase name="test_canonical_vector with data set &quot;single_anomalous_day&quot;" file="/Users/gentianbeqiri/StudioProjects/pos_system/apps/api/tests/Unit/ForecastEngineVectorsTest.php" line="14" class="Tests\Unit\ForecastEngineVectorsTest" classname="Tests.Unit.ForecastEngineVectorsTest" assertions="23" time="0.007895"/>
          <testcase name="test_canonical_vector with data set &quot;timezone_business_day_boundary&quot;" file="/Users/gentianbeqiri/StudioProjects/pos_system/apps/api/tests/Unit/ForecastEngineVectorsTest.php" line="14" class="Tests\Unit\ForecastEngineVectorsTest" classname="Tests.Unit.ForecastEngineVectorsTest" assertions="23" time="0.008741"/>
        </testsuite>
      </testsuite>
      <testsuite name="Tests\Unit\IncrementalDemandBreakEvenWholeUnitTest" file="/Users/gentianbeqiri/StudioProjects/pos_system/apps/api/tests/Unit/IncrementalDemandBreakEvenWholeUnitTest.php" tests="1" assertions="2" errors="0" failures="0" skipped="0" time="0.009226">
        <testcase name="test_minimum_whole_units_round_up" file="/Users/gentianbeqiri/StudioProjects/pos_system/apps/api/tests/Unit/IncrementalDemandBreakEvenWholeUnitTest.php" line="10" class="Tests\Unit\IncrementalDemandBreakEvenWholeUnitTest" classname="Tests.Unit.IncrementalDemandBreakEvenWholeUnitTest" assertions="2" time="0.009226"/>
      </testsuite>
      <testsuite name="Tests\Unit\IncrementalityAuditRegressionTest" file="/Users/gentianbeqiri/StudioProjects/pos_system/apps/api/tests/Unit/IncrementalityAuditRegressionTest.php" tests="4" assertions="8" errors="0" failures="0" skipped="0" time="0.029999">
        <testcase name="test_split_lines_aggregate_for_second_unit_discount" file="/Users/gentianbeqiri/StudioProjects/pos_system/apps/api/tests/Unit/IncrementalityAuditRegressionTest.php" line="39" class="Tests\Unit\IncrementalityAuditRegressionTest" classname="Tests.Unit.IncrementalityAuditRegressionTest" assertions="2" time="0.008638"/>
        <testcase name="test_fixed_bundle_applies_once_when_extra_units_present" file="/Users/gentianbeqiri/StudioProjects/pos_system/apps/api/tests/Unit/IncrementalityAuditRegressionTest.php" line="62" class="Tests\Unit\IncrementalityAuditRegressionTest" classname="Tests.Unit.IncrementalityAuditRegressionTest" assertions="3" time="0.006393"/>
        <testcase name="test_mix_and_match_applies_one_group_per_select_quantity" file="/Users/gentianbeqiri/StudioProjects/pos_system/apps/api/tests/Unit/IncrementalityAuditRegressionTest.php" line="87" class="Tests\Unit\IncrementalityAuditRegressionTest" classname="Tests.Unit.IncrementalityAuditRegressionTest" assertions="2" time="0.006616"/>
        <testcase name="test_negative_contribution_classified_high_loss_risk" file="/Users/gentianbeqiri/StudioProjects/pos_system/apps/api/tests/Unit/IncrementalityAuditRegressionTest.php" line="110" class="Tests\Unit\IncrementalityAuditRegressionTest" classname="Tests.Unit.IncrementalityAuditRegressionTest" assertions="1" time="0.008352"/>
      </testsuite>
      <testsuite name="Tests\Unit\IncrementalityCrossProductDiscountTest" file="/Users/gentianbeqiri/StudioProjects/pos_system/apps/api/tests/Unit/IncrementalityCrossProductDiscountTest.php" tests="1" assertions="2" errors="0" failures="0" skipped="0" time="0.006576">
        <testcase name="test_cross_product_discount_caps_target_units" file="/Users/gentianbeqiri/StudioProjects/pos_system/apps/api/tests/Unit/IncrementalityCrossProductDiscountTest.php" line="11" class="Tests\Unit\IncrementalityCrossProductDiscountTest" classname="Tests.Unit.IncrementalityCrossProductDiscountTest" assertions="2" time="0.006576"/>
      </testsuite>
      <testsuite name="Tests\Unit\IncrementalityIncrementalEconomicsTest" file="/Users/gentianbeqiri/StudioProjects/pos_system/apps/api/tests/Unit/IncrementalityIncrementalEconomicsTest.php" tests="6" assertions="20" errors="0" failures="0" skipped="0" time="0.037404">
        <testcase name="test_mix_and_match_uses_conservative_min_of_observed_fifo_and_max_wac_bound" file="/Users/gentianbeqiri/StudioProjects/pos_system/apps/api/tests/Unit/IncrementalityIncrementalEconomicsTest.php" line="32" class="Tests\Unit\IncrementalityIncrementalEconomicsTest" classname="Tests.Unit.IncrementalityIncrementalEconomicsTest" assertions="6" time="0.006247"/>
        <testcase name="test_mix_and_match_split_lines_and_multiple_groups_aggregate_observed_cogs" file="/Users/gentianbeqiri/StudioProjects/pos_system/apps/api/tests/Unit/IncrementalityIncrementalEconomicsTest.php" line="82" class="Tests\Unit\IncrementalityIncrementalEconomicsTest" classname="Tests.Unit.IncrementalityIncrementalEconomicsTest" assertions="4" time="0.006329"/>
        <testcase name="test_mix_and_match_missing_wac_is_not_evaluable_contribution" file="/Users/gentianbeqiri/StudioProjects/pos_system/apps/api/tests/Unit/IncrementalityIncrementalEconomicsTest.php" line="123" class="Tests\Unit\IncrementalityIncrementalEconomicsTest" classname="Tests.Unit.IncrementalityIncrementalEconomicsTest" assertions="2" time="0.006148"/>
        <testcase name="test_basket_spend_without_assumption_is_unknown" file="/Users/gentianbeqiri/StudioProjects/pos_system/apps/api/tests/Unit/IncrementalityIncrementalEconomicsTest.php" line="139" class="Tests\Unit\IncrementalityIncrementalEconomicsTest" classname="Tests.Unit.IncrementalityIncrementalEconomicsTest" assertions="2" time="0.006231"/>
        <testcase name="test_basket_spend_partial_qualifying_profit_is_unknown" file="/Users/gentianbeqiri/StudioProjects/pos_system/apps/api/tests/Unit/IncrementalityIncrementalEconomicsTest.php" line="169" class="Tests\Unit\IncrementalityIncrementalEconomicsTest" classname="Tests.Unit.IncrementalityIncrementalEconomicsTest" assertions="4" time="0.006137"/>
        <testcase name="test_basket_spend_incomplete_candidate_coverage_is_unknown_even_when_qualifying_complete" file="/Users/gentianbeqiri/StudioProjects/pos_system/apps/api/tests/Unit/IncrementalityIncrementalEconomicsTest.php" line="204" class="Tests\Unit\IncrementalityIncrementalEconomicsTest" classname="Tests.Unit.IncrementalityIncrementalEconomicsTest" assertions="2" time="0.006311"/>
      </testsuite>
      <testsuite name="Tests\Unit\IncrementalityPromotionApplicationCountsTest" file="/Users/gentianbeqiri/StudioProjects/pos_system/apps/api/tests/Unit/IncrementalityPromotionApplicationCountsTest.php" tests="4" assertions="7" errors="0" failures="0" skipped="0" time="0.026944">
        <testcase name="test_second_unit_counts_pairs_not_only_units" file="/Users/gentianbeqiri/StudioProjects/pos_system/apps/api/tests/Unit/IncrementalityPromotionApplicationCountsTest.php" line="48" class="Tests\Unit\IncrementalityPromotionApplicationCountsTest" classname="Tests.Unit.IncrementalityPromotionApplicationCountsTest" assertions="2" time="0.006197"/>
        <testcase name="test_fixed_bundle_counts_bundle_applications" file="/Users/gentianbeqiri/StudioProjects/pos_system/apps/api/tests/Unit/IncrementalityPromotionApplicationCountsTest.php" line="61" class="Tests\Unit\IncrementalityPromotionApplicationCountsTest" classname="Tests.Unit.IncrementalityPromotionApplicationCountsTest" assertions="2" time="0.007842"/>
        <testcase name="test_cross_product_counts_trigger_groups" file="/Users/gentianbeqiri/StudioProjects/pos_system/apps/api/tests/Unit/IncrementalityPromotionApplicationCountsTest.php" line="77" class="Tests\Unit\IncrementalityPromotionApplicationCountsTest" classname="Tests.Unit.IncrementalityPromotionApplicationCountsTest" assertions="1" time="0.006502"/>
        <testcase name="test_basket_spend_one_application_per_basket" file="/Users/gentianbeqiri/StudioProjects/pos_system/apps/api/tests/Unit/IncrementalityPromotionApplicationCountsTest.php" line="98" class="Tests\Unit\IncrementalityPromotionApplicationCountsTest" classname="Tests.Unit.IncrementalityPromotionApplicationCountsTest" assertions="2" time="0.006403"/>
      </testsuite>
      <testsuite name="Tests\Unit\IncrementalityStrategySimulatorTest" file="/Users/gentianbeqiri/StudioProjects/pos_system/apps/api/tests/Unit/IncrementalityStrategySimulatorTest.php" tests="8" assertions="12" errors="0" failures="0" skipped="0" time="0.052028">
        <testcase name="test_single_product_price_reduction" file="/Users/gentianbeqiri/StudioProjects/pos_system/apps/api/tests/Unit/IncrementalityStrategySimulatorTest.php" line="39" class="Tests\Unit\IncrementalityStrategySimulatorTest" classname="Tests.Unit.IncrementalityStrategySimulatorTest" assertions="2" time="0.006373"/>
        <testcase name="test_second_unit_discount_subsidy_on_two_unit_basket" file="/Users/gentianbeqiri/StudioProjects/pos_system/apps/api/tests/Unit/IncrementalityStrategySimulatorTest.php" line="59" class="Tests\Unit\IncrementalityStrategySimulatorTest" classname="Tests.Unit.IncrementalityStrategySimulatorTest" assertions="2" time="0.006307"/>
        <testcase name="test_ratio_to_percent_points" file="/Users/gentianbeqiri/StudioProjects/pos_system/apps/api/tests/Unit/IncrementalityStrategySimulatorTest.php" line="79" class="Tests\Unit\IncrementalityStrategySimulatorTest" classname="Tests.Unit.IncrementalityStrategySimulatorTest" assertions="1" time="0.006146"/>
        <testcase name="test_unreachable_break_even_when_contribution_non_positive" file="/Users/gentianbeqiri/StudioProjects/pos_system/apps/api/tests/Unit/IncrementalityStrategySimulatorTest.php" line="84" class="Tests\Unit\IncrementalityStrategySimulatorTest" classname="Tests.Unit.IncrementalityStrategySimulatorTest" assertions="1" time="0.006240"/>
        <testcase name="test_buy_x_get_y_qualifies" file="/Users/gentianbeqiri/StudioProjects/pos_system/apps/api/tests/Unit/IncrementalityStrategySimulatorTest.php" line="91" class="Tests\Unit\IncrementalityStrategySimulatorTest" classname="Tests.Unit.IncrementalityStrategySimulatorTest" assertions="1" time="0.006153"/>
        <testcase name="test_quantity_threshold_and_cross_product_and_basket_spend" file="/Users/gentianbeqiri/StudioProjects/pos_system/apps/api/tests/Unit/IncrementalityStrategySimulatorTest.php" line="110" class="Tests\Unit\IncrementalityStrategySimulatorTest" classname="Tests.Unit.IncrementalityStrategySimulatorTest" assertions="3" time="0.006361"/>
        <testcase name="test_mix_and_match" file="/Users/gentianbeqiri/StudioProjects/pos_system/apps/api/tests/Unit/IncrementalityStrategySimulatorTest.php" line="148" class="Tests\Unit\IncrementalityStrategySimulatorTest" classname="Tests.Unit.IncrementalityStrategySimulatorTest" assertions="1" time="0.006213"/>
        <testcase name="test_fixed_price_bundle" file="/Users/gentianbeqiri/StudioProjects/pos_system/apps/api/tests/Unit/IncrementalityStrategySimulatorTest.php" line="170" class="Tests\Unit\IncrementalityStrategySimulatorTest" classname="Tests.Unit.IncrementalityStrategySimulatorTest" assertions="1" time="0.008233"/>
      </testsuite>
      <testsuite name="Tests\Unit\LegacyProductNameTest" file="/Users/gentianbeqiri/StudioProjects/pos_system/apps/api/tests/Unit/LegacyProductNameTest.php" tests="7" assertions="12" errors="0" failures="0" skipped="0" time="0.001593">
        <testcase name="test_strips_legacy_prefixes" file="/Users/gentianbeqiri/StudioProjects/pos_system/apps/api/tests/Unit/LegacyProductNameTest.php" line="10" class="Tests\Unit\LegacyProductNameTest" classname="Tests.Unit.LegacyProductNameTest" assertions="2" time="0.001124"/>
        <testcase name="test_strips_diaeresis_and_quote_prefixes" file="/Users/gentianbeqiri/StudioProjects/pos_system/apps/api/tests/Unit/LegacyProductNameTest.php" line="22" class="Tests\Unit\LegacyProductNameTest" classname="Tests.Unit.LegacyProductNameTest" assertions="3" time="0.000092"/>
        <testcase name="test_strips_trailing_markers" file="/Users/gentianbeqiri/StudioProjects/pos_system/apps/api/tests/Unit/LegacyProductNameTest.php" line="38" class="Tests\Unit\LegacyProductNameTest" classname="Tests.Unit.LegacyProductNameTest" assertions="1" time="0.000083"/>
        <testcase name="test_replaces_internal_markers_with_space" file="/Users/gentianbeqiri/StudioProjects/pos_system/apps/api/tests/Unit/LegacyProductNameTest.php" line="46" class="Tests\Unit\LegacyProductNameTest" classname="Tests.Unit.LegacyProductNameTest" assertions="2" time="0.000078"/>
        <testcase name="test_strips_trailing_barcode_garbage" file="/Users/gentianbeqiri/StudioProjects/pos_system/apps/api/tests/Unit/LegacyProductNameTest.php" line="58" class="Tests\Unit\LegacyProductNameTest" classname="Tests.Unit.LegacyProductNameTest" assertions="2" time="0.000072"/>
        <testcase name="test_keeps_plain_names" file="/Users/gentianbeqiri/StudioProjects/pos_system/apps/api/tests/Unit/LegacyProductNameTest.php" line="70" class="Tests\Unit\LegacyProductNameTest" classname="Tests.Unit.LegacyProductNameTest" assertions="1" time="0.000077"/>
        <testcase name="test_does_not_strip_minus_before_numbers" file="/Users/gentianbeqiri/StudioProjects/pos_system/apps/api/tests/Unit/LegacyProductNameTest.php" line="78" class="Tests\Unit\LegacyProductNameTest" classname="Tests.Unit.LegacyProductNameTest" assertions="1" time="0.000066"/>
      </testsuite>
      <testsuite name="Tests\Unit\MarginMathTest" file="/Users/gentianbeqiri/StudioProjects/pos_system/apps/api/tests/Unit/MarginMathTest.php" tests="3" assertions="13" errors="0" failures="0" skipped="0" time="0.019292">
        <testcase name="markup_and_gross_margin_examples" file="/Users/gentianbeqiri/StudioProjects/pos_system/apps/api/tests/Unit/MarginMathTest.php" line="13" class="Tests\Unit\MarginMathTest" classname="Tests.Unit.MarginMathTest" assertions="4" time="0.006778"/>
        <testcase name="missing_cost_does_not_yield_valid_gross_margin" file="/Users/gentianbeqiri/StudioProjects/pos_system/apps/api/tests/Unit/MarginMathTest.php" line="25" class="Tests\Unit\MarginMathTest" classname="Tests.Unit.MarginMathTest" assertions="6" time="0.006278"/>
        <testcase name="allocated_product_net_sales_reconcile_to_payable" file="/Users/gentianbeqiri/StudioProjects/pos_system/apps/api/tests/Unit/MarginMathTest.php" line="41" class="Tests\Unit\MarginMathTest" classname="Tests.Unit.MarginMathTest" assertions="3" time="0.006236"/>
      </testsuite>
      <testsuite name="Tests\Unit\MarketHealthIncompleteSalesWindowTest" file="/Users/gentianbeqiri/StudioProjects/pos_system/apps/api/tests/Unit/MarketHealthIncompleteSalesWindowTest.php" tests="1" assertions="2" errors="0" failures="0" skipped="0" time="0.007077">
        <testcase name="test_incomplete_window_does_not_flag_sales_decline" file="/Users/gentianbeqiri/StudioProjects/pos_system/apps/api/tests/Unit/MarketHealthIncompleteSalesWindowTest.php" line="11" class="Tests\Unit\MarketHealthIncompleteSalesWindowTest" classname="Tests.Unit.MarketHealthIncompleteSalesWindowTest" assertions="2" time="0.007077"/>
      </testsuite>
      <testsuite name="Tests\Unit\MarketHealthSalesMetricsReaderTest" file="/Users/gentianbeqiri/StudioProjects/pos_system/apps/api/tests/Unit/MarketHealthSalesMetricsReaderTest.php" tests="1" assertions="2" errors="0" failures="0" skipped="0" time="0.000347">
        <testcase name="test_prior_window_equal_length" file="/Users/gentianbeqiri/StudioProjects/pos_system/apps/api/tests/Unit/MarketHealthSalesMetricsReaderTest.php" line="10" class="Tests\Unit\MarketHealthSalesMetricsReaderTest" classname="Tests.Unit.MarketHealthSalesMetricsReaderTest" assertions="2" time="0.000347"/>
      </testsuite>
      <testsuite name="Tests\Unit\MerchantCatalogCandidateRankerTest" file="/Users/gentianbeqiri/StudioProjects/pos_system/apps/api/tests/Unit/MerchantCatalogCandidateRankerTest.php" tests="1" assertions="2" errors="0" failures="0" skipped="0" time="0.007063">
        <testcase name="test_ranking_is_deterministic_and_orders_by_score" file="/Users/gentianbeqiri/StudioProjects/pos_system/apps/api/tests/Unit/MerchantCatalogCandidateRankerTest.php" line="10" class="Tests\Unit\MerchantCatalogCandidateRankerTest" classname="Tests.Unit.MerchantCatalogCandidateRankerTest" assertions="2" time="0.007063"/>
      </testsuite>
      <testsuite name="Tests\Unit\MerchantIntelligenceCrossProductRegressionTest" file="/Users/gentianbeqiri/StudioProjects/pos_system/apps/api/tests/Unit/MerchantIntelligenceCrossProductRegressionTest.php" tests="1" assertions="1" errors="0" failures="0" skipped="0" time="0.176439">
        <testcase name="test_business_advisor_accepts_twenty_five_explicit_product_ids" file="/Users/gentianbeqiri/StudioProjects/pos_system/apps/api/tests/Unit/MerchantIntelligenceCrossProductRegressionTest.php" line="34" class="Tests\Unit\MerchantIntelligenceCrossProductRegressionTest" classname="Tests.Unit.MerchantIntelligenceCrossProductRegressionTest" assertions="1" time="0.176439"/>
      </testsuite>
      <testsuite name="Tests\Unit\MerchantIntelligenceDeepAnalysisEquivalenceTest" file="/Users/gentianbeqiri/StudioProjects/pos_system/apps/api/tests/Unit/MerchantIntelligenceDeepAnalysisEquivalenceTest.php" tests="1" assertions="2" errors="0" failures="0" skipped="0" time="0.084658">
        <testcase name="test_precomputed_health_matches_full_advisor_product_advice_count" file="/Users/gentianbeqiri/StudioProjects/pos_system/apps/api/tests/Unit/MerchantIntelligenceDeepAnalysisEquivalenceTest.php" line="35" class="Tests\Unit\MerchantIntelligenceDeepAnalysisEquivalenceTest" classname="Tests.Unit.MerchantIntelligenceDeepAnalysisEquivalenceTest" assertions="2" time="0.084658"/>
      </testsuite>
      <testsuite name="Tests\Unit\Phase10JFinancialAccuracyTest" file="/Users/gentianbeqiri/StudioProjects/pos_system/apps/api/tests/Unit/Phase10JFinancialAccuracyTest.php" tests="3" assertions="12" errors="0" failures="0" skipped="0" time="0.019539">
        <testcase name="test_authoritative_wac_unit_gross_profit_and_margin" file="/Users/gentianbeqiri/StudioProjects/pos_system/apps/api/tests/Unit/Phase10JFinancialAccuracyTest.php" line="20" class="Tests\Unit\Phase10JFinancialAccuracyTest" classname="Tests.Unit.Phase10JFinancialAccuracyTest" assertions="2" time="0.006849"/>
        <testcase name="test_second_unit_fifty_percent_pair_contribution_is_negative_independently" file="/Users/gentianbeqiri/StudioProjects/pos_system/apps/api/tests/Unit/Phase10JFinancialAccuracyTest.php" line="32" class="Tests\Unit\Phase10JFinancialAccuracyTest" classname="Tests.Unit.Phase10JFinancialAccuracyTest" assertions="6" time="0.006366"/>
        <testcase name="test_negative_pair_contribution_is_not_financially_safe" file="/Users/gentianbeqiri/StudioProjects/pos_system/apps/api/tests/Unit/Phase10JFinancialAccuracyTest.php" line="65" class="Tests\Unit\Phase10JFinancialAccuracyTest" classname="Tests.Unit.Phase10JFinancialAccuracyTest" assertions="4" time="0.006325"/>
      </testsuite>
      <testsuite name="Tests\Unit\Phase10JPromotionApplicationAuditTest" file="/Users/gentianbeqiri/StudioProjects/pos_system/apps/api/tests/Unit/Phase10JPromotionApplicationAuditTest.php" tests="5" assertions="20" errors="0" failures="0" skipped="0" time="0.032831">
        <testsuite name="Tests\Unit\Phase10JPromotionApplicationAuditTest::test_second_unit_discount_application_counts" tests="5" assertions="20" errors="0" failures="0" skipped="0" time="0.032831">
          <testcase name="test_second_unit_discount_application_counts with data set &quot;2_units_1_pair&quot;" file="/Users/gentianbeqiri/StudioProjects/pos_system/apps/api/tests/Unit/Phase10JPromotionApplicationAuditTest.php" line="63" class="Tests\Unit\Phase10JPromotionApplicationAuditTest" classname="Tests.Unit.Phase10JPromotionApplicationAuditTest" assertions="4" time="0.006377"/>
          <testcase name="test_second_unit_discount_application_counts with data set &quot;3_units_1_pair&quot;" file="/Users/gentianbeqiri/StudioProjects/pos_system/apps/api/tests/Unit/Phase10JPromotionApplicationAuditTest.php" line="63" class="Tests\Unit\Phase10JPromotionApplicationAuditTest" classname="Tests.Unit.Phase10JPromotionApplicationAuditTest" assertions="4" time="0.006368"/>
          <testcase name="test_second_unit_discount_application_counts with data set &quot;4_units_2_pairs&quot;" file="/Users/gentianbeqiri/StudioProjects/pos_system/apps/api/tests/Unit/Phase10JPromotionApplicationAuditTest.php" line="63" class="Tests\Unit\Phase10JPromotionApplicationAuditTest" classname="Tests.Unit.Phase10JPromotionApplicationAuditTest" assertions="4" time="0.006939"/>
          <testcase name="test_second_unit_discount_application_counts with data set &quot;5_units_2_pairs&quot;" file="/Users/gentianbeqiri/StudioProjects/pos_system/apps/api/tests/Unit/Phase10JPromotionApplicationAuditTest.php" line="63" class="Tests\Unit\Phase10JPromotionApplicationAuditTest" classname="Tests.Unit.Phase10JPromotionApplicationAuditTest" assertions="4" time="0.006599"/>
          <testcase name="test_second_unit_discount_application_counts with data set &quot;6_units_3_pairs&quot;" file="/Users/gentianbeqiri/StudioProjects/pos_system/apps/api/tests/Unit/Phase10JPromotionApplicationAuditTest.php" line="63" class="Tests\Unit\Phase10JPromotionApplicationAuditTest" classname="Tests.Unit.Phase10JPromotionApplicationAuditTest" assertions="4" time="0.006548"/>
        </testsuite>
      </testsuite>
      <testsuite name="Tests\Unit\Phase10JPromotionStrategyShadowTest" file="/Users/gentianbeqiri/StudioProjects/pos_system/apps/api/tests/Unit/Phase10JPromotionStrategyShadowTest.php" tests="10" assertions="23" errors="0" failures="0" skipped="0" time="0.067096">
        <testsuite name="Tests\Unit\Phase10JPromotionStrategyShadowTest::test_zero_qualifying_baskets_yields_no_false_safety" tests="8" assertions="18" errors="0" failures="0" skipped="0" time="0.054696">
          <testcase name="test_zero_qualifying_baskets_yields_no_false_safety with data set &quot;SINGLE_PRODUCT_PRICE_CHANGE&quot;" file="/Users/gentianbeqiri/StudioProjects/pos_system/apps/api/tests/Unit/Phase10JPromotionStrategyShadowTest.php" line="81" class="Tests\Unit\Phase10JPromotionStrategyShadowTest" classname="Tests.Unit.Phase10JPromotionStrategyShadowTest" assertions="2" time="0.006434"/>
          <testcase name="test_zero_qualifying_baskets_yields_no_false_safety with data set &quot;SECOND_UNIT_DISCOUNT&quot;" file="/Users/gentianbeqiri/StudioProjects/pos_system/apps/api/tests/Unit/Phase10JPromotionStrategyShadowTest.php" line="81" class="Tests\Unit\Phase10JPromotionStrategyShadowTest" classname="Tests.Unit.Phase10JPromotionStrategyShadowTest" assertions="2" time="0.008745"/>
          <testcase name="test_zero_qualifying_baskets_yields_no_false_safety with data set &quot;QUANTITY_THRESHOLD_DISCOUNT&quot;" file="/Users/gentianbeqiri/StudioProjects/pos_system/apps/api/tests/Unit/Phase10JPromotionStrategyShadowTest.php" line="81" class="Tests\Unit\Phase10JPromotionStrategyShadowTest" classname="Tests.Unit.Phase10JPromotionStrategyShadowTest" assertions="2" time="0.007262"/>
          <testcase name="test_zero_qualifying_baskets_yields_no_false_safety with data set &quot;FIXED_PRICE_BUNDLE&quot;" file="/Users/gentianbeqiri/StudioProjects/pos_system/apps/api/tests/Unit/Phase10JPromotionStrategyShadowTest.php" line="81" class="Tests\Unit\Phase10JPromotionStrategyShadowTest" classname="Tests.Unit.Phase10JPromotionStrategyShadowTest" assertions="2" time="0.006955"/>
          <testcase name="test_zero_qualifying_baskets_yields_no_false_safety with data set &quot;CROSS_PRODUCT_DISCOUNT&quot;" file="/Users/gentianbeqiri/StudioProjects/pos_system/apps/api/tests/Unit/Phase10JPromotionStrategyShadowTest.php" line="81" class="Tests\Unit\Phase10JPromotionStrategyShadowTest" classname="Tests.Unit.Phase10JPromotionStrategyShadowTest" assertions="2" time="0.006551"/>
          <testcase name="test_zero_qualifying_baskets_yields_no_false_safety with data set &quot;BASKET_SPEND_THRESHOLD&quot;" file="/Users/gentianbeqiri/StudioProjects/pos_system/apps/api/tests/Unit/Phase10JPromotionStrategyShadowTest.php" line="81" class="Tests\Unit\Phase10JPromotionStrategyShadowTest" classname="Tests.Unit.Phase10JPromotionStrategyShadowTest" assertions="4" time="0.006297"/>
          <testcase name="test_zero_qualifying_baskets_yields_no_false_safety with data set &quot;BUY_X_GET_Y&quot;" file="/Users/gentianbeqiri/StudioProjects/pos_system/apps/api/tests/Unit/Phase10JPromotionStrategyShadowTest.php" line="81" class="Tests\Unit\Phase10JPromotionStrategyShadowTest" classname="Tests.Unit.Phase10JPromotionStrategyShadowTest" assertions="2" time="0.006213"/>
          <testcase name="test_zero_qualifying_baskets_yields_no_false_safety with data set &quot;MIX_AND_MATCH&quot;" file="/Users/gentianbeqiri/StudioProjects/pos_system/apps/api/tests/Unit/Phase10JPromotionStrategyShadowTest.php" line="81" class="Tests\Unit\Phase10JPromotionStrategyShadowTest" classname="Tests.Unit.Phase10JPromotionStrategyShadowTest" assertions="2" time="0.006238"/>
        </testsuite>
        <testcase name="test_missing_wac_yields_unknown_unit_contribution_not_zero" file="/Users/gentianbeqiri/StudioProjects/pos_system/apps/api/tests/Unit/Phase10JPromotionStrategyShadowTest.php" line="97" class="Tests\Unit\Phase10JPromotionStrategyShadowTest" classname="Tests.Unit.Phase10JPromotionStrategyShadowTest" assertions="2" time="0.006176"/>
        <testcase name="test_ranker_never_treats_rejected_as_lower_risk_tier" file="/Users/gentianbeqiri/StudioProjects/pos_system/apps/api/tests/Unit/Phase10JPromotionStrategyShadowTest.php" line="110" class="Tests\Unit\Phase10JPromotionStrategyShadowTest" classname="Tests.Unit.Phase10JPromotionStrategyShadowTest" assertions="3" time="0.006225"/>
      </testsuite>
      <testsuite name="Tests\Unit\Phase11HFinancialFixtureAuditTest" file="/Users/gentianbeqiri/StudioProjects/pos_system/apps/api/tests/Unit/Phase11HFinancialFixtureAuditTest.php" tests="3" assertions="11" errors="0" failures="0" skipped="0" time="0.001201">
        <testcase name="test_golden_eagle_price_reduction_volume_tolerance" file="/Users/gentianbeqiri/StudioProjects/pos_system/apps/api/tests/Unit/Phase11HFinancialFixtureAuditTest.php" line="21" class="Tests\Unit\Phase11HFinancialFixtureAuditTest" classname="Tests.Unit.Phase11HFinancialFixtureAuditTest" assertions="6" time="0.001028"/>
        <testcase name="test_coca_cola_zero_unit_gp_at_price_equal_to_wac_has_no_finite_break_even" file="/Users/gentianbeqiri/StudioProjects/pos_system/apps/api/tests/Unit/Phase11HFinancialFixtureAuditTest.php" line="40" class="Tests\Unit\Phase11HFinancialFixtureAuditTest" classname="Tests.Unit.Phase11HFinancialFixtureAuditTest" assertions="3" time="0.000091"/>
        <testcase name="test_coca_cola_thin_margin_price_increase_tolerance" file="/Users/gentianbeqiri/StudioProjects/pos_system/apps/api/tests/Unit/Phase11HFinancialFixtureAuditTest.php" line="48" class="Tests\Unit\Phase11HFinancialFixtureAuditTest" classname="Tests.Unit.Phase11HFinancialFixtureAuditTest" assertions="2" time="0.000082"/>
      </testsuite>
      <testsuite name="Tests\Unit\Phase11IEvaluationTierAuditTest" file="/Users/gentianbeqiri/StudioProjects/pos_system/apps/api/tests/Unit/Phase11IEvaluationTierAuditTest.php" tests="2" assertions="6" errors="0" failures="0" skipped="0" time="0.000138">
        <testcase name="test_cross_product_discount_x_increase_y_is_partial_tier" file="/Users/gentianbeqiri/StudioProjects/pos_system/apps/api/tests/Unit/Phase11IEvaluationTierAuditTest.php" line="14" class="Tests\Unit\Phase11IEvaluationTierAuditTest" classname="Tests.Unit.Phase11IEvaluationTierAuditTest" assertions="3" time="0.000071"/>
        <testcase name="test_full_tier_constant_exists_and_is_not_demand_proof" file="/Users/gentianbeqiri/StudioProjects/pos_system/apps/api/tests/Unit/Phase11IEvaluationTierAuditTest.php" line="31" class="Tests\Unit\Phase11IEvaluationTierAuditTest" classname="Tests.Unit.Phase11IEvaluationTierAuditTest" assertions="3" time="0.000067"/>
      </testsuite>
      <testsuite name="Tests\Unit\Pricing\PromotionTargetProductResolverTest" file="/Users/gentianbeqiri/StudioProjects/pos_system/apps/api/tests/Unit/Pricing/PromotionTargetProductResolverTest.php" tests="3" assertions="8" errors="0" failures="0" skipped="0" time="0.119593">
        <testcase name="test_product_target_uses_target_id_not_product_id_column" file="/Users/gentianbeqiri/StudioProjects/pos_system/apps/api/tests/Unit/Pricing/PromotionTargetProductResolverTest.php" line="29" class="Tests\Unit\Pricing\PromotionTargetProductResolverTest" classname="Tests.Unit.Pricing.PromotionTargetProductResolverTest" assertions="3" time="0.041146"/>
        <testcase name="test_category_target_expands_to_products_in_category" file="/Users/gentianbeqiri/StudioProjects/pos_system/apps/api/tests/Unit/Pricing/PromotionTargetProductResolverTest.php" line="66" class="Tests\Unit\Pricing\PromotionTargetProductResolverTest" classname="Tests.Unit.Pricing.PromotionTargetProductResolverTest" assertions="2" time="0.039169"/>
        <testcase name="test_all_scope_counts_entire_catalog" file="/Users/gentianbeqiri/StudioProjects/pos_system/apps/api/tests/Unit/Pricing/PromotionTargetProductResolverTest.php" line="102" class="Tests\Unit\Pricing\PromotionTargetProductResolverTest" classname="Tests.Unit.Pricing.PromotionTargetProductResolverTest" assertions="3" time="0.039278"/>
      </testsuite>
      <testsuite name="Tests\Unit\PricingEngineTest" file="/Users/gentianbeqiri/StudioProjects/pos_system/apps/api/tests/Unit/PricingEngineTest.php" tests="6" assertions="9" errors="0" failures="0" skipped="0" time="0.001884">
        <testcase name="test_markup_proposes_selling_price_from_cost" file="/Users/gentianbeqiri/StudioProjects/pos_system/apps/api/tests/Unit/PricingEngineTest.php" line="18" class="Tests\Unit\PricingEngineTest" classname="Tests.Unit.PricingEngineTest" assertions="1" time="0.001393"/>
        <testcase name="test_markup_margin_from_prices" file="/Users/gentianbeqiri/StudioProjects/pos_system/apps/api/tests/Unit/PricingEngineTest.php" line="25" class="Tests\Unit\PricingEngineTest" classname="Tests.Unit.PricingEngineTest" assertions="1" time="0.000104"/>
        <testcase name="test_gross_margin_proposes_selling_price" file="/Users/gentianbeqiri/StudioProjects/pos_system/apps/api/tests/Unit/PricingEngineTest.php" line="31" class="Tests\Unit\PricingEngineTest" classname="Tests.Unit.PricingEngineTest" assertions="1" time="0.000102"/>
        <testcase name="test_proposed_selling_price_rounds_up_to_whole_units" file="/Users/gentianbeqiri/StudioProjects/pos_system/apps/api/tests/Unit/PricingEngineTest.php" line="38" class="Tests\Unit\PricingEngineTest" classname="Tests.Unit.PricingEngineTest" assertions="1" time="0.000094"/>
        <testcase name="test_receive_keeps_higher_existing_sell_price" file="/Users/gentianbeqiri/StudioProjects/pos_system/apps/api/tests/Unit/PricingEngineTest.php" line="45" class="Tests\Unit\PricingEngineTest" classname="Tests.Unit.PricingEngineTest" assertions="3" time="0.000098"/>
        <testcase name="test_receive_raises_sell_when_proposed_is_higher" file="/Users/gentianbeqiri/StudioProjects/pos_system/apps/api/tests/Unit/PricingEngineTest.php" line="54" class="Tests\Unit\PricingEngineTest" classname="Tests.Unit.PricingEngineTest" assertions="2" time="0.000094"/>
      </testsuite>
      <testsuite name="Tests\Unit\ProductIntelligenceFusionEngineTest" file="/Users/gentianbeqiri/StudioProjects/pos_system/apps/api/tests/Unit/ProductIntelligenceFusionEngineTest.php" tests="2" assertions="2" errors="0" failures="0" skipped="0" time="0.014304">
        <testcase name="test_emits_high_demand_high_penetration_signal" file="/Users/gentianbeqiri/StudioProjects/pos_system/apps/api/tests/Unit/ProductIntelligenceFusionEngineTest.php" line="13" class="Tests\Unit\ProductIntelligenceFusionEngineTest" classname="Tests.Unit.ProductIntelligenceFusionEngineTest" assertions="1" time="0.007699"/>
        <testcase name="test_insufficient_when_no_thresholds_met" file="/Users/gentianbeqiri/StudioProjects/pos_system/apps/api/tests/Unit/ProductIntelligenceFusionEngineTest.php" line="37" class="Tests\Unit\ProductIntelligenceFusionEngineTest" classname="Tests.Unit.ProductIntelligenceFusionEngineTest" assertions="1" time="0.006604"/>
      </testsuite>
      <testsuite name="Tests\Unit\PromotionGoldenEagleUnitEconomicsTest" file="/Users/gentianbeqiri/StudioProjects/pos_system/apps/api/tests/Unit/PromotionGoldenEagleUnitEconomicsTest.php" tests="4" assertions="7" errors="0" failures="0" skipped="0" time="0.000327">
        <testcase name="test_unit_gross_profit_and_margin_at_promo_price" file="/Users/gentianbeqiri/StudioProjects/pos_system/apps/api/tests/Unit/PromotionGoldenEagleUnitEconomicsTest.php" line="16" class="Tests\Unit\PromotionGoldenEagleUnitEconomicsTest" classname="Tests.Unit.PromotionGoldenEagleUnitEconomicsTest" assertions="2" time="0.000089"/>
        <testcase name="test_profit_preservation_uplift_percent_matches_scenario_calculator" file="/Users/gentianbeqiri/StudioProjects/pos_system/apps/api/tests/Unit/PromotionGoldenEagleUnitEconomicsTest.php" line="27" class="Tests\Unit\PromotionGoldenEagleUnitEconomicsTest" classname="Tests.Unit.PromotionGoldenEagleUnitEconomicsTest" assertions="2" time="0.000098"/>
        <testcase name="test_incremental_contribution_derived_for_single_product_promo" file="/Users/gentianbeqiri/StudioProjects/pos_system/apps/api/tests/Unit/PromotionGoldenEagleUnitEconomicsTest.php" line="35" class="Tests\Unit\PromotionGoldenEagleUnitEconomicsTest" classname="Tests.Unit.PromotionGoldenEagleUnitEconomicsTest" assertions="2" time="0.000074"/>
        <testcase name="test_ratio_to_percent_points_for_break_even_uplift" file="/Users/gentianbeqiri/StudioProjects/pos_system/apps/api/tests/Unit/PromotionGoldenEagleUnitEconomicsTest.php" line="61" class="Tests\Unit\PromotionGoldenEagleUnitEconomicsTest" classname="Tests.Unit.PromotionGoldenEagleUnitEconomicsTest" assertions="1" time="0.000066"/>
      </testsuite>
      <testsuite name="Tests\Unit\PromotionPlannerSelectionEngineTest" file="/Users/gentianbeqiri/StudioProjects/pos_system/apps/api/tests/Unit/PromotionPlannerSelectionEngineTest.php" tests="4" assertions="6" errors="0" failures="0" skipped="0" time="0.000882">
        <testcase name="test_empty_scenarios_insufficient_evidence" file="/Users/gentianbeqiri/StudioProjects/pos_system/apps/api/tests/Unit/PromotionPlannerSelectionEngineTest.php" line="12" class="Tests\Unit\PromotionPlannerSelectionEngineTest" classname="Tests.Unit.PromotionPlannerSelectionEngineTest" assertions="1" time="0.000630"/>
        <testcase name="test_no_defensible_nonzero_recommends_no_discount" file="/Users/gentianbeqiri/StudioProjects/pos_system/apps/api/tests/Unit/PromotionPlannerSelectionEngineTest.php" line="19" class="Tests\Unit\PromotionPlannerSelectionEngineTest" classname="Tests.Unit.PromotionPlannerSelectionEngineTest" assertions="1" time="0.000071"/>
        <testcase name="test_defensible_discount_candidate_for_review" file="/Users/gentianbeqiri/StudioProjects/pos_system/apps/api/tests/Unit/PromotionPlannerSelectionEngineTest.php" line="38" class="Tests\Unit\PromotionPlannerSelectionEngineTest" classname="Tests.Unit.PromotionPlannerSelectionEngineTest" assertions="2" time="0.000068"/>
        <testcase name="test_zero_percent_discount_alternative_included" file="/Users/gentianbeqiri/StudioProjects/pos_system/apps/api/tests/Unit/PromotionPlannerSelectionEngineTest.php" line="60" class="Tests\Unit\PromotionPlannerSelectionEngineTest" classname="Tests.Unit.PromotionPlannerSelectionEngineTest" assertions="2" time="0.000113"/>
      </testsuite>
      <testsuite name="Tests\Unit\RecommendationClassificationTest" file="/Users/gentianbeqiri/StudioProjects/pos_system/apps/api/tests/Unit/RecommendationClassificationTest.php" tests="4" assertions="5" errors="0" failures="0" skipped="0" time="0.028701">
        <testcase name="test_equal_prices_are_analysis_opportunity" file="/Users/gentianbeqiri/StudioProjects/pos_system/apps/api/tests/Unit/RecommendationClassificationTest.php" line="12" class="Tests\Unit\RecommendationClassificationTest" classname="Tests.Unit.RecommendationClassificationTest" assertions="1" time="0.006781"/>
        <testcase name="test_different_prices_are_hypothetical_strategy" file="/Users/gentianbeqiri/StudioProjects/pos_system/apps/api/tests/Unit/RecommendationClassificationTest.php" line="20" class="Tests\Unit\RecommendationClassificationTest" classname="Tests.Unit.RecommendationClassificationTest" assertions="1" time="0.006453"/>
        <testcase name="test_explanation_omits_zero_break_even_for_analysis" file="/Users/gentianbeqiri/StudioProjects/pos_system/apps/api/tests/Unit/RecommendationClassificationTest.php" line="28" class="Tests\Unit\RecommendationClassificationTest" classname="Tests.Unit.RecommendationClassificationTest" assertions="2" time="0.006854"/>
        <testcase name="test_explanation_includes_break_even_for_strategy_when_nonzero" file="/Users/gentianbeqiri/StudioProjects/pos_system/apps/api/tests/Unit/RecommendationClassificationTest.php" line="49" class="Tests\Unit\RecommendationClassificationTest" classname="Tests.Unit.RecommendationClassificationTest" assertions="1" time="0.008614"/>
      </testsuite>
      <testsuite name="Tests\Unit\RecommendationEvaluationEngineTest" file="/Users/gentianbeqiri/StudioProjects/pos_system/apps/api/tests/Unit/RecommendationEvaluationEngineTest.php" tests="15" assertions="20" errors="0" failures="0" skipped="0" time="0.103010">
        <testcase name="test_strong_evidence_recommendation" file="/Users/gentianbeqiri/StudioProjects/pos_system/apps/api/tests/Unit/RecommendationEvaluationEngineTest.php" line="23" class="Tests\Unit\RecommendationEvaluationEngineTest" classname="Tests.Unit.RecommendationEvaluationEngineTest" assertions="1" time="0.012580"/>
        <testcase name="test_weak_evidence_recommendation" file="/Users/gentianbeqiri/StudioProjects/pos_system/apps/api/tests/Unit/RecommendationEvaluationEngineTest.php" line="33" class="Tests\Unit\RecommendationEvaluationEngineTest" classname="Tests.Unit.RecommendationEvaluationEngineTest" assertions="1" time="0.006526"/>
        <testcase name="test_missing_wac_downgrades_financial_reliability" file="/Users/gentianbeqiri/StudioProjects/pos_system/apps/api/tests/Unit/RecommendationEvaluationEngineTest.php" line="42" class="Tests\Unit\RecommendationEvaluationEngineTest" classname="Tests.Unit.RecommendationEvaluationEngineTest" assertions="2" time="0.006475"/>
        <testcase name="test_missing_competitor_not_penalized_for_non_competitor_code" file="/Users/gentianbeqiri/StudioProjects/pos_system/apps/api/tests/Unit/RecommendationEvaluationEngineTest.php" line="54" class="Tests\Unit\RecommendationEvaluationEngineTest" classname="Tests.Unit.RecommendationEvaluationEngineTest" assertions="1" time="0.006320"/>
        <testcase name="test_missing_competitor_flagged_for_competitor_code" file="/Users/gentianbeqiri/StudioProjects/pos_system/apps/api/tests/Unit/RecommendationEvaluationEngineTest.php" line="63" class="Tests\Unit\RecommendationEvaluationEngineTest" classname="Tests.Unit.RecommendationEvaluationEngineTest" assertions="1" time="0.006325"/>
        <testcase name="test_lift_below_one_association" file="/Users/gentianbeqiri/StudioProjects/pos_system/apps/api/tests/Unit/RecommendationEvaluationEngineTest.php" line="74" class="Tests\Unit\RecommendationEvaluationEngineTest" classname="Tests.Unit.RecommendationEvaluationEngineTest" assertions="1" time="0.006310"/>
        <testcase name="test_missing_forecast_for_demand_sensitive_code" file="/Users/gentianbeqiri/StudioProjects/pos_system/apps/api/tests/Unit/RecommendationEvaluationEngineTest.php" line="83" class="Tests\Unit\RecommendationEvaluationEngineTest" classname="Tests.Unit.RecommendationEvaluationEngineTest" assertions="1" time="0.006300"/>
        <testcase name="test_high_wape_lowers_forecast_reliability" file="/Users/gentianbeqiri/StudioProjects/pos_system/apps/api/tests/Unit/RecommendationEvaluationEngineTest.php" line="92" class="Tests\Unit\RecommendationEvaluationEngineTest" classname="Tests.Unit.RecommendationEvaluationEngineTest" assertions="2" time="0.006362"/>
        <testcase name="test_stale_forecast_reason" file="/Users/gentianbeqiri/StudioProjects/pos_system/apps/api/tests/Unit/RecommendationEvaluationEngineTest.php" line="102" class="Tests\Unit\RecommendationEvaluationEngineTest" classname="Tests.Unit.RecommendationEvaluationEngineTest" assertions="1" time="0.006286"/>
        <testcase name="test_analysis_opportunity_decision_readiness" file="/Users/gentianbeqiri/StudioProjects/pos_system/apps/api/tests/Unit/RecommendationEvaluationEngineTest.php" line="110" class="Tests\Unit\RecommendationEvaluationEngineTest" classname="Tests.Unit.RecommendationEvaluationEngineTest" assertions="3" time="0.008097"/>
        <testcase name="test_hypothetical_strategy_with_scenario" file="/Users/gentianbeqiri/StudioProjects/pos_system/apps/api/tests/Unit/RecommendationEvaluationEngineTest.php" line="121" class="Tests\Unit\RecommendationEvaluationEngineTest" classname="Tests.Unit.RecommendationEvaluationEngineTest" assertions="2" time="0.006522"/>
        <testcase name="test_below_cost_hypothetical" file="/Users/gentianbeqiri/StudioProjects/pos_system/apps/api/tests/Unit/RecommendationEvaluationEngineTest.php" line="139" class="Tests\Unit\RecommendationEvaluationEngineTest" classname="Tests.Unit.RecommendationEvaluationEngineTest" assertions="1" time="0.006265"/>
        <testcase name="test_promotion_readiness_adequate" file="/Users/gentianbeqiri/StudioProjects/pos_system/apps/api/tests/Unit/RecommendationEvaluationEngineTest.php" line="150" class="Tests\Unit\RecommendationEvaluationEngineTest" classname="Tests.Unit.RecommendationEvaluationEngineTest" assertions="1" time="0.006265"/>
        <testcase name="test_promotion_readiness_insufficient" file="/Users/gentianbeqiri/StudioProjects/pos_system/apps/api/tests/Unit/RecommendationEvaluationEngineTest.php" line="160" class="Tests\Unit\RecommendationEvaluationEngineTest" classname="Tests.Unit.RecommendationEvaluationEngineTest" assertions="1" time="0.006182"/>
        <testcase name="test_reuses_financial_analysis_without_scenario_engine" file="/Users/gentianbeqiri/StudioProjects/pos_system/apps/api/tests/Unit/RecommendationEvaluationEngineTest.php" line="171" class="Tests\Unit\RecommendationEvaluationEngineTest" classname="Tests.Unit.RecommendationEvaluationEngineTest" assertions="1" time="0.006196"/>
      </testsuite>
      <testsuite name="Tests\Unit\RetailActionRecommendationBuilderTest" file="/Users/gentianbeqiri/StudioProjects/pos_system/apps/api/tests/Unit/RetailActionRecommendationBuilderTest.php" tests="5" assertions="13" errors="0" failures="0" skipped="0" time="0.001862">
        <testcase name="test_sales_stopped_prioritizes_shelf_check" file="/Users/gentianbeqiri/StudioProjects/pos_system/apps/api/tests/Unit/RetailActionRecommendationBuilderTest.php" line="14" class="Tests\Unit\RetailActionRecommendationBuilderTest" classname="Tests.Unit.RetailActionRecommendationBuilderTest" assertions="5" time="0.001516"/>
        <testcase name="test_verified_promotion_uses_review_verified_action" file="/Users/gentianbeqiri/StudioProjects/pos_system/apps/api/tests/Unit/RetailActionRecommendationBuilderTest.php" line="46" class="Tests\Unit\RetailActionRecommendationBuilderTest" classname="Tests.Unit.RetailActionRecommendationBuilderTest" assertions="2" time="0.000090"/>
        <testcase name="test_verified_promotion_is_not_primary_when_sales_stopped" file="/Users/gentianbeqiri/StudioProjects/pos_system/apps/api/tests/Unit/RetailActionRecommendationBuilderTest.php" line="74" class="Tests\Unit\RetailActionRecommendationBuilderTest" classname="Tests.Unit.RetailActionRecommendationBuilderTest" assertions="3" time="0.000099"/>
        <testcase name="test_next_purchase_alternative_is_conditional_tier" file="/Users/gentianbeqiri/StudioProjects/pos_system/apps/api/tests/Unit/RetailActionRecommendationBuilderTest.php" line="107" class="Tests\Unit\RetailActionRecommendationBuilderTest" classname="Tests.Unit.RetailActionRecommendationBuilderTest" assertions="2" time="0.000082"/>
        <testcase name="test_missing_wac_suggests_cost_verification" file="/Users/gentianbeqiri/StudioProjects/pos_system/apps/api/tests/Unit/RetailActionRecommendationBuilderTest.php" line="132" class="Tests\Unit\RetailActionRecommendationBuilderTest" classname="Tests.Unit.RetailActionRecommendationBuilderTest" assertions="1" time="0.000076"/>
      </testsuite>
      <testsuite name="Tests\Unit\RetailIntelligenceAffinityMetricsTest" file="/Users/gentianbeqiri/StudioProjects/pos_system/apps/api/tests/Unit/RetailIntelligenceAffinityMetricsTest.php" tests="3" assertions="11" errors="0" failures="0" skipped="0" time="0.000202">
        <testcase name="test_canonical_pair_ordering" file="/Users/gentianbeqiri/StudioProjects/pos_system/apps/api/tests/Unit/RetailIntelligenceAffinityMetricsTest.php" line="10" class="Tests\Unit\RetailIntelligenceAffinityMetricsTest" classname="Tests.Unit.RetailIntelligenceAffinityMetricsTest" assertions="3" time="0.000070"/>
        <testcase name="test_support_confidence_and_lift" file="/Users/gentianbeqiri/StudioProjects/pos_system/apps/api/tests/Unit/RetailIntelligenceAffinityMetricsTest.php" line="20" class="Tests\Unit\RetailIntelligenceAffinityMetricsTest" classname="Tests.Unit.RetailIntelligenceAffinityMetricsTest" assertions="4" time="0.000067"/>
        <testcase name="test_zero_denominators_return_null_metrics" file="/Users/gentianbeqiri/StudioProjects/pos_system/apps/api/tests/Unit/RetailIntelligenceAffinityMetricsTest.php" line="29" class="Tests\Unit\RetailIntelligenceAffinityMetricsTest" classname="Tests.Unit.RetailIntelligenceAffinityMetricsTest" assertions="4" time="0.000065"/>
      </testsuite>
      <testsuite name="Tests\Unit\RetailIntelligencePlanningWindowTest" file="/Users/gentianbeqiri/StudioProjects/pos_system/apps/api/tests/Unit/RetailIntelligencePlanningWindowTest.php" tests="1" assertions="3" errors="0" failures="0" skipped="0" time="0.029958">
        <testcase name="test_default_horizon_ends_on_yesterday_not_today" file="/Users/gentianbeqiri/StudioProjects/pos_system/apps/api/tests/Unit/RetailIntelligencePlanningWindowTest.php" line="18" class="Tests\Unit\RetailIntelligencePlanningWindowTest" classname="Tests.Unit.RetailIntelligencePlanningWindowTest" assertions="3" time="0.029958"/>
      </testsuite>
      <testsuite name="Tests\Unit\RetailIntelligenceProductCatalogTest" file="/Users/gentianbeqiri/StudioProjects/pos_system/apps/api/tests/Unit/RetailIntelligenceProductCatalogTest.php" tests="3" assertions="6" errors="0" failures="0" skipped="0" time="0.089537">
        <testcase name="test_display_barcode_uses_primary_barcode_column" file="/Users/gentianbeqiri/StudioProjects/pos_system/apps/api/tests/Unit/RetailIntelligenceProductCatalogTest.php" line="18" class="Tests\Unit\RetailIntelligenceProductCatalogTest" classname="Tests.Unit.RetailIntelligenceProductCatalogTest" assertions="1" time="0.028687"/>
        <testcase name="test_display_barcode_null_when_primary_missing" file="/Users/gentianbeqiri/StudioProjects/pos_system/apps/api/tests/Unit/RetailIntelligenceProductCatalogTest.php" line="27" class="Tests\Unit\RetailIntelligenceProductCatalogTest" classname="Tests.Unit.RetailIntelligenceProductCatalogTest" assertions="1" time="0.031811"/>
        <testcase name="test_products_for_business_selects_primary_barcode_not_legacy_column" file="/Users/gentianbeqiri/StudioProjects/pos_system/apps/api/tests/Unit/RetailIntelligenceProductCatalogTest.php" line="44" class="Tests\Unit\RetailIntelligenceProductCatalogTest" classname="Tests.Unit.RetailIntelligenceProductCatalogTest" assertions="4" time="0.029039"/>
      </testsuite>
      <testsuite name="Tests\Unit\RetailIntelligenceStrategyDiscoveryParameterBuilderTest" file="/Users/gentianbeqiri/StudioProjects/pos_system/apps/api/tests/Unit/RetailIntelligenceStrategyDiscoveryParameterBuilderTest.php" tests="3" assertions="9" errors="0" failures="0" skipped="0" time="0.019278">
        <testcase name="test_competitor_price_response_uses_primary_reference_not_cheapest_only" file="/Users/gentianbeqiri/StudioProjects/pos_system/apps/api/tests/Unit/RetailIntelligenceStrategyDiscoveryParameterBuilderTest.php" line="11" class="Tests\Unit\RetailIntelligenceStrategyDiscoveryParameterBuilderTest" classname="Tests.Unit.RetailIntelligenceStrategyDiscoveryParameterBuilderTest" assertions="4" time="0.006763"/>
        <testcase name="test_missing_primary_reference_falls_back_to_margin_safe_steps" file="/Users/gentianbeqiri/StudioProjects/pos_system/apps/api/tests/Unit/RetailIntelligenceStrategyDiscoveryParameterBuilderTest.php" line="40" class="Tests\Unit\RetailIntelligenceStrategyDiscoveryParameterBuilderTest" classname="Tests.Unit.RetailIntelligenceStrategyDiscoveryParameterBuilderTest" assertions="2" time="0.006381"/>
        <testcase name="test_distinct_products_keep_distinct_variant_identity" file="/Users/gentianbeqiri/StudioProjects/pos_system/apps/api/tests/Unit/RetailIntelligenceStrategyDiscoveryParameterBuilderTest.php" line="62" class="Tests\Unit\RetailIntelligenceStrategyDiscoveryParameterBuilderTest" classname="Tests.Unit.RetailIntelligenceStrategyDiscoveryParameterBuilderTest" assertions="3" time="0.006133"/>
      </testsuite>
      <testsuite name="Tests\Unit\RetailProductCostReadAdapterBatchTest" file="/Users/gentianbeqiri/StudioProjects/pos_system/apps/api/tests/Unit/RetailProductCostReadAdapterBatchTest.php" tests="1" assertions="4" errors="0" failures="0" skipped="0" time="0.035393">
        <testcase name="test_batch_snapshot_aggregates_historical_cogs_per_product" file="/Users/gentianbeqiri/StudioProjects/pos_system/apps/api/tests/Unit/RetailProductCostReadAdapterBatchTest.php" line="19" class="Tests\Unit\RetailProductCostReadAdapterBatchTest" classname="Tests.Unit.RetailProductCostReadAdapterBatchTest" assertions="4" time="0.035393"/>
      </testsuite>
      <testsuite name="Tests\Unit\SaleEconomicAllocatorTest" file="/Users/gentianbeqiri/StudioProjects/pos_system/apps/api/tests/Unit/SaleEconomicAllocatorTest.php" tests="4" assertions="13" errors="0" failures="0" skipped="0" time="0.000674">
        <testcase name="test_allocation_sums_to_payable_with_discount" file="/Users/gentianbeqiri/StudioProjects/pos_system/apps/api/tests/Unit/SaleEconomicAllocatorTest.php" line="14" class="Tests\Unit\SaleEconomicAllocatorTest" classname="Tests.Unit.SaleEconomicAllocatorTest" assertions="3" time="0.000175"/>
        <testcase name="test_full_refund_equals_payable_not_list_price" file="/Users/gentianbeqiri/StudioProjects/pos_system/apps/api/tests/Unit/SaleEconomicAllocatorTest.php" line="31" class="Tests\Unit\SaleEconomicAllocatorTest" classname="Tests.Unit.SaleEconomicAllocatorTest" assertions="3" time="0.000175"/>
        <testcase name="test_partial_qty_then_remainder_does_not_exceed_allocation" file="/Users/gentianbeqiri/StudioProjects/pos_system/apps/api/tests/Unit/SaleEconomicAllocatorTest.php" line="53" class="Tests\Unit\SaleEconomicAllocatorTest" classname="Tests.Unit.SaleEconomicAllocatorTest" assertions="3" time="0.000214"/>
        <testcase name="test_retail_ceiling_vectors" file="/Users/gentianbeqiri/StudioProjects/pos_system/apps/api/tests/Unit/SaleEconomicAllocatorTest.php" line="80" class="Tests\Unit\SaleEconomicAllocatorTest" classname="Tests.Unit.SaleEconomicAllocatorTest" assertions="4" time="0.000109"/>
      </testsuite>
      <testsuite name="Tests\Unit\ScenarioBreakEvenCalculatorTest" file="/Users/gentianbeqiri/StudioProjects/pos_system/apps/api/tests/Unit/ScenarioBreakEvenCalculatorTest.php" tests="10" assertions="22" errors="0" failures="0" skipped="0" time="0.067571">
        <testcase name="test_revenue_break_even_price_reduction_returns_percent_not_ratio" file="/Users/gentianbeqiri/StudioProjects/pos_system/apps/api/tests/Unit/ScenarioBreakEvenCalculatorTest.php" line="18" class="Tests\Unit\ScenarioBreakEvenCalculatorTest" classname="Tests.Unit.ScenarioBreakEvenCalculatorTest" assertions="3" time="0.007090"/>
        <testcase name="test_revenue_break_even_production_style_reduction" file="/Users/gentianbeqiri/StudioProjects/pos_system/apps/api/tests/Unit/ScenarioBreakEvenCalculatorTest.php" line="27" class="Tests\Unit\ScenarioBreakEvenCalculatorTest" classname="Tests.Unit.ScenarioBreakEvenCalculatorTest" assertions="2" time="0.008526"/>
        <testcase name="test_revenue_break_even_price_increase_is_negative_percent" file="/Users/gentianbeqiri/StudioProjects/pos_system/apps/api/tests/Unit/ScenarioBreakEvenCalculatorTest.php" line="35" class="Tests\Unit\ScenarioBreakEvenCalculatorTest" classname="Tests.Unit.ScenarioBreakEvenCalculatorTest" assertions="2" time="0.006886"/>
        <testcase name="test_revenue_break_even_unchanged_price_zero_percent" file="/Users/gentianbeqiri/StudioProjects/pos_system/apps/api/tests/Unit/ScenarioBreakEvenCalculatorTest.php" line="43" class="Tests\Unit\ScenarioBreakEvenCalculatorTest" classname="Tests.Unit.ScenarioBreakEvenCalculatorTest" assertions="1" time="0.006472"/>
        <testcase name="test_revenue_break_even_zero_hypothetical_price_unavailable" file="/Users/gentianbeqiri/StudioProjects/pos_system/apps/api/tests/Unit/ScenarioBreakEvenCalculatorTest.php" line="49" class="Tests\Unit\ScenarioBreakEvenCalculatorTest" classname="Tests.Unit.ScenarioBreakEvenCalculatorTest" assertions="2" time="0.006403"/>
        <testcase name="test_profit_break_even_returns_percent_not_ratio" file="/Users/gentianbeqiri/StudioProjects/pos_system/apps/api/tests/Unit/ScenarioBreakEvenCalculatorTest.php" line="56" class="Tests\Unit\ScenarioBreakEvenCalculatorTest" classname="Tests.Unit.ScenarioBreakEvenCalculatorTest" assertions="3" time="0.006431"/>
        <testcase name="test_profit_break_even_unavailable_without_demand" file="/Users/gentianbeqiri/StudioProjects/pos_system/apps/api/tests/Unit/ScenarioBreakEvenCalculatorTest.php" line="65" class="Tests\Unit\ScenarioBreakEvenCalculatorTest" classname="Tests.Unit.ScenarioBreakEvenCalculatorTest" assertions="1" time="0.006592"/>
        <testcase name="test_profit_break_even_unavailable_without_unit_cost_path_via_zero_margin" file="/Users/gentianbeqiri/StudioProjects/pos_system/apps/api/tests/Unit/ScenarioBreakEvenCalculatorTest.php" line="71" class="Tests\Unit\ScenarioBreakEvenCalculatorTest" classname="Tests.Unit.ScenarioBreakEvenCalculatorTest" assertions="3" time="0.006423"/>
        <testcase name="test_profit_break_even_zero_scenario_margin_impossible_to_recover" file="/Users/gentianbeqiri/StudioProjects/pos_system/apps/api/tests/Unit/ScenarioBreakEvenCalculatorTest.php" line="79" class="Tests\Unit\ScenarioBreakEvenCalculatorTest" classname="Tests.Unit.ScenarioBreakEvenCalculatorTest" assertions="3" time="0.006427"/>
        <testcase name="test_profit_break_even_negative_scenario_margin_no_misleading_percent" file="/Users/gentianbeqiri/StudioProjects/pos_system/apps/api/tests/Unit/ScenarioBreakEvenCalculatorTest.php" line="87" class="Tests\Unit\ScenarioBreakEvenCalculatorTest" classname="Tests.Unit.ScenarioBreakEvenCalculatorTest" assertions="2" time="0.006321"/>
      </testsuite>
      <testsuite name="Tests\Unit\ScenarioBreakEvenGoldenEagleTest" file="/Users/gentianbeqiri/StudioProjects/pos_system/apps/api/tests/Unit/ScenarioBreakEvenGoldenEagleTest.php" tests="7" assertions="17" errors="0" failures="0" skipped="0" time="0.046362">
        <testcase name="test_case_a_35_to_33" file="/Users/gentianbeqiri/StudioProjects/pos_system/apps/api/tests/Unit/ScenarioBreakEvenGoldenEagleTest.php" line="27" class="Tests\Unit\ScenarioBreakEvenGoldenEagleTest" classname="Tests.Unit.ScenarioBreakEvenGoldenEagleTest" assertions="3" time="0.006383"/>
        <testcase name="test_case_b_35_to_25_impossible" file="/Users/gentianbeqiri/StudioProjects/pos_system/apps/api/tests/Unit/ScenarioBreakEvenGoldenEagleTest.php" line="35" class="Tests\Unit\ScenarioBreakEvenGoldenEagleTest" classname="Tests.Unit.ScenarioBreakEvenGoldenEagleTest" assertions="3" time="0.008214"/>
        <testcase name="test_case_c_35_to_28" file="/Users/gentianbeqiri/StudioProjects/pos_system/apps/api/tests/Unit/ScenarioBreakEvenGoldenEagleTest.php" line="43" class="Tests\Unit\ScenarioBreakEvenGoldenEagleTest" classname="Tests.Unit.ScenarioBreakEvenGoldenEagleTest" assertions="2" time="0.006402"/>
        <testcase name="test_case_d_35_to_27_50_impossible" file="/Users/gentianbeqiri/StudioProjects/pos_system/apps/api/tests/Unit/ScenarioBreakEvenGoldenEagleTest.php" line="50" class="Tests\Unit\ScenarioBreakEvenGoldenEagleTest" classname="Tests.Unit.ScenarioBreakEvenGoldenEagleTest" assertions="2" time="0.006486"/>
        <testcase name="test_case_e_35_to_40" file="/Users/gentianbeqiri/StudioProjects/pos_system/apps/api/tests/Unit/ScenarioBreakEvenGoldenEagleTest.php" line="57" class="Tests\Unit\ScenarioBreakEvenGoldenEagleTest" classname="Tests.Unit.ScenarioBreakEvenGoldenEagleTest" assertions="4" time="0.006306"/>
        <testcase name="test_case_f_known_zero_cost_remains_calculable" file="/Users/gentianbeqiri/StudioProjects/pos_system/apps/api/tests/Unit/ScenarioBreakEvenGoldenEagleTest.php" line="68" class="Tests\Unit\ScenarioBreakEvenGoldenEagleTest" classname="Tests.Unit.ScenarioBreakEvenGoldenEagleTest" assertions="2" time="0.006220"/>
        <testcase name="test_case_g_zero_baseline_profit_not_applicable" file="/Users/gentianbeqiri/StudioProjects/pos_system/apps/api/tests/Unit/ScenarioBreakEvenGoldenEagleTest.php" line="76" class="Tests\Unit\ScenarioBreakEvenGoldenEagleTest" classname="Tests.Unit.ScenarioBreakEvenGoldenEagleTest" assertions="1" time="0.006351"/>
      </testsuite>
      <testsuite name="Tests\Unit\StrategyDiscoveryDiagnosisMapperTest" file="/Users/gentianbeqiri/StudioProjects/pos_system/apps/api/tests/Unit/StrategyDiscoveryDiagnosisMapperTest.php" tests="3" assertions="7" errors="0" failures="0" skipped="0" time="0.000257">
        <testcase name="test_sales_decline_includes_non_discount_alternatives" file="/Users/gentianbeqiri/StudioProjects/pos_system/apps/api/tests/Unit/StrategyDiscoveryDiagnosisMapperTest.php" line="13" class="Tests\Unit\StrategyDiscoveryDiagnosisMapperTest" classname="Tests.Unit.StrategyDiscoveryDiagnosisMapperTest" assertions="3" time="0.000103"/>
        <testcase name="test_healthy_product_no_change_baseline" file="/Users/gentianbeqiri/StudioProjects/pos_system/apps/api/tests/Unit/StrategyDiscoveryDiagnosisMapperTest.php" line="22" class="Tests\Unit\StrategyDiscoveryDiagnosisMapperTest" classname="Tests.Unit.StrategyDiscoveryDiagnosisMapperTest" assertions="2" time="0.000073"/>
        <testcase name="test_low_margin_includes_supplier_review_not_only_discount" file="/Users/gentianbeqiri/StudioProjects/pos_system/apps/api/tests/Unit/StrategyDiscoveryDiagnosisMapperTest.php" line="30" class="Tests\Unit\StrategyDiscoveryDiagnosisMapperTest" classname="Tests.Unit.StrategyDiscoveryDiagnosisMapperTest" assertions="2" time="0.000081"/>
      </testsuite>
      <testsuite name="Tests\Unit\SwiftposEditionTest" file="/Users/gentianbeqiri/StudioProjects/pos_system/apps/api/tests/Unit/SwiftposEditionTest.php" tests="9" assertions="24" errors="0" failures="0" skipped="0" time="0.060529">
        <testcase name="test_missing_edition_defaults_to_legacy" file="/Users/gentianbeqiri/StudioProjects/pos_system/apps/api/tests/Unit/SwiftposEditionTest.php" line="20" class="Tests\Unit\SwiftposEditionTest" classname="Tests.Unit.SwiftposEditionTest" assertions="4" time="0.006383"/>
        <testcase name="test_config_file_default_is_legacy_when_environment_variable_is_absent" file="/Users/gentianbeqiri/StudioProjects/pos_system/apps/api/tests/Unit/SwiftposEditionTest.php" line="30" class="Tests\Unit\SwiftposEditionTest" classname="Tests.Unit.SwiftposEditionTest" assertions="1" time="0.006334"/>
        <testcase name="test_explicit_legacy_is_recognized" file="/Users/gentianbeqiri/StudioProjects/pos_system/apps/api/tests/Unit/SwiftposEditionTest.php" line="40" class="Tests\Unit\SwiftposEditionTest" classname="Tests.Unit.SwiftposEditionTest" assertions="2" time="0.006526"/>
        <testcase name="test_explicit_cloud_is_recognized" file="/Users/gentianbeqiri/StudioProjects/pos_system/apps/api/tests/Unit/SwiftposEditionTest.php" line="48" class="Tests\Unit\SwiftposEditionTest" classname="Tests.Unit.SwiftposEditionTest" assertions="2" time="0.006818"/>
        <testcase name="test_explicit_central_is_recognized" file="/Users/gentianbeqiri/StudioProjects/pos_system/apps/api/tests/Unit/SwiftposEditionTest.php" line="56" class="Tests\Unit\SwiftposEditionTest" classname="Tests.Unit.SwiftposEditionTest" assertions="2" time="0.008238"/>
        <testcase name="test_invalid_edition_is_rejected" file="/Users/gentianbeqiri/StudioProjects/pos_system/apps/api/tests/Unit/SwiftposEditionTest.php" line="64" class="Tests\Unit\SwiftposEditionTest" classname="Tests.Unit.SwiftposEditionTest" assertions="2" time="0.007447"/>
        <testcase name="test_empty_string_is_rejected" file="/Users/gentianbeqiri/StudioProjects/pos_system/apps/api/tests/Unit/SwiftposEditionTest.php" line="74" class="Tests\Unit\SwiftposEditionTest" classname="Tests.Unit.SwiftposEditionTest" assertions="1" time="0.006326"/>
        <testcase name="test_edition_checks_are_mutually_exclusive" file="/Users/gentianbeqiri/StudioProjects/pos_system/apps/api/tests/Unit/SwiftposEditionTest.php" line="83" class="Tests\Unit\SwiftposEditionTest" classname="Tests.Unit.SwiftposEditionTest" assertions="6" time="0.006185"/>
        <testcase name="test_resolved_config_wins_over_a_later_environment_change" file="/Users/gentianbeqiri/StudioProjects/pos_system/apps/api/tests/Unit/SwiftposEditionTest.php" line="99" class="Tests\Unit\SwiftposEditionTest" classname="Tests.Unit.SwiftposEditionTest" assertions="4" time="0.006272"/>
      </testsuite>
    </testsuite>
    <testsuite name="Feature" tests="1050" assertions="6474" errors="0" failures="0" skipped="6" time="61.270880">
      <testsuite name="Tests\Feature\AnalyticsDashboardTest" file="/Users/gentianbeqiri/StudioProjects/pos_system/apps/api/tests/Feature/AnalyticsDashboardTest.php" tests="5" assertions="35" errors="0" failures="0" skipped="0" time="0.240145">
        <testcase name="test_sale_ingest_projects_analytics_and_dashboard_returns_kpis" file="/Users/gentianbeqiri/StudioProjects/pos_system/apps/api/tests/Feature/AnalyticsDashboardTest.php" line="25" class="Tests\Feature\AnalyticsDashboardTest" classname="Tests.Feature.AnalyticsDashboardTest" assertions="19" time="0.103768"/>
        <testcase name="test_today_range_uses_business_calendar_day_not_utc_date" file="/Users/gentianbeqiri/StudioProjects/pos_system/apps/api/tests/Feature/AnalyticsDashboardTest.php" line="136" class="Tests\Feature\AnalyticsDashboardTest" classname="Tests.Feature.AnalyticsDashboardTest" assertions="5" time="0.031030"/>
        <testcase name="test_legacy_rows_without_net_sales_with_cost_still_show_margin" file="/Users/gentianbeqiri/StudioProjects/pos_system/apps/api/tests/Feature/AnalyticsDashboardTest.php" line="192" class="Tests\Feature\AnalyticsDashboardTest" classname="Tests.Feature.AnalyticsDashboardTest" assertions="4" time="0.030437"/>
        <testcase name="test_cashier_cannot_view_analytics" file="/Users/gentianbeqiri/StudioProjects/pos_system/apps/api/tests/Feature/AnalyticsDashboardTest.php" line="230" class="Tests\Feature\AnalyticsDashboardTest" classname="Tests.Feature.AnalyticsDashboardTest" assertions="1" time="0.028085"/>
        <testcase name="test_missing_cost_does_not_report_100_percent_margin" file="/Users/gentianbeqiri/StudioProjects/pos_system/apps/api/tests/Feature/AnalyticsDashboardTest.php" line="241" class="Tests\Feature\AnalyticsDashboardTest" classname="Tests.Feature.AnalyticsDashboardTest" assertions="6" time="0.046826"/>
      </testsuite>
      <testsuite name="Tests\Feature\AnalyticsExportTest" file="/Users/gentianbeqiri/StudioProjects/pos_system/apps/api/tests/Feature/AnalyticsExportTest.php" tests="2" assertions="6" errors="0" failures="0" skipped="0" time="0.061040">
        <testcase name="test_owner_can_export_analytics_csv" file="/Users/gentianbeqiri/StudioProjects/pos_system/apps/api/tests/Feature/AnalyticsExportTest.php" line="21" class="Tests\Feature\AnalyticsExportTest" classname="Tests.Feature.AnalyticsExportTest" assertions="5" time="0.032150"/>
        <testcase name="test_cashier_cannot_export_analytics" file="/Users/gentianbeqiri/StudioProjects/pos_system/apps/api/tests/Feature/AnalyticsExportTest.php" line="59" class="Tests\Feature\AnalyticsExportTest" classname="Tests.Feature.AnalyticsExportTest" assertions="1" time="0.028890"/>
      </testsuite>
      <testsuite name="Tests\Feature\AuthLoginTest" file="/Users/gentianbeqiri/StudioProjects/pos_system/apps/api/tests/Feature/AuthLoginTest.php" tests="1" assertions="6" errors="0" failures="0" skipped="0" time="0.018751">
        <testcase name="test_user_can_login_with_username_and_password" file="/Users/gentianbeqiri/StudioProjects/pos_system/apps/api/tests/Feature/AuthLoginTest.php" line="15" class="Tests\Feature\AuthLoginTest" classname="Tests.Feature.AuthLoginTest" assertions="6" time="0.018751"/>
      </testsuite>
      <testsuite name="Tests\Feature\BackupDatabaseCommandTest" file="/Users/gentianbeqiri/StudioProjects/pos_system/apps/api/tests/Feature/BackupDatabaseCommandTest.php" tests="1" assertions="2" errors="0" failures="0" skipped="0" time="0.009182">
        <testcase name="test_pos_backup_creates_sqlite_copy" file="/Users/gentianbeqiri/StudioProjects/pos_system/apps/api/tests/Feature/BackupDatabaseCommandTest.php" line="10" class="Tests\Feature\BackupDatabaseCommandTest" classname="Tests.Feature.BackupDatabaseCommandTest" assertions="2" time="0.009182"/>
      </testsuite>
      <testsuite name="Tests\Feature\CashCountTest" file="/Users/gentianbeqiri/StudioProjects/pos_system/apps/api/tests/Feature/CashCountTest.php" tests="13" assertions="125" errors="0" failures="0" skipped="0" time="0.482471">
        <testcase name="test_delayed_closing_preserves_date_and_retries_without_duplicate" file="/Users/gentianbeqiri/StudioProjects/pos_system/apps/api/tests/Feature/CashCountTest.php" line="22" class="Tests\Feature\CashCountTest" classname="Tests.Feature.CashCountTest" assertions="8" time="0.045539"/>
        <testcase name="test_retry_cannot_change_payouts_or_till_breakdown" file="/Users/gentianbeqiri/StudioProjects/pos_system/apps/api/tests/Feature/CashCountTest.php" line="45" class="Tests\Feature\CashCountTest" classname="Tests.Feature.CashCountTest" assertions="5" time="0.036630"/>
        <testcase name="test_different_closing_for_same_day_is_not_acknowledged" file="/Users/gentianbeqiri/StudioProjects/pos_system/apps/api/tests/Feature/CashCountTest.php" line="63" class="Tests\Feature\CashCountTest" classname="Tests.Feature.CashCountTest" assertions="3" time="0.033100"/>
        <testcase name="test_delayed_upload_does_not_reassign_cashier" file="/Users/gentianbeqiri/StudioProjects/pos_system/apps/api/tests/Feature/CashCountTest.php" line="75" class="Tests\Feature\CashCountTest" classname="Tests.Feature.CashCountTest" assertions="4" time="0.034328"/>
        <testcase name="test_preview_and_submit_cash_count_with_difference" file="/Users/gentianbeqiri/StudioProjects/pos_system/apps/api/tests/Feature/CashCountTest.php" line="89" class="Tests\Feature\CashCountTest" classname="Tests.Feature.CashCountTest" assertions="12" time="0.041743"/>
        <testcase name="test_submit_with_saved_day_payouts_adjusts_expected_cash" file="/Users/gentianbeqiri/StudioProjects/pos_system/apps/api/tests/Feature/CashCountTest.php" line="148" class="Tests\Feature\CashCountTest" classname="Tests.Feature.CashCountTest" assertions="15" time="0.040838"/>
        <testcase name="test_preview_excludes_previous_skopje_evening_from_today" file="/Users/gentianbeqiri/StudioProjects/pos_system/apps/api/tests/Feature/CashCountTest.php" line="214" class="Tests\Feature\CashCountTest" classname="Tests.Feature.CashCountTest" assertions="4" time="0.031516"/>
        <testcase name="test_preview_breaks_down_cash_and_card_by_device" file="/Users/gentianbeqiri/StudioProjects/pos_system/apps/api/tests/Feature/CashCountTest.php" line="281" class="Tests\Feature\CashCountTest" classname="Tests.Feature.CashCountTest" assertions="26" time="0.038074"/>
        <testcase name="test_cashier_responses_are_blind_but_count_is_stored_and_retryable" file="/Users/gentianbeqiri/StudioProjects/pos_system/apps/api/tests/Feature/CashCountTest.php" line="391" class="Tests\Feature\CashCountTest" classname="Tests.Feature.CashCountTest" assertions="27" time="0.043805"/>
        <testcase name="test_blind_cashier_can_lookup_receipt_but_not_enumerate_reports" file="/Users/gentianbeqiri/StudioProjects/pos_system/apps/api/tests/Feature/CashCountTest.php" line="418" class="Tests\Feature\CashCountTest" classname="Tests.Feature.CashCountTest" assertions="8" time="0.035801"/>
        <testcase name="test_shift_closing_does_not_expose_reconciliation_to_cashier" file="/Users/gentianbeqiri/StudioProjects/pos_system/apps/api/tests/Feature/CashCountTest.php" line="440" class="Tests\Feature\CashCountTest" classname="Tests.Feature.CashCountTest" assertions="8" time="0.034545"/>
        <testcase name="test_explicitly_incomplete_snapshot_is_not_saved" file="/Users/gentianbeqiri/StudioProjects/pos_system/apps/api/tests/Feature/CashCountTest.php" line="458" class="Tests\Feature\CashCountTest" classname="Tests.Feature.CashCountTest" assertions="2" time="0.028807"/>
        <testcase name="test_permission_upgrade_is_additive_and_cashiers_remain_blind" file="/Users/gentianbeqiri/StudioProjects/pos_system/apps/api/tests/Feature/CashCountTest.php" line="468" class="Tests\Feature\CashCountTest" classname="Tests.Feature.CashCountTest" assertions="3" time="0.037746"/>
      </testsuite>
      <testsuite name="Tests\Feature\CashCountTillIdentityTest" file="/Users/gentianbeqiri/StudioProjects/pos_system/apps/api/tests/Feature/CashCountTillIdentityTest.php" tests="5" assertions="59" errors="0" failures="0" skipped="0" time="0.174801">
        <testcase name="test_offline_snapshot_gets_registered_name_without_changing_storage_or_retry" file="/Users/gentianbeqiri/StudioProjects/pos_system/apps/api/tests/Feature/CashCountTillIdentityTest.php" line="63" class="Tests\Feature\CashCountTillIdentityTest" classname="Tests.Feature.CashCountTillIdentityTest" assertions="27" time="0.036161"/>
        <testcase name="test_multiple_buckets_are_not_merged_and_client_labels_are_not_trusted" file="/Users/gentianbeqiri/StudioProjects/pos_system/apps/api/tests/Feature/CashCountTillIdentityTest.php" line="88" class="Tests\Feature\CashCountTillIdentityTest" classname="Tests.Feature.CashCountTillIdentityTest" assertions="6" time="0.032323"/>
        <testcase name="test_unregistered_deleted_and_foreign_tenant_devices_remain_unknown" file="/Users/gentianbeqiri/StudioProjects/pos_system/apps/api/tests/Feature/CashCountTillIdentityTest.php" line="106" class="Tests\Feature\CashCountTillIdentityTest" classname="Tests.Feature.CashCountTillIdentityTest" assertions="15" time="0.035494"/>
        <testcase name="test_historical_preview_existing_record_is_enriched_without_writes" file="/Users/gentianbeqiri/StudioProjects/pos_system/apps/api/tests/Feature/CashCountTillIdentityTest.php" line="126" class="Tests\Feature\CashCountTillIdentityTest" classname="Tests.Feature.CashCountTillIdentityTest" assertions="4" time="0.037840"/>
        <testcase name="test_blind_cashier_still_cannot_retrieve_buckets" file="/Users/gentianbeqiri/StudioProjects/pos_system/apps/api/tests/Feature/CashCountTillIdentityTest.php" line="140" class="Tests\Feature\CashCountTillIdentityTest" classname="Tests.Feature.CashCountTillIdentityTest" assertions="7" time="0.032982"/>
      </testsuite>
      <testsuite name="Tests\Feature\CompetitorDailySyncOrchestratorMetricsTest" file="/Users/gentianbeqiri/StudioProjects/pos_system/apps/api/tests/Feature/CompetitorDailySyncOrchestratorMetricsTest.php" tests="7" assertions="33" errors="0" failures="0" skipped="0" time="0.066249">
        <testcase name="test_metrics_do_not_double_count_verified_when_stored_matches_verified" file="/Users/gentianbeqiri/StudioProjects/pos_system/apps/api/tests/Feature/CompetitorDailySyncOrchestratorMetricsTest.php" line="47" class="Tests\Feature\CompetitorDailySyncOrchestratorMetricsTest" classname="Tests.Feature.CompetitorDailySyncOrchestratorMetricsTest" assertions="3" time="0.015006"/>
        <testcase name="test_metrics_separate_unverified_stored_from_verified_count" file="/Users/gentianbeqiri/StudioProjects/pos_system/apps/api/tests/Feature/CompetitorDailySyncOrchestratorMetricsTest.php" line="61" class="Tests\Feature\CompetitorDailySyncOrchestratorMetricsTest" classname="Tests.Feature.CompetitorDailySyncOrchestratorMetricsTest" assertions="2" time="0.006879"/>
        <testcase name="test_dry_run_ingestion_counts_verified_without_stored" file="/Users/gentianbeqiri/StudioProjects/pos_system/apps/api/tests/Feature/CompetitorDailySyncOrchestratorMetricsTest.php" line="74" class="Tests\Feature\CompetitorDailySyncOrchestratorMetricsTest" classname="Tests.Feature.CompetitorDailySyncOrchestratorMetricsTest" assertions="7" time="0.009603"/>
        <testcase name="test_live_ingestion_increments_verified_only_when_stored" file="/Users/gentianbeqiri/StudioProjects/pos_system/apps/api/tests/Feature/CompetitorDailySyncOrchestratorMetricsTest.php" line="118" class="Tests\Feature\CompetitorDailySyncOrchestratorMetricsTest" classname="Tests.Feature.CompetitorDailySyncOrchestratorMetricsTest" assertions="7" time="0.009320"/>
        <testcase name="test_live_reingest_duplicates_do_not_inflate_verified_or_new_observation_metrics" file="/Users/gentianbeqiri/StudioProjects/pos_system/apps/api/tests/Feature/CompetitorDailySyncOrchestratorMetricsTest.php" line="166" class="Tests\Feature\CompetitorDailySyncOrchestratorMetricsTest" classname="Tests.Feature.CompetitorDailySyncOrchestratorMetricsTest" assertions="7" time="0.008154"/>
        <testcase name="test_live_ingestion_price_change_metric_reflects_persist_service_flag" file="/Users/gentianbeqiri/StudioProjects/pos_system/apps/api/tests/Feature/CompetitorDailySyncOrchestratorMetricsTest.php" line="205" class="Tests\Feature\CompetitorDailySyncOrchestratorMetricsTest" classname="Tests.Feature.CompetitorDailySyncOrchestratorMetricsTest" assertions="6" time="0.008216"/>
        <testcase name="test_classify_status_success_with_data_when_only_price_changes_reported" file="/Users/gentianbeqiri/StudioProjects/pos_system/apps/api/tests/Feature/CompetitorDailySyncOrchestratorMetricsTest.php" line="256" class="Tests\Feature\CompetitorDailySyncOrchestratorMetricsTest" classname="Tests.Feature.CompetitorDailySyncOrchestratorMetricsTest" assertions="1" time="0.009071"/>
      </testsuite>
      <testsuite name="Tests\Feature\CompetitorIntelligenceActivePromotionsTest" file="/Users/gentianbeqiri/StudioProjects/pos_system/apps/api/tests/Feature/CompetitorIntelligenceActivePromotionsTest.php" tests="4" assertions="12" errors="0" failures="0" skipped="0" time="0.149573">
        <testcase name="test_structured_spar_promo_visible_without_campaign_dates" file="/Users/gentianbeqiri/StudioProjects/pos_system/apps/api/tests/Feature/CompetitorIntelligenceActivePromotionsTest.php" line="36" class="Tests\Feature\CompetitorIntelligenceActivePromotionsTest" classname="Tests.Feature.CompetitorIntelligenceActivePromotionsTest" assertions="3" time="0.041238"/>
        <testcase name="test_expired_structured_promo_excluded_from_today" file="/Users/gentianbeqiri/StudioProjects/pos_system/apps/api/tests/Feature/CompetitorIntelligenceActivePromotionsTest.php" line="81" class="Tests\Feature\CompetitorIntelligenceActivePromotionsTest" classname="Tests.Feature.CompetitorIntelligenceActivePromotionsTest" assertions="2" time="0.036154"/>
        <testcase name="test_shelf_observations_only_on_current_prices_endpoint" file="/Users/gentianbeqiri/StudioProjects/pos_system/apps/api/tests/Feature/CompetitorIntelligenceActivePromotionsTest.php" line="123" class="Tests\Feature\CompetitorIntelligenceActivePromotionsTest" classname="Tests.Feature.CompetitorIntelligenceActivePromotionsTest" assertions="5" time="0.038291"/>
        <testcase name="test_dated_flyer_campaign_still_counts_as_active_promotion" file="/Users/gentianbeqiri/StudioProjects/pos_system/apps/api/tests/Feature/CompetitorIntelligenceActivePromotionsTest.php" line="154" class="Tests\Feature\CompetitorIntelligenceActivePromotionsTest" classname="Tests.Feature.CompetitorIntelligenceActivePromotionsTest" assertions="2" time="0.033890"/>
      </testsuite>
      <testsuite name="Tests\Feature\CompetitorIntelligenceBrandConflictRegressionTest" file="/Users/gentianbeqiri/StudioProjects/pos_system/apps/api/tests/Feature/CompetitorIntelligenceBrandConflictRegressionTest.php" tests="6" assertions="15" errors="0" failures="0" skipped="0" time="0.070196">
        <testcase name="test_ajax_glass_cleaner_must_not_match_klin" file="/Users/gentianbeqiri/StudioProjects/pos_system/apps/api/tests/Feature/CompetitorIntelligenceBrandConflictRegressionTest.php" line="49" class="Tests\Feature\CompetitorIntelligenceBrandConflictRegressionTest" classname="Tests.Feature.CompetitorIntelligenceBrandConflictRegressionTest" assertions="3" time="0.014535"/>
        <testcase name="test_amadori_must_not_match_skarlino" file="/Users/gentianbeqiri/StudioProjects/pos_system/apps/api/tests/Feature/CompetitorIntelligenceBrandConflictRegressionTest.php" line="63" class="Tests\Feature\CompetitorIntelligenceBrandConflictRegressionTest" classname="Tests.Feature.CompetitorIntelligenceBrandConflictRegressionTest" assertions="3" time="0.010818"/>
        <testcase name="test_blue_marine_must_not_match_rodon" file="/Users/gentianbeqiri/StudioProjects/pos_system/apps/api/tests/Feature/CompetitorIntelligenceBrandConflictRegressionTest.php" line="77" class="Tests\Feature\CompetitorIntelligenceBrandConflictRegressionTest" classname="Tests.Feature.CompetitorIntelligenceBrandConflictRegressionTest" assertions="3" time="0.010464"/>
        <testcase name="test_marbo_must_not_match_klipsi" file="/Users/gentianbeqiri/StudioProjects/pos_system/apps/api/tests/Feature/CompetitorIntelligenceBrandConflictRegressionTest.php" line="91" class="Tests\Feature\CompetitorIntelligenceBrandConflictRegressionTest" classname="Tests.Feature.CompetitorIntelligenceBrandConflictRegressionTest" assertions="3" time="0.010186"/>
        <testcase name="test_zogi_same_brand_remains_valid_match" file="/Users/gentianbeqiri/StudioProjects/pos_system/apps/api/tests/Feature/CompetitorIntelligenceBrandConflictRegressionTest.php" line="105" class="Tests\Feature\CompetitorIntelligenceBrandConflictRegressionTest" classname="Tests.Feature.CompetitorIntelligenceBrandConflictRegressionTest" assertions="2" time="0.011025"/>
        <testcase name="test_same_size_and_generic_tokens_different_brand_stays_unverified" file="/Users/gentianbeqiri/StudioProjects/pos_system/apps/api/tests/Feature/CompetitorIntelligenceBrandConflictRegressionTest.php" line="120" class="Tests\Feature\CompetitorIntelligenceBrandConflictRegressionTest" classname="Tests.Feature.CompetitorIntelligenceBrandConflictRegressionTest" assertions="1" time="0.013168"/>
      </testsuite>
      <testsuite name="Tests\Feature\CompetitorIntelligenceCommercialContextTest" file="/Users/gentianbeqiri/StudioProjects/pos_system/apps/api/tests/Feature/CompetitorIntelligenceCommercialContextTest.php" tests="5" assertions="19" errors="0" failures="0" skipped="0" time="0.137204">
        <testcase name="test_economics_math_price_45_wac_31" file="/Users/gentianbeqiri/StudioProjects/pos_system/apps/api/tests/Feature/CompetitorIntelligenceCommercialContextTest.php" line="34" class="Tests\Feature\CompetitorIntelligenceCommercialContextTest" classname="Tests.Feature.CompetitorIntelligenceCommercialContextTest" assertions="5" time="0.007629"/>
        <testcase name="test_missing_wac_yields_null_economics_not_hundred_percent_margin" file="/Users/gentianbeqiri/StudioProjects/pos_system/apps/api/tests/Feature/CompetitorIntelligenceCommercialContextTest.php" line="47" class="Tests\Feature\CompetitorIntelligenceCommercialContextTest" classname="Tests.Feature.CompetitorIntelligenceCommercialContextTest" assertions="4" time="0.008105"/>
        <testcase name="test_product_detail_includes_commercial_context_for_owner" file="/Users/gentianbeqiri/StudioProjects/pos_system/apps/api/tests/Feature/CompetitorIntelligenceCommercialContextTest.php" line="57" class="Tests\Feature\CompetitorIntelligenceCommercialContextTest" classname="Tests.Feature.CompetitorIntelligenceCommercialContextTest" assertions="4" time="0.039269"/>
        <testcase name="test_user_without_margin_permission_does_not_receive_commercial_context" file="/Users/gentianbeqiri/StudioProjects/pos_system/apps/api/tests/Feature/CompetitorIntelligenceCommercialContextTest.php" line="108" class="Tests\Feature\CompetitorIntelligenceCommercialContextTest" classname="Tests.Feature.CompetitorIntelligenceCommercialContextTest" assertions="2" time="0.034207"/>
        <testcase name="test_commercial_context_does_not_mutate_operational_data" file="/Users/gentianbeqiri/StudioProjects/pos_system/apps/api/tests/Feature/CompetitorIntelligenceCommercialContextTest.php" line="140" class="Tests\Feature\CompetitorIntelligenceCommercialContextTest" classname="Tests.Feature.CompetitorIntelligenceCommercialContextTest" assertions="4" time="0.047994"/>
      </testsuite>
      <testsuite name="Tests\Feature\CompetitorIntelligenceCurrentPricesEnrichmentTest" file="/Users/gentianbeqiri/StudioProjects/pos_system/apps/api/tests/Feature/CompetitorIntelligenceCurrentPricesEnrichmentTest.php" tests="11" assertions="28" errors="0" failures="0" skipped="0" time="0.408573">
        <testcase name="test_unmatched_current_price_shows_needs_materialization_when_no_competitor_product" file="/Users/gentianbeqiri/StudioProjects/pos_system/apps/api/tests/Feature/CompetitorIntelligenceCurrentPricesEnrichmentTest.php" line="39" class="Tests\Feature\CompetitorIntelligenceCurrentPricesEnrichmentTest" classname="Tests.Feature.CompetitorIntelligenceCurrentPricesEnrichmentTest" assertions="5" time="0.035710"/>
        <testcase name="test_mapped_current_price_shows_swiftpos_product_and_positive_difference" file="/Users/gentianbeqiri/StudioProjects/pos_system/apps/api/tests/Feature/CompetitorIntelligenceCurrentPricesEnrichmentTest.php" line="55" class="Tests\Feature\CompetitorIntelligenceCurrentPricesEnrichmentTest" classname="Tests.Feature.CompetitorIntelligenceCurrentPricesEnrichmentTest" assertions="6" time="0.035625"/>
        <testcase name="test_same_canonical_mapping_visible_on_active_promotions_and_current_prices" file="/Users/gentianbeqiri/StudioProjects/pos_system/apps/api/tests/Feature/CompetitorIntelligenceCurrentPricesEnrichmentTest.php" line="84" class="Tests\Feature\CompetitorIntelligenceCurrentPricesEnrichmentTest" classname="Tests.Feature.CompetitorIntelligenceCurrentPricesEnrichmentTest" assertions="2" time="0.041125"/>
        <testcase name="test_needs_match_when_competitor_product_exists_but_unmapped" file="/Users/gentianbeqiri/StudioProjects/pos_system/apps/api/tests/Feature/CompetitorIntelligenceCurrentPricesEnrichmentTest.php" line="113" class="Tests\Feature\CompetitorIntelligenceCurrentPricesEnrichmentTest" classname="Tests.Feature.CompetitorIntelligenceCurrentPricesEnrichmentTest" assertions="1" time="0.035066"/>
        <testcase name="test_get_current_prices_does_not_create_competitor_products" file="/Users/gentianbeqiri/StudioProjects/pos_system/apps/api/tests/Feature/CompetitorIntelligenceCurrentPricesEnrichmentTest.php" line="127" class="Tests\Feature\CompetitorIntelligenceCurrentPricesEnrichmentTest" classname="Tests.Feature.CompetitorIntelligenceCurrentPricesEnrichmentTest" assertions="2" time="0.036208"/>
        <testcase name="test_materialize_observation_endpoint_creates_competitor_product" file="/Users/gentianbeqiri/StudioProjects/pos_system/apps/api/tests/Feature/CompetitorIntelligenceCurrentPricesEnrichmentTest.php" line="140" class="Tests\Feature\CompetitorIntelligenceCurrentPricesEnrichmentTest" classname="Tests.Feature.CompetitorIntelligenceCurrentPricesEnrichmentTest" assertions="3" time="0.036247"/>
        <testcase name="test_materialize_observation_requires_manage_matching_permission" file="/Users/gentianbeqiri/StudioProjects/pos_system/apps/api/tests/Feature/CompetitorIntelligenceCurrentPricesEnrichmentTest.php" line="154" class="Tests\Feature\CompetitorIntelligenceCurrentPricesEnrichmentTest" classname="Tests.Feature.CompetitorIntelligenceCurrentPricesEnrichmentTest" assertions="1" time="0.034700"/>
        <testcase name="test_current_prices_search_filters_server_side" file="/Users/gentianbeqiri/StudioProjects/pos_system/apps/api/tests/Feature/CompetitorIntelligenceCurrentPricesEnrichmentTest.php" line="166" class="Tests\Feature\CompetitorIntelligenceCurrentPricesEnrichmentTest" classname="Tests.Feature.CompetitorIntelligenceCurrentPricesEnrichmentTest" assertions="3" time="0.038367"/>
        <testcase name="test_current_prices_page_query_count_bounded" file="/Users/gentianbeqiri/StudioProjects/pos_system/apps/api/tests/Feature/CompetitorIntelligenceCurrentPricesEnrichmentTest.php" line="181" class="Tests\Feature\CompetitorIntelligenceCurrentPricesEnrichmentTest" classname="Tests.Feature.CompetitorIntelligenceCurrentPricesEnrichmentTest" assertions="2" time="0.040129"/>
        <testcase name="test_negative_and_equal_price_differences" file="/Users/gentianbeqiri/StudioProjects/pos_system/apps/api/tests/Feature/CompetitorIntelligenceCurrentPricesEnrichmentTest.php" line="199" class="Tests\Feature\CompetitorIntelligenceCurrentPricesEnrichmentTest" classname="Tests.Feature.CompetitorIntelligenceCurrentPricesEnrichmentTest" assertions="2" time="0.036815"/>
        <testcase name="test_tenant_isolation_on_mappings" file="/Users/gentianbeqiri/StudioProjects/pos_system/apps/api/tests/Feature/CompetitorIntelligenceCurrentPricesEnrichmentTest.php" line="242" class="Tests\Feature\CompetitorIntelligenceCurrentPricesEnrichmentTest" classname="Tests.Feature.CompetitorIntelligenceCurrentPricesEnrichmentTest" assertions="1" time="0.038579"/>
      </testsuite>
      <testsuite name="Tests\Feature\CompetitorIntelligenceCurrentPricesReadModelTest" file="/Users/gentianbeqiri/StudioProjects/pos_system/apps/api/tests/Feature/CompetitorIntelligenceCurrentPricesReadModelTest.php" tests="7" assertions="27" errors="0" failures="0" skipped="0" time="0.271839">
        <testcase name="test_search_zogi_matches_latin_display_across_full_dataset" file="/Users/gentianbeqiri/StudioProjects/pos_system/apps/api/tests/Feature/CompetitorIntelligenceCurrentPricesReadModelTest.php" line="38" class="Tests\Feature\CompetitorIntelligenceCurrentPricesReadModelTest" classname="Tests.Feature.CompetitorIntelligenceCurrentPricesReadModelTest" assertions="3" time="0.046935"/>
        <testcase name="test_search_pagination_preserves_query" file="/Users/gentianbeqiri/StudioProjects/pos_system/apps/api/tests/Feature/CompetitorIntelligenceCurrentPricesReadModelTest.php" line="55" class="Tests\Feature\CompetitorIntelligenceCurrentPricesReadModelTest" classname="Tests.Feature.CompetitorIntelligenceCurrentPricesReadModelTest" assertions="6" time="0.038193"/>
        <testcase name="test_observation_resolves_persisted_mapping_via_identity" file="/Users/gentianbeqiri/StudioProjects/pos_system/apps/api/tests/Feature/CompetitorIntelligenceCurrentPricesReadModelTest.php" line="81" class="Tests\Feature\CompetitorIntelligenceCurrentPricesReadModelTest" classname="Tests.Feature.CompetitorIntelligenceCurrentPricesReadModelTest" assertions="5" time="0.037609"/>
        <testcase name="test_candidate_mapping_is_not_verified_matched_but_exposes_swiftpos_and_change_match_fields" file="/Users/gentianbeqiri/StudioProjects/pos_system/apps/api/tests/Feature/CompetitorIntelligenceCurrentPricesReadModelTest.php" line="108" class="Tests\Feature\CompetitorIntelligenceCurrentPricesReadModelTest" classname="Tests.Feature.CompetitorIntelligenceCurrentPricesReadModelTest" assertions="5" time="0.035309"/>
        <testcase name="test_summary_mapped_competitor_products_uses_canonical_mapping_table" file="/Users/gentianbeqiri/StudioProjects/pos_system/apps/api/tests/Feature/CompetitorIntelligenceCurrentPricesReadModelTest.php" line="134" class="Tests\Feature\CompetitorIntelligenceCurrentPricesReadModelTest" classname="Tests.Feature.CompetitorIntelligenceCurrentPricesReadModelTest" assertions="2" time="0.034647"/>
        <testcase name="test_get_current_prices_does_not_mutate_competitor_products_or_mappings" file="/Users/gentianbeqiri/StudioProjects/pos_system/apps/api/tests/Feature/CompetitorIntelligenceCurrentPricesReadModelTest.php" line="165" class="Tests\Feature\CompetitorIntelligenceCurrentPricesReadModelTest" classname="Tests.Feature.CompetitorIntelligenceCurrentPricesReadModelTest" assertions="3" time="0.033454"/>
        <testcase name="test_match_filter_matched_is_server_side_across_dataset" file="/Users/gentianbeqiri/StudioProjects/pos_system/apps/api/tests/Feature/CompetitorIntelligenceCurrentPricesReadModelTest.php" line="182" class="Tests\Feature\CompetitorIntelligenceCurrentPricesReadModelTest" classname="Tests.Feature.CompetitorIntelligenceCurrentPricesReadModelTest" assertions="3" time="0.045692"/>
      </testsuite>
      <testsuite name="Tests\Feature\CompetitorIntelligenceDailySyncScheduleTest" file="/Users/gentianbeqiri/StudioProjects/pos_system/apps/api/tests/Feature/CompetitorIntelligenceDailySyncScheduleTest.php" tests="1" assertions="2" errors="0" failures="0" skipped="0" time="0.014476">
        <testcase name="test_daily_sync_command_is_scheduled_in_europe_skopje" file="/Users/gentianbeqiri/StudioProjects/pos_system/apps/api/tests/Feature/CompetitorIntelligenceDailySyncScheduleTest.php" line="11" class="Tests\Feature\CompetitorIntelligenceDailySyncScheduleTest" classname="Tests.Feature.CompetitorIntelligenceDailySyncScheduleTest" assertions="2" time="0.014476"/>
      </testsuite>
      <testsuite name="Tests\Feature\CompetitorIntelligenceDatabaseTest" file="/Users/gentianbeqiri/StudioProjects/pos_system/apps/api/tests/Feature/CompetitorIntelligenceDatabaseTest.php" tests="5" assertions="17" errors="0" failures="0" skipped="0" time="0.039077">
        <testcase name="test_migration_creates_expected_tables" file="/Users/gentianbeqiri/StudioProjects/pos_system/apps/api/tests/Feature/CompetitorIntelligenceDatabaseTest.php" line="21" class="Tests\Feature\CompetitorIntelligenceDatabaseTest" classname="Tests.Feature.CompetitorIntelligenceDatabaseTest" assertions="11" time="0.007847"/>
        <testcase name="test_competitor_code_is_unique" file="/Users/gentianbeqiri/StudioProjects/pos_system/apps/api/tests/Feature/CompetitorIntelligenceDatabaseTest.php" line="40" class="Tests\Feature\CompetitorIntelligenceDatabaseTest" classname="Tests.Feature.CompetitorIntelligenceDatabaseTest" assertions="1" time="0.008739"/>
        <testcase name="test_artifact_sha_unique_per_source" file="/Users/gentianbeqiri/StudioProjects/pos_system/apps/api/tests/Feature/CompetitorIntelligenceDatabaseTest.php" line="58" class="Tests\Feature\CompetitorIntelligenceDatabaseTest" classname="Tests.Feature.CompetitorIntelligenceDatabaseTest" assertions="1" time="0.007377"/>
        <testcase name="test_offer_fingerprint_unique_per_campaign" file="/Users/gentianbeqiri/StudioProjects/pos_system/apps/api/tests/Feature/CompetitorIntelligenceDatabaseTest.php" line="78" class="Tests\Feature\CompetitorIntelligenceDatabaseTest" classname="Tests.Feature.CompetitorIntelligenceDatabaseTest" assertions="1" time="0.007434"/>
        <testcase name="test_cascade_delete_competitor_removes_children" file="/Users/gentianbeqiri/StudioProjects/pos_system/apps/api/tests/Feature/CompetitorIntelligenceDatabaseTest.php" line="111" class="Tests\Feature\CompetitorIntelligenceDatabaseTest" classname="Tests.Feature.CompetitorIntelligenceDatabaseTest" assertions="3" time="0.007680"/>
      </testsuite>
      <testsuite name="Tests\Feature\CompetitorIntelligenceDemandIntelligenceTest" file="/Users/gentianbeqiri/StudioProjects/pos_system/apps/api/tests/Feature/CompetitorIntelligenceDemandIntelligenceTest.php" tests="18" assertions="77" errors="0" failures="0" skipped="0" time="0.994376">
        <testcase name="test_summary_no_champion" file="/Users/gentianbeqiri/StudioProjects/pos_system/apps/api/tests/Feature/CompetitorIntelligenceDemandIntelligenceTest.php" line="34" class="Tests\Feature\CompetitorIntelligenceDemandIntelligenceTest" classname="Tests.Feature.CompetitorIntelligenceDemandIntelligenceTest" assertions="4" time="0.045604"/>
        <testcase name="test_champion_no_predictions" file="/Users/gentianbeqiri/StudioProjects/pos_system/apps/api/tests/Feature/CompetitorIntelligenceDemandIntelligenceTest.php" line="47" class="Tests\Feature\CompetitorIntelligenceDemandIntelligenceTest" classname="Tests.Feature.CompetitorIntelligenceDemandIntelligenceTest" assertions="3" time="0.042909"/>
        <testcase name="test_summary_current_snapshot_and_origin" file="/Users/gentianbeqiri/StudioProjects/pos_system/apps/api/tests/Feature/CompetitorIntelligenceDemandIntelligenceTest.php" line="59" class="Tests\Feature\CompetitorIntelligenceDemandIntelligenceTest" classname="Tests.Feature.CompetitorIntelligenceDemandIntelligenceTest" assertions="8" time="0.073963"/>
        <testcase name="test_wape_is_validation_error_metric" file="/Users/gentianbeqiri/StudioProjects/pos_system/apps/api/tests/Feature/CompetitorIntelligenceDemandIntelligenceTest.php" line="76" class="Tests\Feature\CompetitorIntelligenceDemandIntelligenceTest" classname="Tests.Feature.CompetitorIntelligenceDemandIntelligenceTest" assertions="3" time="0.075316"/>
        <testcase name="test_coverage_uses_canonical_eligibility" file="/Users/gentianbeqiri/StudioProjects/pos_system/apps/api/tests/Feature/CompetitorIntelligenceDemandIntelligenceTest.php" line="87" class="Tests\Feature\CompetitorIntelligenceDemandIntelligenceTest" classname="Tests.Feature.CompetitorIntelligenceDemandIntelligenceTest" assertions="3" time="0.055124"/>
        <testcase name="test_products_recent_demand_select_is_only_full_group_by_compatible" file="/Users/gentianbeqiri/StudioProjects/pos_system/apps/api/tests/Feature/CompetitorIntelligenceDemandIntelligenceTest.php" line="114" class="Tests\Feature\CompetitorIntelligenceDemandIntelligenceTest" classname="Tests.Feature.CompetitorIntelligenceDemandIntelligenceTest" assertions="4" time="0.051576"/>
        <testcase name="test_list_pagination_and_per_page_cap" file="/Users/gentianbeqiri/StudioProjects/pos_system/apps/api/tests/Feature/CompetitorIntelligenceDemandIntelligenceTest.php" line="137" class="Tests\Feature\CompetitorIntelligenceDemandIntelligenceTest" classname="Tests.Feature.CompetitorIntelligenceDemandIntelligenceTest" assertions="4" time="0.065122"/>
        <testcase name="test_search_confidence_sort_and_row_shape" file="/Users/gentianbeqiri/StudioProjects/pos_system/apps/api/tests/Feature/CompetitorIntelligenceDemandIntelligenceTest.php" line="151" class="Tests\Feature\CompetitorIntelligenceDemandIntelligenceTest" classname="Tests.Feature.CompetitorIntelligenceDemandIntelligenceTest" assertions="10" time="0.062288"/>
        <testcase name="test_invalid_sort_falls_back_to_name" file="/Users/gentianbeqiri/StudioProjects/pos_system/apps/api/tests/Feature/CompetitorIntelligenceDemandIntelligenceTest.php" line="175" class="Tests\Feature\CompetitorIntelligenceDemandIntelligenceTest" classname="Tests.Feature.CompetitorIntelligenceDemandIntelligenceTest" assertions="1" time="0.050070"/>
        <testcase name="test_trend_is_deterministic" file="/Users/gentianbeqiri/StudioProjects/pos_system/apps/api/tests/Feature/CompetitorIntelligenceDemandIntelligenceTest.php" line="183" class="Tests\Feature\CompetitorIntelligenceDemandIntelligenceTest" classname="Tests.Feature.CompetitorIntelligenceDemandIntelligenceTest" assertions="2" time="0.053432"/>
        <testcase name="test_detail_tenant_isolation_and_seven_rows" file="/Users/gentianbeqiri/StudioProjects/pos_system/apps/api/tests/Feature/CompetitorIntelligenceDemandIntelligenceTest.php" line="193" class="Tests\Feature\CompetitorIntelligenceDemandIntelligenceTest" classname="Tests.Feature.CompetitorIntelligenceDemandIntelligenceTest" assertions="5" time="0.065011"/>
        <testcase name="test_future_actual_vs_forecast_unavailable" file="/Users/gentianbeqiri/StudioProjects/pos_system/apps/api/tests/Feature/CompetitorIntelligenceDemandIntelligenceTest.php" line="213" class="Tests\Feature\CompetitorIntelligenceDemandIntelligenceTest" classname="Tests.Feature.CompetitorIntelligenceDemandIntelligenceTest" assertions="3" time="0.058248"/>
        <testcase name="test_elapsed_target_comparison_when_fixture_allows" file="/Users/gentianbeqiri/StudioProjects/pos_system/apps/api/tests/Feature/CompetitorIntelligenceDemandIntelligenceTest.php" line="228" class="Tests\Feature\CompetitorIntelligenceDemandIntelligenceTest" classname="Tests.Feature.CompetitorIntelligenceDemandIntelligenceTest" assertions="3" time="0.054634"/>
        <testcase name="test_no_cross_model_prediction_mixing" file="/Users/gentianbeqiri/StudioProjects/pos_system/apps/api/tests/Feature/CompetitorIntelligenceDemandIntelligenceTest.php" line="245" class="Tests\Feature\CompetitorIntelligenceDemandIntelligenceTest" classname="Tests.Feature.CompetitorIntelligenceDemandIntelligenceTest" assertions="1" time="0.058378"/>
        <testcase name="test_business_scope_location_null_only" file="/Users/gentianbeqiri/StudioProjects/pos_system/apps/api/tests/Feature/CompetitorIntelligenceDemandIntelligenceTest.php" line="278" class="Tests\Feature\CompetitorIntelligenceDemandIntelligenceTest" classname="Tests.Feature.CompetitorIntelligenceDemandIntelligenceTest" assertions="1" time="0.050140"/>
        <testcase name="test_security_gates" file="/Users/gentianbeqiri/StudioProjects/pos_system/apps/api/tests/Feature/CompetitorIntelligenceDemandIntelligenceTest.php" line="302" class="Tests\Feature\CompetitorIntelligenceDemandIntelligenceTest" classname="Tests.Feature.CompetitorIntelligenceDemandIntelligenceTest" assertions="3" time="0.052499"/>
        <testcase name="test_demand_intelligence_routes_are_get_only" file="/Users/gentianbeqiri/StudioProjects/pos_system/apps/api/tests/Feature/CompetitorIntelligenceDemandIntelligenceTest.php" line="315" class="Tests\Feature\CompetitorIntelligenceDemandIntelligenceTest" classname="Tests.Feature.CompetitorIntelligenceDemandIntelligenceTest" assertions="15" time="0.026230"/>
        <testcase name="test_operational_tables_unchanged_after_reads" file="/Users/gentianbeqiri/StudioProjects/pos_system/apps/api/tests/Feature/CompetitorIntelligenceDemandIntelligenceTest.php" line="330" class="Tests\Feature\CompetitorIntelligenceDemandIntelligenceTest" classname="Tests.Feature.CompetitorIntelligenceDemandIntelligenceTest" assertions="4" time="0.053830"/>
      </testsuite>
      <testsuite name="Tests\Feature\CompetitorIntelligenceFinancialDecisionBriefTest" file="/Users/gentianbeqiri/StudioProjects/pos_system/apps/api/tests/Feature/CompetitorIntelligenceFinancialDecisionBriefTest.php" tests="8" assertions="29" errors="0" failures="0" skipped="0" time="0.304718">
        <testcase name="test_fanta_primary_reference_financial_brief_70_vs_59" file="/Users/gentianbeqiri/StudioProjects/pos_system/apps/api/tests/Feature/CompetitorIntelligenceFinancialDecisionBriefTest.php" line="36" class="Tests\Feature\CompetitorIntelligenceFinancialDecisionBriefTest" classname="Tests.Feature.CompetitorIntelligenceFinancialDecisionBriefTest" assertions="10" time="0.043117"/>
        <testcase name="test_context_variants_do_not_drive_primary_gap_without_designation" file="/Users/gentianbeqiri/StudioProjects/pos_system/apps/api/tests/Feature/CompetitorIntelligenceFinancialDecisionBriefTest.php" line="57" class="Tests\Feature\CompetitorIntelligenceFinancialDecisionBriefTest" classname="Tests.Feature.CompetitorIntelligenceFinancialDecisionBriefTest" assertions="4" time="0.037624"/>
        <testcase name="test_missing_wac_limits_precise_economics" file="/Users/gentianbeqiri/StudioProjects/pos_system/apps/api/tests/Feature/CompetitorIntelligenceFinancialDecisionBriefTest.php" line="72" class="Tests\Feature\CompetitorIntelligenceFinancialDecisionBriefTest" classname="Tests.Feature.CompetitorIntelligenceFinancialDecisionBriefTest" assertions="2" time="0.037605"/>
        <testcase name="test_without_margin_permission_cost_fields_withheld" file="/Users/gentianbeqiri/StudioProjects/pos_system/apps/api/tests/Feature/CompetitorIntelligenceFinancialDecisionBriefTest.php" line="85" class="Tests\Feature\CompetitorIntelligenceFinancialDecisionBriefTest" classname="Tests.Feature.CompetitorIntelligenceFinancialDecisionBriefTest" assertions="2" time="0.046521"/>
        <testcase name="test_break_even_uses_ceiling_and_not_evaluable_for_negative_proposed_gp" file="/Users/gentianbeqiri/StudioProjects/pos_system/apps/api/tests/Feature/CompetitorIntelligenceFinancialDecisionBriefTest.php" line="99" class="Tests\Feature\CompetitorIntelligenceFinancialDecisionBriefTest" classname="Tests.Feature.CompetitorIntelligenceFinancialDecisionBriefTest" assertions="4" time="0.009736"/>
        <testcase name="test_shadow_fingerprint_unchanged_and_payload_excludes_cost_without_permission" file="/Users/gentianbeqiri/StudioProjects/pos_system/apps/api/tests/Feature/CompetitorIntelligenceFinancialDecisionBriefTest.php" line="111" class="Tests\Feature\CompetitorIntelligenceFinancialDecisionBriefTest" classname="Tests.Feature.CompetitorIntelligenceFinancialDecisionBriefTest" assertions="3" time="0.045228"/>
        <testcase name="test_recommendation_does_not_mutate_operational_product" file="/Users/gentianbeqiri/StudioProjects/pos_system/apps/api/tests/Feature/CompetitorIntelligenceFinancialDecisionBriefTest.php" line="132" class="Tests\Feature\CompetitorIntelligenceFinancialDecisionBriefTest" classname="Tests.Feature.CompetitorIntelligenceFinancialDecisionBriefTest" assertions="3" time="0.038766"/>
        <testcase name="test_tenant_isolation_on_recommendation_endpoint" file="/Users/gentianbeqiri/StudioProjects/pos_system/apps/api/tests/Feature/CompetitorIntelligenceFinancialDecisionBriefTest.php" line="145" class="Tests\Feature\CompetitorIntelligenceFinancialDecisionBriefTest" classname="Tests.Feature.CompetitorIntelligenceFinancialDecisionBriefTest" assertions="1" time="0.046121"/>
      </testsuite>
      <testsuite name="Tests\Feature\CompetitorIntelligenceFullCatalogMatchingTest" file="/Users/gentianbeqiri/StudioProjects/pos_system/apps/api/tests/Feature/CompetitorIntelligenceFullCatalogMatchingTest.php" tests="7" assertions="17" errors="0" failures="0" skipped="0" time="0.075455">
        <testcase name="test_zogi_cyrillic_kotleti_auto_verifies" file="/Users/gentianbeqiri/StudioProjects/pos_system/apps/api/tests/Feature/CompetitorIntelligenceFullCatalogMatchingTest.php" line="29" class="Tests\Feature\CompetitorIntelligenceFullCatalogMatchingTest" classname="Tests.Feature.CompetitorIntelligenceFullCatalogMatchingTest" assertions="2" time="0.010916"/>
        <testcase name="test_zogi_cyrillic_kordon_blu_auto_verifies" file="/Users/gentianbeqiri/StudioProjects/pos_system/apps/api/tests/Feature/CompetitorIntelligenceFullCatalogMatchingTest.php" line="38" class="Tests\Feature\CompetitorIntelligenceFullCatalogMatchingTest" classname="Tests.Feature.CompetitorIntelligenceFullCatalogMatchingTest" assertions="2" time="0.013131"/>
        <testcase name="test_zogi_prsti_strong_candidate_or_verified" file="/Users/gentianbeqiri/StudioProjects/pos_system/apps/api/tests/Feature/CompetitorIntelligenceFullCatalogMatchingTest.php" line="47" class="Tests\Feature\CompetitorIntelligenceFullCatalogMatchingTest" classname="Tests.Feature.CompetitorIntelligenceFullCatalogMatchingTest" assertions="3" time="0.010362"/>
        <testcase name="test_opaque_kipper_size_raw_ignored_for_size" file="/Users/gentianbeqiri/StudioProjects/pos_system/apps/api/tests/Feature/CompetitorIntelligenceFullCatalogMatchingTest.php" line="59" class="Tests\Feature\CompetitorIntelligenceFullCatalogMatchingTest" classname="Tests.Feature.CompetitorIntelligenceFullCatalogMatchingTest" assertions="2" time="0.006711"/>
        <testcase name="test_size_conflict_500g_vs_1kg_not_verified" file="/Users/gentianbeqiri/StudioProjects/pos_system/apps/api/tests/Feature/CompetitorIntelligenceFullCatalogMatchingTest.php" line="66" class="Tests\Feature\CompetitorIntelligenceFullCatalogMatchingTest" classname="Tests.Feature.CompetitorIntelligenceFullCatalogMatchingTest" assertions="1" time="0.010411"/>
        <testcase name="test_manual_mapping_survives_automatic_batch_persist" file="/Users/gentianbeqiri/StudioProjects/pos_system/apps/api/tests/Feature/CompetitorIntelligenceFullCatalogMatchingTest.php" line="77" class="Tests\Feature\CompetitorIntelligenceFullCatalogMatchingTest" classname="Tests.Feature.CompetitorIntelligenceFullCatalogMatchingTest" assertions="3" time="0.012612"/>
        <testcase name="test_full_catalog_dry_run_reports_levels" file="/Users/gentianbeqiri/StudioProjects/pos_system/apps/api/tests/Feature/CompetitorIntelligenceFullCatalogMatchingTest.php" line="115" class="Tests\Feature\CompetitorIntelligenceFullCatalogMatchingTest" classname="Tests.Feature.CompetitorIntelligenceFullCatalogMatchingTest" assertions="4" time="0.011312"/>
      </testsuite>
      <testsuite name="Tests\Feature\CompetitorIntelligenceGtinValidatorTest" file="/Users/gentianbeqiri/StudioProjects/pos_system/apps/api/tests/Feature/CompetitorIntelligenceGtinValidatorTest.php" tests="6" assertions="9" errors="0" failures="0" skipped="0" time="0.040218">
        <testcase name="test_valid_gtin_13" file="/Users/gentianbeqiri/StudioProjects/pos_system/apps/api/tests/Feature/CompetitorIntelligenceGtinValidatorTest.php" line="18" class="Tests\Feature\CompetitorIntelligenceGtinValidatorTest" classname="Tests.Feature.CompetitorIntelligenceGtinValidatorTest" assertions="2" time="0.006662"/>
        <testcase name="test_valid_gtin_8" file="/Users/gentianbeqiri/StudioProjects/pos_system/apps/api/tests/Feature/CompetitorIntelligenceGtinValidatorTest.php" line="24" class="Tests\Feature\CompetitorIntelligenceGtinValidatorTest" classname="Tests.Feature.CompetitorIntelligenceGtinValidatorTest" assertions="1" time="0.006203"/>
        <testcase name="test_valid_gtin_12_upc" file="/Users/gentianbeqiri/StudioProjects/pos_system/apps/api/tests/Feature/CompetitorIntelligenceGtinValidatorTest.php" line="29" class="Tests\Feature\CompetitorIntelligenceGtinValidatorTest" classname="Tests.Feature.CompetitorIntelligenceGtinValidatorTest" assertions="1" time="0.006261"/>
        <testcase name="test_valid_gtin_14" file="/Users/gentianbeqiri/StudioProjects/pos_system/apps/api/tests/Feature/CompetitorIntelligenceGtinValidatorTest.php" line="34" class="Tests\Feature\CompetitorIntelligenceGtinValidatorTest" classname="Tests.Feature.CompetitorIntelligenceGtinValidatorTest" assertions="1" time="0.008485"/>
        <testcase name="test_invalid_checksum_rejected" file="/Users/gentianbeqiri/StudioProjects/pos_system/apps/api/tests/Feature/CompetitorIntelligenceGtinValidatorTest.php" line="39" class="Tests\Feature\CompetitorIntelligenceGtinValidatorTest" classname="Tests.Feature.CompetitorIntelligenceGtinValidatorTest" assertions="2" time="0.006406"/>
        <testcase name="test_internal_numeric_sku_not_treated_as_gtin" file="/Users/gentianbeqiri/StudioProjects/pos_system/apps/api/tests/Feature/CompetitorIntelligenceGtinValidatorTest.php" line="45" class="Tests\Feature\CompetitorIntelligenceGtinValidatorTest" classname="Tests.Feature.CompetitorIntelligenceGtinValidatorTest" assertions="2" time="0.006202"/>
      </testsuite>
      <testsuite name="Tests\Feature\CompetitorIntelligenceIdentityResolutionOperationalSafetyTest" file="/Users/gentianbeqiri/StudioProjects/pos_system/apps/api/tests/Feature/CompetitorIntelligenceIdentityResolutionOperationalSafetyTest.php" tests="2" assertions="4" errors="0" failures="0" skipped="0" time="0.042856">
        <testcase name="test_competitor_identity_resolution_cannot_mutate_operational_swiftpos_data" file="/Users/gentianbeqiri/StudioProjects/pos_system/apps/api/tests/Feature/CompetitorIntelligenceIdentityResolutionOperationalSafetyTest.php" line="29" class="Tests\Feature\CompetitorIntelligenceIdentityResolutionOperationalSafetyTest" classname="Tests.Feature.CompetitorIntelligenceIdentityResolutionOperationalSafetyTest" assertions="2" time="0.032254"/>
        <testcase name="test_swiftpos_barcode_conflict_yields_conflict_without_catalog_mutation" file="/Users/gentianbeqiri/StudioProjects/pos_system/apps/api/tests/Feature/CompetitorIntelligenceIdentityResolutionOperationalSafetyTest.php" line="99" class="Tests\Feature\CompetitorIntelligenceIdentityResolutionOperationalSafetyTest" classname="Tests.Feature.CompetitorIntelligenceIdentityResolutionOperationalSafetyTest" assertions="2" time="0.010601"/>
      </testsuite>
      <testsuite name="Tests\Feature\CompetitorIntelligenceIngestionTest" file="/Users/gentianbeqiri/StudioProjects/pos_system/apps/api/tests/Feature/CompetitorIntelligenceIngestionTest.php" tests="11" assertions="30" errors="0" failures="0" skipped="0" time="0.123390">
        <testcase name="test_fixture_a_one_day_promo_ingests_with_provenance" file="/Users/gentianbeqiri/StudioProjects/pos_system/apps/api/tests/Feature/CompetitorIntelligenceIngestionTest.php" line="55" class="Tests\Feature\CompetitorIntelligenceIngestionTest" classname="Tests.Feature.CompetitorIntelligenceIngestionTest" assertions="6" time="0.020606"/>
        <testcase name="test_artifact_hash_dedupe_on_repeat_content" file="/Users/gentianbeqiri/StudioProjects/pos_system/apps/api/tests/Feature/CompetitorIntelligenceIngestionTest.php" line="73" class="Tests\Feature\CompetitorIntelligenceIngestionTest" classname="Tests.Feature.CompetitorIntelligenceIngestionTest" assertions="3" time="0.009624"/>
        <testcase name="test_same_fixture_twice_does_not_duplicate_offers" file="/Users/gentianbeqiri/StudioProjects/pos_system/apps/api/tests/Feature/CompetitorIntelligenceIngestionTest.php" line="85" class="Tests\Feature\CompetitorIntelligenceIngestionTest" classname="Tests.Feature.CompetitorIntelligenceIngestionTest" assertions="2" time="0.010082"/>
        <testcase name="test_overlapping_campaigns_coexist" file="/Users/gentianbeqiri/StudioProjects/pos_system/apps/api/tests/Feature/CompetitorIntelligenceIngestionTest.php" line="94" class="Tests\Feature\CompetitorIntelligenceIngestionTest" classname="Tests.Feature.CompetitorIntelligenceIngestionTest" assertions="2" time="0.012937"/>
        <testcase name="test_corrected_reupload_adds_artifact_and_new_offer_observation" file="/Users/gentianbeqiri/StudioProjects/pos_system/apps/api/tests/Feature/CompetitorIntelligenceIngestionTest.php" line="103" class="Tests\Feature\CompetitorIntelligenceIngestionTest" classname="Tests.Feature.CompetitorIntelligenceIngestionTest" assertions="3" time="0.011378"/>
        <testcase name="test_malformed_offers_rejected_partial_campaign_stored" file="/Users/gentianbeqiri/StudioProjects/pos_system/apps/api/tests/Feature/CompetitorIntelligenceIngestionTest.php" line="131" class="Tests\Feature\CompetitorIntelligenceIngestionTest" classname="Tests.Feature.CompetitorIntelligenceIngestionTest" assertions="4" time="0.009491"/>
        <testcase name="test_partial_offer_accepted_without_regular_price" file="/Users/gentianbeqiri/StudioProjects/pos_system/apps/api/tests/Feature/CompetitorIntelligenceIngestionTest.php" line="148" class="Tests\Feature\CompetitorIntelligenceIngestionTest" classname="Tests.Feature.CompetitorIntelligenceIngestionTest" assertions="2" time="0.012109"/>
        <testcase name="test_financial_decimal_preservation_for_mkd" file="/Users/gentianbeqiri/StudioProjects/pos_system/apps/api/tests/Feature/CompetitorIntelligenceIngestionTest.php" line="157" class="Tests\Feature\CompetitorIntelligenceIngestionTest" classname="Tests.Feature.CompetitorIntelligenceIngestionTest" assertions="2" time="0.010707"/>
        <testcase name="test_zero_promo_price_allowed" file="/Users/gentianbeqiri/StudioProjects/pos_system/apps/api/tests/Feature/CompetitorIntelligenceIngestionTest.php" line="193" class="Tests\Feature\CompetitorIntelligenceIngestionTest" classname="Tests.Feature.CompetitorIntelligenceIngestionTest" assertions="2" time="0.009444"/>
        <testcase name="test_failed_run_can_be_marked" file="/Users/gentianbeqiri/StudioProjects/pos_system/apps/api/tests/Feature/CompetitorIntelligenceIngestionTest.php" line="216" class="Tests\Feature\CompetitorIntelligenceIngestionTest" classname="Tests.Feature.CompetitorIntelligenceIngestionTest" assertions="2" time="0.008167"/>
        <testcase name="test_promo_greater_than_regular_emits_warning_but_stores" file="/Users/gentianbeqiri/StudioProjects/pos_system/apps/api/tests/Feature/CompetitorIntelligenceIngestionTest.php" line="226" class="Tests\Feature\CompetitorIntelligenceIngestionTest" classname="Tests.Feature.CompetitorIntelligenceIngestionTest" assertions="2" time="0.008843"/>
      </testsuite>
      <testsuite name="Tests\Feature\CompetitorIntelligenceKamAdapterTest" file="/Users/gentianbeqiri/StudioProjects/pos_system/apps/api/tests/Feature/CompetitorIntelligenceKamAdapterTest.php" tests="6" assertions="24" errors="0" failures="0" skipped="0" time="0.067794">
        <testcase name="test_discovery_from_active_promotions_respects_cap" file="/Users/gentianbeqiri/StudioProjects/pos_system/apps/api/tests/Feature/CompetitorIntelligenceKamAdapterTest.php" line="33" class="Tests\Feature\CompetitorIntelligenceKamAdapterTest" classname="Tests.Feature.CompetitorIntelligenceKamAdapterTest" assertions="4" time="0.007722"/>
        <testcase name="test_product_parser_verifies_discounted_rows" file="/Users/gentianbeqiri/StudioProjects/pos_system/apps/api/tests/Feature/CompetitorIntelligenceKamAdapterTest.php" line="48" class="Tests\Feature\CompetitorIntelligenceKamAdapterTest" classname="Tests.Feature.CompetitorIntelligenceKamAdapterTest" assertions="5" time="0.010346"/>
        <testcase name="test_date_parser_parses_dotnet_and_issuu_slug" file="/Users/gentianbeqiri/StudioProjects/pos_system/apps/api/tests/Feature/CompetitorIntelligenceKamAdapterTest.php" line="67" class="Tests\Feature\CompetitorIntelligenceKamAdapterTest" classname="Tests.Feature.CompetitorIntelligenceKamAdapterTest" assertions="3" time="0.006730"/>
        <testcase name="test_letok_discovery_marks_issuu_embed" file="/Users/gentianbeqiri/StudioProjects/pos_system/apps/api/tests/Feature/CompetitorIntelligenceKamAdapterTest.php" line="76" class="Tests\Feature\CompetitorIntelligenceKamAdapterTest" classname="Tests.Feature.CompetitorIntelligenceKamAdapterTest" assertions="3" time="0.006582"/>
        <testcase name="test_http_client_rejects_non_allowlisted_host" file="/Users/gentianbeqiri/StudioProjects/pos_system/apps/api/tests/Feature/CompetitorIntelligenceKamAdapterTest.php" line="85" class="Tests\Feature\CompetitorIntelligenceKamAdapterTest" classname="Tests.Feature.CompetitorIntelligenceKamAdapterTest" assertions="1" time="0.006976"/>
        <testcase name="test_dry_run_zero_writes" file="/Users/gentianbeqiri/StudioProjects/pos_system/apps/api/tests/Feature/CompetitorIntelligenceKamAdapterTest.php" line="91" class="Tests\Feature\CompetitorIntelligenceKamAdapterTest" classname="Tests.Feature.CompetitorIntelligenceKamAdapterTest" assertions="8" time="0.029438"/>
      </testsuite>
      <testsuite name="Tests\Feature\CompetitorIntelligenceKipperAdapterTest" file="/Users/gentianbeqiri/StudioProjects/pos_system/apps/api/tests/Feature/CompetitorIntelligenceKipperAdapterTest.php" tests="7" assertions="16" errors="0" failures="0" skipped="0" time="0.062949">
        <testcase name="test_flyeri_discovery_extracts_first_party_pdf_and_ignores_third_party" file="/Users/gentianbeqiri/StudioProjects/pos_system/apps/api/tests/Feature/CompetitorIntelligenceKipperAdapterTest.php" line="31" class="Tests\Feature\CompetitorIntelligenceKipperAdapterTest" classname="Tests.Feature.CompetitorIntelligenceKipperAdapterTest" assertions="3" time="0.007592"/>
        <testcase name="test_ofertat_campaign_skips_offer_extraction" file="/Users/gentianbeqiri/StudioProjects/pos_system/apps/api/tests/Feature/CompetitorIntelligenceKipperAdapterTest.php" line="43" class="Tests\Feature\CompetitorIntelligenceKipperAdapterTest" classname="Tests.Feature.CompetitorIntelligenceKipperAdapterTest" assertions="2" time="0.006645"/>
        <testcase name="test_duplicate_pdf_urls_deduped_in_discovery" file="/Users/gentianbeqiri/StudioProjects/pos_system/apps/api/tests/Feature/CompetitorIntelligenceKipperAdapterTest.php" line="50" class="Tests\Feature\CompetitorIntelligenceKipperAdapterTest" classname="Tests.Feature.CompetitorIntelligenceKipperAdapterTest" assertions="1" time="0.006374"/>
        <testcase name="test_http_client_rejects_arbitrary_host" file="/Users/gentianbeqiri/StudioProjects/pos_system/apps/api/tests/Feature/CompetitorIntelligenceKipperAdapterTest.php" line="58" class="Tests\Feature\CompetitorIntelligenceKipperAdapterTest" classname="Tests.Feature.CompetitorIntelligenceKipperAdapterTest" assertions="1" time="0.006292"/>
        <testcase name="test_adapter_rejects_non_allowlisted_artifact_url" file="/Users/gentianbeqiri/StudioProjects/pos_system/apps/api/tests/Feature/CompetitorIntelligenceKipperAdapterTest.php" line="67" class="Tests\Feature\CompetitorIntelligenceKipperAdapterTest" classname="Tests.Feature.CompetitorIntelligenceKipperAdapterTest" assertions="1" time="0.012209"/>
        <testcase name="test_dry_run_performs_zero_database_mutations" file="/Users/gentianbeqiri/StudioProjects/pos_system/apps/api/tests/Feature/CompetitorIntelligenceKipperAdapterTest.php" line="86" class="Tests\Feature\CompetitorIntelligenceKipperAdapterTest" classname="Tests.Feature.CompetitorIntelligenceKipperAdapterTest" assertions="7" time="0.009246"/>
        <testcase name="test_ingest_command_accepts_kipper" file="/Users/gentianbeqiri/StudioProjects/pos_system/apps/api/tests/Feature/CompetitorIntelligenceKipperAdapterTest.php" line="128" class="Tests\Feature\CompetitorIntelligenceKipperAdapterTest" classname="Tests.Feature.CompetitorIntelligenceKipperAdapterTest" assertions="1" time="0.014592"/>
      </testsuite>
      <testsuite name="Tests\Feature\CompetitorIntelligenceKipperCenovnikIngestTest" file="/Users/gentianbeqiri/StudioProjects/pos_system/apps/api/tests/Feature/CompetitorIntelligenceKipperCenovnikIngestTest.php" tests="2" assertions="31" errors="0" failures="0" skipped="0" time="0.166079">
        <testcase name="test_http_pagination_ingest_persists_offers_and_observations" file="/Users/gentianbeqiri/StudioProjects/pos_system/apps/api/tests/Feature/CompetitorIntelligenceKipperCenovnikIngestTest.php" line="98" class="Tests\Feature\CompetitorIntelligenceKipperCenovnikIngestTest" classname="Tests.Feature.CompetitorIntelligenceKipperCenovnikIngestTest" assertions="29" time="0.158971"/>
        <testcase name="test_content_snapshot_key_differs_when_feed_changes" file="/Users/gentianbeqiri/StudioProjects/pos_system/apps/api/tests/Feature/CompetitorIntelligenceKipperCenovnikIngestTest.php" line="211" class="Tests\Feature\CompetitorIntelligenceKipperCenovnikIngestTest" classname="Tests.Feature.CompetitorIntelligenceKipperCenovnikIngestTest" assertions="2" time="0.007107"/>
      </testsuite>
      <testsuite name="Tests\Feature\CompetitorIntelligenceKipperCenovnikTest" file="/Users/gentianbeqiri/StudioProjects/pos_system/apps/api/tests/Feature/CompetitorIntelligenceKipperCenovnikTest.php" tests="3" assertions="10" errors="0" failures="0" skipped="0" time="0.020262">
        <testcase name="test_structured_store_discovery_uses_reference_post_id" file="/Users/gentianbeqiri/StudioProjects/pos_system/apps/api/tests/Feature/CompetitorIntelligenceKipperCenovnikTest.php" line="25" class="Tests\Feature\CompetitorIntelligenceKipperCenovnikTest" classname="Tests.Feature.CompetitorIntelligenceKipperCenovnikTest" assertions="3" time="0.006468"/>
        <testcase name="test_parser_splits_promo_and_shelf_rows" file="/Users/gentianbeqiri/StudioProjects/pos_system/apps/api/tests/Feature/CompetitorIntelligenceKipperCenovnikTest.php" line="33" class="Tests\Feature\CompetitorIntelligenceKipperCenovnikTest" classname="Tests.Feature.CompetitorIntelligenceKipperCenovnikTest" assertions="5" time="0.007452"/>
        <testcase name="test_product_identity_stable_when_price_changes" file="/Users/gentianbeqiri/StudioProjects/pos_system/apps/api/tests/Feature/CompetitorIntelligenceKipperCenovnikTest.php" line="58" class="Tests\Feature\CompetitorIntelligenceKipperCenovnikTest" classname="Tests.Feature.CompetitorIntelligenceKipperCenovnikTest" assertions="2" time="0.006343"/>
      </testsuite>
      <testsuite name="Tests\Feature\CompetitorIntelligenceManualGtinEvidenceTest" file="/Users/gentianbeqiri/StudioProjects/pos_system/apps/api/tests/Feature/CompetitorIntelligenceManualGtinEvidenceTest.php" tests="2" assertions="7" errors="0" failures="0" skipped="0" time="0.056448">
        <testcase name="test_manual_external_registry_does_not_write_competitor_product_ean_or_swiftpos_barcodes" file="/Users/gentianbeqiri/StudioProjects/pos_system/apps/api/tests/Feature/CompetitorIntelligenceManualGtinEvidenceTest.php" line="27" class="Tests\Feature\CompetitorIntelligenceManualGtinEvidenceTest" classname="Tests.Feature.CompetitorIntelligenceManualGtinEvidenceTest" assertions="5" time="0.028949"/>
        <testcase name="test_cross_competitor_same_gtin_records_candidate_without_merging_products" file="/Users/gentianbeqiri/StudioProjects/pos_system/apps/api/tests/Feature/CompetitorIntelligenceManualGtinEvidenceTest.php" line="55" class="Tests\Feature\CompetitorIntelligenceManualGtinEvidenceTest" classname="Tests.Feature.CompetitorIntelligenceManualGtinEvidenceTest" assertions="2" time="0.027499"/>
      </testsuite>
      <testsuite name="Tests\Feature\CompetitorIntelligenceMarketOpportunitiesTest" file="/Users/gentianbeqiri/StudioProjects/pos_system/apps/api/tests/Feature/CompetitorIntelligenceMarketOpportunitiesTest.php" tests="11" assertions="33" errors="0" failures="0" skipped="0" time="0.397410">
        <testcase name="test_flyers_overlap_today_excludes_expired_and_future" file="/Users/gentianbeqiri/StudioProjects/pos_system/apps/api/tests/Feature/CompetitorIntelligenceMarketOpportunitiesTest.php" line="39" class="Tests\Feature\CompetitorIntelligenceMarketOpportunitiesTest" classname="Tests.Feature.CompetitorIntelligenceMarketOpportunitiesTest" assertions="4" time="0.034906"/>
        <testcase name="test_custom_historical_period_includes_past_flyer" file="/Users/gentianbeqiri/StudioProjects/pos_system/apps/api/tests/Feature/CompetitorIntelligenceMarketOpportunitiesTest.php" line="67" class="Tests\Feature\CompetitorIntelligenceMarketOpportunitiesTest" classname="Tests.Feature.CompetitorIntelligenceMarketOpportunitiesTest" assertions="2" time="0.034203"/>
        <testcase name="test_campaign_detail_lists_all_offers_with_match_state" file="/Users/gentianbeqiri/StudioProjects/pos_system/apps/api/tests/Feature/CompetitorIntelligenceMarketOpportunitiesTest.php" line="83" class="Tests\Feature\CompetitorIntelligenceMarketOpportunitiesTest" classname="Tests.Feature.CompetitorIntelligenceMarketOpportunitiesTest" assertions="5" time="0.038956"/>
        <testcase name="test_campaign_detail_get_does_not_create_competitor_products" file="/Users/gentianbeqiri/StudioProjects/pos_system/apps/api/tests/Feature/CompetitorIntelligenceMarketOpportunitiesTest.php" line="116" class="Tests\Feature\CompetitorIntelligenceMarketOpportunitiesTest" classname="Tests.Feature.CompetitorIntelligenceMarketOpportunitiesTest" assertions="2" time="0.034887"/>
        <testcase name="test_materialize_offer_endpoint_creates_competitor_product" file="/Users/gentianbeqiri/StudioProjects/pos_system/apps/api/tests/Feature/CompetitorIntelligenceMarketOpportunitiesTest.php" line="133" class="Tests\Feature\CompetitorIntelligenceMarketOpportunitiesTest" classname="Tests.Feature.CompetitorIntelligenceMarketOpportunitiesTest" assertions="3" time="0.034617"/>
        <testcase name="test_consolidated_groups_by_verified_swiftpos_product_only" file="/Users/gentianbeqiri/StudioProjects/pos_system/apps/api/tests/Feature/CompetitorIntelligenceMarketOpportunitiesTest.php" line="150" class="Tests\Feature\CompetitorIntelligenceMarketOpportunitiesTest" classname="Tests.Feature.CompetitorIntelligenceMarketOpportunitiesTest" assertions="3" time="0.040584"/>
        <testcase name="test_unmapped_competitor_products_stay_out_of_consolidated_view" file="/Users/gentianbeqiri/StudioProjects/pos_system/apps/api/tests/Feature/CompetitorIntelligenceMarketOpportunitiesTest.php" line="192" class="Tests\Feature\CompetitorIntelligenceMarketOpportunitiesTest" classname="Tests.Feature.CompetitorIntelligenceMarketOpportunitiesTest" assertions="2" time="0.035189"/>
        <testcase name="test_manual_match_from_matching_api_does_not_mutate_product" file="/Users/gentianbeqiri/StudioProjects/pos_system/apps/api/tests/Feature/CompetitorIntelligenceMarketOpportunitiesTest.php" line="208" class="Tests\Feature\CompetitorIntelligenceMarketOpportunitiesTest" classname="Tests.Feature.CompetitorIntelligenceMarketOpportunitiesTest" assertions="4" time="0.041430"/>
        <testcase name="test_shelf_observations_counted_separately_from_flyers" file="/Users/gentianbeqiri/StudioProjects/pos_system/apps/api/tests/Feature/CompetitorIntelligenceMarketOpportunitiesTest.php" line="237" class="Tests\Feature\CompetitorIntelligenceMarketOpportunitiesTest" classname="Tests.Feature.CompetitorIntelligenceMarketOpportunitiesTest" assertions="3" time="0.034293"/>
        <testcase name="test_campaign_detail_query_count_stays_bounded" file="/Users/gentianbeqiri/StudioProjects/pos_system/apps/api/tests/Feature/CompetitorIntelligenceMarketOpportunitiesTest.php" line="266" class="Tests\Feature\CompetitorIntelligenceMarketOpportunitiesTest" classname="Tests.Feature.CompetitorIntelligenceMarketOpportunitiesTest" assertions="4" time="0.039168"/>
        <testcase name="test_requires_price_intelligence_permission" file="/Users/gentianbeqiri/StudioProjects/pos_system/apps/api/tests/Feature/CompetitorIntelligenceMarketOpportunitiesTest.php" line="293" class="Tests\Feature\CompetitorIntelligenceMarketOpportunitiesTest" classname="Tests.Feature.CompetitorIntelligenceMarketOpportunitiesTest" assertions="1" time="0.029178"/>
      </testsuite>
      <testsuite name="Tests\Feature\CompetitorIntelligenceMarketOpportunityClosureTest" file="/Users/gentianbeqiri/StudioProjects/pos_system/apps/api/tests/Feature/CompetitorIntelligenceMarketOpportunityClosureTest.php" tests="26" assertions="59" errors="0" failures="0" skipped="0" time="0.864937">
        <testcase name="test_documented_sale_status_values_used_by_phase_4c" file="/Users/gentianbeqiri/StudioProjects/pos_system/apps/api/tests/Feature/CompetitorIntelligenceMarketOpportunityClosureTest.php" line="35" class="Tests\Feature\CompetitorIntelligenceMarketOpportunityClosureTest" classname="Tests.Feature.CompetitorIntelligenceMarketOpportunityClosureTest" assertions="3" time="0.006796"/>
        <testcase name="test_full_refund_yields_zero_net_units_and_sales" file="/Users/gentianbeqiri/StudioProjects/pos_system/apps/api/tests/Feature/CompetitorIntelligenceMarketOpportunityClosureTest.php" line="44" class="Tests\Feature\CompetitorIntelligenceMarketOpportunityClosureTest" classname="Tests.Feature.CompetitorIntelligenceMarketOpportunityClosureTest" assertions="2" time="0.034142"/>
        <testcase name="test_partial_refund_quantity_seven_of_ten" file="/Users/gentianbeqiri/StudioProjects/pos_system/apps/api/tests/Feature/CompetitorIntelligenceMarketOpportunityClosureTest.php" line="67" class="Tests\Feature\CompetitorIntelligenceMarketOpportunityClosureTest" classname="Tests.Feature.CompetitorIntelligenceMarketOpportunityClosureTest" assertions="2" time="0.034335"/>
        <testcase name="test_discounted_sale_partial_refund_uses_allocated_payable" file="/Users/gentianbeqiri/StudioProjects/pos_system/apps/api/tests/Feature/CompetitorIntelligenceMarketOpportunityClosureTest.php" line="89" class="Tests\Feature\CompetitorIntelligenceMarketOpportunityClosureTest" classname="Tests.Feature.CompetitorIntelligenceMarketOpportunityClosureTest" assertions="2" time="0.036389"/>
        <testcase name="test_multi_line_discount_allocation_per_product" file="/Users/gentianbeqiri/StudioProjects/pos_system/apps/api/tests/Feature/CompetitorIntelligenceMarketOpportunityClosureTest.php" line="113" class="Tests\Feature\CompetitorIntelligenceMarketOpportunityClosureTest" classname="Tests.Feature.CompetitorIntelligenceMarketOpportunityClosureTest" assertions="2" time="0.034288"/>
        <testcase name="test_refund_adjusts_original_sale_business_day_not_refund_day" file="/Users/gentianbeqiri/StudioProjects/pos_system/apps/api/tests/Feature/CompetitorIntelligenceMarketOpportunityClosureTest.php" line="141" class="Tests\Feature\CompetitorIntelligenceMarketOpportunityClosureTest" classname="Tests.Feature.CompetitorIntelligenceMarketOpportunityClosureTest" assertions="2" time="0.033396"/>
        <testcase name="test_seven_day_window_boundaries" file="/Users/gentianbeqiri/StudioProjects/pos_system/apps/api/tests/Feature/CompetitorIntelligenceMarketOpportunityClosureTest.php" line="172" class="Tests\Feature\CompetitorIntelligenceMarketOpportunityClosureTest" classname="Tests.Feature.CompetitorIntelligenceMarketOpportunityClosureTest" assertions="3" time="0.029502"/>
        <testcase name="test_thirty_and_ninety_day_window_includes_reference_day" file="/Users/gentianbeqiri/StudioProjects/pos_system/apps/api/tests/Feature/CompetitorIntelligenceMarketOpportunityClosureTest.php" line="187" class="Tests\Feature\CompetitorIntelligenceMarketOpportunityClosureTest" classname="Tests.Feature.CompetitorIntelligenceMarketOpportunityClosureTest" assertions="2" time="0.029765"/>
        <testcase name="test_timezone_uses_business_day_for_analytics_consumption" file="/Users/gentianbeqiri/StudioProjects/pos_system/apps/api/tests/Feature/CompetitorIntelligenceMarketOpportunityClosureTest.php" line="201" class="Tests\Feature\CompetitorIntelligenceMarketOpportunityClosureTest" classname="Tests.Feature.CompetitorIntelligenceMarketOpportunityClosureTest" assertions="2" time="0.032435"/>
        <testcase name="test_weighted_decimal_net_quantity" file="/Users/gentianbeqiri/StudioProjects/pos_system/apps/api/tests/Feature/CompetitorIntelligenceMarketOpportunityClosureTest.php" line="223" class="Tests\Feature\CompetitorIntelligenceMarketOpportunityClosureTest" classname="Tests.Feature.CompetitorIntelligenceMarketOpportunityClosureTest" assertions="1" time="0.038115"/>
        <testcase name="test_weighted_exposure_uses_signed_gap_times_decimal_volume" file="/Users/gentianbeqiri/StudioProjects/pos_system/apps/api/tests/Feature/CompetitorIntelligenceMarketOpportunityClosureTest.php" line="254" class="Tests\Feature\CompetitorIntelligenceMarketOpportunityClosureTest" classname="Tests.Feature.CompetitorIntelligenceMarketOpportunityClosureTest" assertions="1" time="0.009751"/>
        <testcase name="test_zero_sales_exposure_is_zero_not_null_when_evidence_usable" file="/Users/gentianbeqiri/StudioProjects/pos_system/apps/api/tests/Feature/CompetitorIntelligenceMarketOpportunityClosureTest.php" line="266" class="Tests\Feature\CompetitorIntelligenceMarketOpportunityClosureTest" classname="Tests.Feature.CompetitorIntelligenceMarketOpportunityClosureTest" assertions="1" time="0.006571"/>
        <testcase name="test_location_sales_isolation" file="/Users/gentianbeqiri/StudioProjects/pos_system/apps/api/tests/Feature/CompetitorIntelligenceMarketOpportunityClosureTest.php" line="278" class="Tests\Feature\CompetitorIntelligenceMarketOpportunityClosureTest" classname="Tests.Feature.CompetitorIntelligenceMarketOpportunityClosureTest" assertions="1" time="0.029198"/>
        <testcase name="test_business_isolation_for_sales_context" file="/Users/gentianbeqiri/StudioProjects/pos_system/apps/api/tests/Feature/CompetitorIntelligenceMarketOpportunityClosureTest.php" line="299" class="Tests\Feature\CompetitorIntelligenceMarketOpportunityClosureTest" classname="Tests.Feature.CompetitorIntelligenceMarketOpportunityClosureTest" assertions="1" time="0.042249"/>
        <testcase name="test_stock_matrix_preserves_sign" file="/Users/gentianbeqiri/StudioProjects/pos_system/apps/api/tests/Feature/CompetitorIntelligenceMarketOpportunityClosureTest.php" line="313" class="Tests\Feature\CompetitorIntelligenceMarketOpportunityClosureTest" classname="Tests.Feature.CompetitorIntelligenceMarketOpportunityClosureTest" assertions="4" time="0.030293"/>
        <testcase name="test_multi_warehouse_location_without_warehouse_id_requires_context" file="/Users/gentianbeqiri/StudioProjects/pos_system/apps/api/tests/Feature/CompetitorIntelligenceMarketOpportunityClosureTest.php" line="342" class="Tests\Feature\CompetitorIntelligenceMarketOpportunityClosureTest" classname="Tests.Feature.CompetitorIntelligenceMarketOpportunityClosureTest" assertions="2" time="0.028621"/>
        <testcase name="test_business_wide_stock_sums_across_warehouses" file="/Users/gentianbeqiri/StudioProjects/pos_system/apps/api/tests/Feature/CompetitorIntelligenceMarketOpportunityClosureTest.php" line="360" class="Tests\Feature\CompetitorIntelligenceMarketOpportunityClosureTest" classname="Tests.Feature.CompetitorIntelligenceMarketOpportunityClosureTest" assertions="1" time="0.028914"/>
        <testcase name="test_observed_sales_cover_skips_zero_velocity" file="/Users/gentianbeqiri/StudioProjects/pos_system/apps/api/tests/Feature/CompetitorIntelligenceMarketOpportunityClosureTest.php" line="379" class="Tests\Feature\CompetitorIntelligenceMarketOpportunityClosureTest" classname="Tests.Feature.CompetitorIntelligenceMarketOpportunityClosureTest" assertions="1" time="0.031632"/>
        <testcase name="test_last_sale_ignores_refund_documents" file="/Users/gentianbeqiri/StudioProjects/pos_system/apps/api/tests/Feature/CompetitorIntelligenceMarketOpportunityClosureTest.php" line="395" class="Tests\Feature\CompetitorIntelligenceMarketOpportunityClosureTest" classname="Tests.Feature.CompetitorIntelligenceMarketOpportunityClosureTest" assertions="1" time="0.033898"/>
        <testcase name="test_sales_velocity_trend_thresholds" file="/Users/gentianbeqiri/StudioProjects/pos_system/apps/api/tests/Feature/CompetitorIntelligenceMarketOpportunityClosureTest.php" line="444" class="Tests\Feature\CompetitorIntelligenceMarketOpportunityClosureTest" classname="Tests.Feature.CompetitorIntelligenceMarketOpportunityClosureTest" assertions="1" time="0.031548"/>
        <testcase name="test_sales_filter_without_reports_permission_returns_422" file="/Users/gentianbeqiri/StudioProjects/pos_system/apps/api/tests/Feature/CompetitorIntelligenceMarketOpportunityClosureTest.php" line="461" class="Tests\Feature\CompetitorIntelligenceMarketOpportunityClosureTest" classname="Tests.Feature.CompetitorIntelligenceMarketOpportunityClosureTest" assertions="2" time="0.031345"/>
        <testcase name="test_stock_filter_without_inventory_permission_returns_422" file="/Users/gentianbeqiri/StudioProjects/pos_system/apps/api/tests/Feature/CompetitorIntelligenceMarketOpportunityClosureTest.php" line="474" class="Tests\Feature\CompetitorIntelligenceMarketOpportunityClosureTest" classname="Tests.Feature.CompetitorIntelligenceMarketOpportunityClosureTest" assertions="1" time="0.031425"/>
        <testcase name="test_rbac_payload_sections" file="/Users/gentianbeqiri/StudioProjects/pos_system/apps/api/tests/Feature/CompetitorIntelligenceMarketOpportunityClosureTest.php" line="486" class="Tests\Feature\CompetitorIntelligenceMarketOpportunityClosureTest" classname="Tests.Feature.CompetitorIntelligenceMarketOpportunityClosureTest" assertions="7" time="0.062110"/>
        <testcase name="test_summary_list_consistency_negative_stock_filter" file="/Users/gentianbeqiri/StudioProjects/pos_system/apps/api/tests/Feature/CompetitorIntelligenceMarketOpportunityClosureTest.php" line="511" class="Tests\Feature\CompetitorIntelligenceMarketOpportunityClosureTest" classname="Tests.Feature.CompetitorIntelligenceMarketOpportunityClosureTest" assertions="4" time="0.054948"/>
        <testcase name="test_sort_net_units_descending" file="/Users/gentianbeqiri/StudioProjects/pos_system/apps/api/tests/Feature/CompetitorIntelligenceMarketOpportunityClosureTest.php" line="534" class="Tests\Feature\CompetitorIntelligenceMarketOpportunityClosureTest" classname="Tests.Feature.CompetitorIntelligenceMarketOpportunityClosureTest" assertions="2" time="0.049056"/>
        <testcase name="test_operational_write_safety_expanded_snapshot" file="/Users/gentianbeqiri/StudioProjects/pos_system/apps/api/tests/Feature/CompetitorIntelligenceMarketOpportunityClosureTest.php" line="554" class="Tests\Feature\CompetitorIntelligenceMarketOpportunityClosureTest" classname="Tests.Feature.CompetitorIntelligenceMarketOpportunityClosureTest" assertions="8" time="0.054217"/>
      </testsuite>
      <testsuite name="Tests\Feature\CompetitorIntelligenceMarketOpportunityTest" file="/Users/gentianbeqiri/StudioProjects/pos_system/apps/api/tests/Feature/CompetitorIntelligenceMarketOpportunityTest.php" tests="5" assertions="24" errors="0" failures="0" skipped="0" time="0.188669">
        <testcase name="test_price_gap_volume_exposure_is_factual_not_lost_revenue" file="/Users/gentianbeqiri/StudioProjects/pos_system/apps/api/tests/Feature/CompetitorIntelligenceMarketOpportunityTest.php" line="35" class="Tests\Feature\CompetitorIntelligenceMarketOpportunityTest" classname="Tests.Feature.CompetitorIntelligenceMarketOpportunityTest" assertions="6" time="0.036986"/>
        <testcase name="test_negative_stock_is_exposed_not_clamped" file="/Users/gentianbeqiri/StudioProjects/pos_system/apps/api/tests/Feature/CompetitorIntelligenceMarketOpportunityTest.php" line="99" class="Tests\Feature\CompetitorIntelligenceMarketOpportunityTest" classname="Tests.Feature.CompetitorIntelligenceMarketOpportunityTest" assertions="3" time="0.034668"/>
        <testcase name="test_user_without_reports_permission_does_not_receive_sales_context" file="/Users/gentianbeqiri/StudioProjects/pos_system/apps/api/tests/Feature/CompetitorIntelligenceMarketOpportunityTest.php" line="124" class="Tests\Feature\CompetitorIntelligenceMarketOpportunityTest" classname="Tests.Feature.CompetitorIntelligenceMarketOpportunityTest" assertions="3" time="0.031639"/>
        <testcase name="test_recent_sales_filter_summary_matches_list_total" file="/Users/gentianbeqiri/StudioProjects/pos_system/apps/api/tests/Feature/CompetitorIntelligenceMarketOpportunityTest.php" line="139" class="Tests\Feature\CompetitorIntelligenceMarketOpportunityTest" classname="Tests.Feature.CompetitorIntelligenceMarketOpportunityTest" assertions="4" time="0.046830"/>
        <testcase name="test_market_opportunity_endpoints_do_not_mutate_operational_data" file="/Users/gentianbeqiri/StudioProjects/pos_system/apps/api/tests/Feature/CompetitorIntelligenceMarketOpportunityTest.php" line="174" class="Tests\Feature\CompetitorIntelligenceMarketOpportunityTest" classname="Tests.Feature.CompetitorIntelligenceMarketOpportunityTest" assertions="8" time="0.038545"/>
      </testsuite>
      <testsuite name="Tests\Feature\CompetitorIntelligenceMatchingAdminTest" file="/Users/gentianbeqiri/StudioProjects/pos_system/apps/api/tests/Feature/CompetitorIntelligenceMatchingAdminTest.php" tests="13" assertions="39" errors="0" failures="0" skipped="0" time="0.458114">
        <testcase name="test_summary_requires_permission" file="/Users/gentianbeqiri/StudioProjects/pos_system/apps/api/tests/Feature/CompetitorIntelligenceMatchingAdminTest.php" line="29" class="Tests\Feature\CompetitorIntelligenceMatchingAdminTest" classname="Tests.Feature.CompetitorIntelligenceMatchingAdminTest" assertions="5" time="0.033209"/>
        <testcase name="test_cashier_forbidden" file="/Users/gentianbeqiri/StudioProjects/pos_system/apps/api/tests/Feature/CompetitorIntelligenceMatchingAdminTest.php" line="39" class="Tests\Feature\CompetitorIntelligenceMatchingAdminTest" classname="Tests.Feature.CompetitorIntelligenceMatchingAdminTest" assertions="1" time="0.029765"/>
        <testcase name="test_pagination_and_status_filter" file="/Users/gentianbeqiri/StudioProjects/pos_system/apps/api/tests/Feature/CompetitorIntelligenceMatchingAdminTest.php" line="47" class="Tests\Feature\CompetitorIntelligenceMatchingAdminTest" classname="Tests.Feature.CompetitorIntelligenceMatchingAdminTest" assertions="3" time="0.035920"/>
        <testcase name="test_verify_and_idempotent" file="/Users/gentianbeqiri/StudioProjects/pos_system/apps/api/tests/Feature/CompetitorIntelligenceMatchingAdminTest.php" line="70" class="Tests\Feature\CompetitorIntelligenceMatchingAdminTest" classname="Tests.Feature.CompetitorIntelligenceMatchingAdminTest" assertions="2" time="0.035915"/>
        <testcase name="test_verify_conflict_when_verified_exists" file="/Users/gentianbeqiri/StudioProjects/pos_system/apps/api/tests/Feature/CompetitorIntelligenceMatchingAdminTest.php" line="88" class="Tests\Feature\CompetitorIntelligenceMatchingAdminTest" classname="Tests.Feature.CompetitorIntelligenceMatchingAdminTest" assertions="1" time="0.033264"/>
        <testcase name="test_manual_map_other_business_product_not_found" file="/Users/gentianbeqiri/StudioProjects/pos_system/apps/api/tests/Feature/CompetitorIntelligenceMatchingAdminTest.php" line="113" class="Tests\Feature\CompetitorIntelligenceMatchingAdminTest" classname="Tests.Feature.CompetitorIntelligenceMatchingAdminTest" assertions="1" time="0.046511"/>
        <testcase name="test_reject_and_repeated_reject" file="/Users/gentianbeqiri/StudioProjects/pos_system/apps/api/tests/Feature/CompetitorIntelligenceMatchingAdminTest.php" line="127" class="Tests\Feature\CompetitorIntelligenceMatchingAdminTest" classname="Tests.Feature.CompetitorIntelligenceMatchingAdminTest" assertions="2" time="0.034803"/>
        <testcase name="test_unlink_verified_mapping" file="/Users/gentianbeqiri/StudioProjects/pos_system/apps/api/tests/Feature/CompetitorIntelligenceMatchingAdminTest.php" line="148" class="Tests\Feature\CompetitorIntelligenceMatchingAdminTest" classname="Tests.Feature.CompetitorIntelligenceMatchingAdminTest" assertions="2" time="0.032713"/>
        <testcase name="test_detail_includes_evaluation" file="/Users/gentianbeqiri/StudioProjects/pos_system/apps/api/tests/Feature/CompetitorIntelligenceMatchingAdminTest.php" line="173" class="Tests\Feature\CompetitorIntelligenceMatchingAdminTest" classname="Tests.Feature.CompetitorIntelligenceMatchingAdminTest" assertions="5" time="0.033196"/>
        <testcase name="test_bulk_ean_verify" file="/Users/gentianbeqiri/StudioProjects/pos_system/apps/api/tests/Feature/CompetitorIntelligenceMatchingAdminTest.php" line="185" class="Tests\Feature\CompetitorIntelligenceMatchingAdminTest" classname="Tests.Feature.CompetitorIntelligenceMatchingAdminTest" assertions="9" time="0.037189"/>
        <testcase name="test_bulk_ean_scan_without_ids" file="/Users/gentianbeqiri/StudioProjects/pos_system/apps/api/tests/Feature/CompetitorIntelligenceMatchingAdminTest.php" line="204" class="Tests\Feature\CompetitorIntelligenceMatchingAdminTest" classname="Tests.Feature.CompetitorIntelligenceMatchingAdminTest" assertions="2" time="0.034567"/>
        <testcase name="test_run_matching_concurrent_returns_409" file="/Users/gentianbeqiri/StudioProjects/pos_system/apps/api/tests/Feature/CompetitorIntelligenceMatchingAdminTest.php" line="220" class="Tests\Feature\CompetitorIntelligenceMatchingAdminTest" classname="Tests.Feature.CompetitorIntelligenceMatchingAdminTest" assertions="1" time="0.031566"/>
        <testcase name="test_admin_mutations_do_not_change_catalog" file="/Users/gentianbeqiri/StudioProjects/pos_system/apps/api/tests/Feature/CompetitorIntelligenceMatchingAdminTest.php" line="237" class="Tests\Feature\CompetitorIntelligenceMatchingAdminTest" classname="Tests.Feature.CompetitorIntelligenceMatchingAdminTest" assertions="5" time="0.039498"/>
      </testsuite>
      <testsuite name="Tests\Feature\CompetitorIntelligenceMatchingReviewTest" file="/Users/gentianbeqiri/StudioProjects/pos_system/apps/api/tests/Feature/CompetitorIntelligenceMatchingReviewTest.php" tests="14" assertions="70" errors="0" failures="0" skipped="0" time="0.515878">
        <testcase name="test_detail_returns_at_most_five_suggestions" file="/Users/gentianbeqiri/StudioProjects/pos_system/apps/api/tests/Feature/CompetitorIntelligenceMatchingReviewTest.php" line="31" class="Tests\Feature\CompetitorIntelligenceMatchingReviewTest" classname="Tests.Feature.CompetitorIntelligenceMatchingReviewTest" assertions="13" time="0.040529"/>
        <testcase name="test_catalog_search_by_name_sku_and_barcode" file="/Users/gentianbeqiri/StudioProjects/pos_system/apps/api/tests/Feature/CompetitorIntelligenceMatchingReviewTest.php" line="53" class="Tests\Feature\CompetitorIntelligenceMatchingReviewTest" classname="Tests.Feature.CompetitorIntelligenceMatchingReviewTest" assertions="6" time="0.036483"/>
        <testcase name="test_catalog_search_finds_latin_catalog_from_cyrillic_query" file="/Users/gentianbeqiri/StudioProjects/pos_system/apps/api/tests/Feature/CompetitorIntelligenceMatchingReviewTest.php" line="80" class="Tests\Feature\CompetitorIntelligenceMatchingReviewTest" classname="Tests.Feature.CompetitorIntelligenceMatchingReviewTest" assertions="2" time="0.032740"/>
        <testcase name="test_bejk_cyrillic_detail_returns_pizza_as_top_suggestion" file="/Users/gentianbeqiri/StudioProjects/pos_system/apps/api/tests/Feature/CompetitorIntelligenceMatchingReviewTest.php" line="93" class="Tests\Feature\CompetitorIntelligenceMatchingReviewTest" classname="Tests.Feature.CompetitorIntelligenceMatchingReviewTest" assertions="5" time="0.037471"/>
        <testcase name="test_validate_selection_is_read_only" file="/Users/gentianbeqiri/StudioProjects/pos_system/apps/api/tests/Feature/CompetitorIntelligenceMatchingReviewTest.php" line="113" class="Tests\Feature\CompetitorIntelligenceMatchingReviewTest" classname="Tests.Feature.CompetitorIntelligenceMatchingReviewTest" assertions="8" time="0.033433"/>
        <testcase name="test_validate_selection_reports_brand_mismatch_warning" file="/Users/gentianbeqiri/StudioProjects/pos_system/apps/api/tests/Feature/CompetitorIntelligenceMatchingReviewTest.php" line="137" class="Tests\Feature\CompetitorIntelligenceMatchingReviewTest" classname="Tests.Feature.CompetitorIntelligenceMatchingReviewTest" assertions="2" time="0.033445"/>
        <testcase name="test_confirm_creates_mapping_without_product_mutation" file="/Users/gentianbeqiri/StudioProjects/pos_system/apps/api/tests/Feature/CompetitorIntelligenceMatchingReviewTest.php" line="152" class="Tests\Feature\CompetitorIntelligenceMatchingReviewTest" classname="Tests.Feature.CompetitorIntelligenceMatchingReviewTest" assertions="3" time="0.035181"/>
        <testcase name="test_verified_mapping_priority_over_suggestions" file="/Users/gentianbeqiri/StudioProjects/pos_system/apps/api/tests/Feature/CompetitorIntelligenceMatchingReviewTest.php" line="178" class="Tests\Feature\CompetitorIntelligenceMatchingReviewTest" classname="Tests.Feature.CompetitorIntelligenceMatchingReviewTest" assertions="4" time="0.036857"/>
        <testcase name="test_per_pair_reject_removes_only_that_suggestion" file="/Users/gentianbeqiri/StudioProjects/pos_system/apps/api/tests/Feature/CompetitorIntelligenceMatchingReviewTest.php" line="206" class="Tests\Feature\CompetitorIntelligenceMatchingReviewTest" classname="Tests.Feature.CompetitorIntelligenceMatchingReviewTest" assertions="5" time="0.040960"/>
        <testcase name="test_catalog_search_pagination" file="/Users/gentianbeqiri/StudioProjects/pos_system/apps/api/tests/Feature/CompetitorIntelligenceMatchingReviewTest.php" line="240" class="Tests\Feature\CompetitorIntelligenceMatchingReviewTest" classname="Tests.Feature.CompetitorIntelligenceMatchingReviewTest" assertions="6" time="0.037406"/>
        <testcase name="test_normal_confirm_audit_without_override_flags" file="/Users/gentianbeqiri/StudioProjects/pos_system/apps/api/tests/Feature/CompetitorIntelligenceMatchingReviewTest.php" line="263" class="Tests\Feature\CompetitorIntelligenceMatchingReviewTest" classname="Tests.Feature.CompetitorIntelligenceMatchingReviewTest" assertions="3" time="0.037583"/>
        <testcase name="test_warning_confirm_requires_explicit_override" file="/Users/gentianbeqiri/StudioProjects/pos_system/apps/api/tests/Feature/CompetitorIntelligenceMatchingReviewTest.php" line="286" class="Tests\Feature\CompetitorIntelligenceMatchingReviewTest" classname="Tests.Feature.CompetitorIntelligenceMatchingReviewTest" assertions="5" time="0.036280"/>
        <testcase name="test_false_override_rejected_when_no_server_warning" file="/Users/gentianbeqiri/StudioProjects/pos_system/apps/api/tests/Feature/CompetitorIntelligenceMatchingReviewTest.php" line="316" class="Tests\Feature\CompetitorIntelligenceMatchingReviewTest" classname="Tests.Feature.CompetitorIntelligenceMatchingReviewTest" assertions="1" time="0.033279"/>
        <testcase name="test_full_mapping_flow_preserves_operational_product_snapshot" file="/Users/gentianbeqiri/StudioProjects/pos_system/apps/api/tests/Feature/CompetitorIntelligenceMatchingReviewTest.php" line="333" class="Tests\Feature\CompetitorIntelligenceMatchingReviewTest" classname="Tests.Feature.CompetitorIntelligenceMatchingReviewTest" assertions="7" time="0.044231"/>
      </testsuite>
      <testsuite name="Tests\Feature\CompetitorIntelligenceMaterializeCompetitorFilterTest" file="/Users/gentianbeqiri/StudioProjects/pos_system/apps/api/tests/Feature/CompetitorIntelligenceMaterializeCompetitorFilterTest.php" tests="1" assertions="2" errors="0" failures="0" skipped="0" time="0.009967">
        <testcase name="test_materialize_observations_respects_competitor_filter" file="/Users/gentianbeqiri/StudioProjects/pos_system/apps/api/tests/Feature/CompetitorIntelligenceMaterializeCompetitorFilterTest.php" line="17" class="Tests\Feature\CompetitorIntelligenceMaterializeCompetitorFilterTest" classname="Tests.Feature.CompetitorIntelligenceMaterializeCompetitorFilterTest" assertions="2" time="0.009967"/>
      </testsuite>
      <testsuite name="Tests\Feature\CompetitorIntelligenceMlMaterializeFeaturesTest" file="/Users/gentianbeqiri/StudioProjects/pos_system/apps/api/tests/Feature/CompetitorIntelligenceMlMaterializeFeaturesTest.php" tests="4" assertions="12" errors="0" failures="0" skipped="0" time="0.174912">
        <testcase name="test_materialize_skips_null_product_id_without_aborting_batch" file="/Users/gentianbeqiri/StudioProjects/pos_system/apps/api/tests/Feature/CompetitorIntelligenceMlMaterializeFeaturesTest.php" line="31" class="Tests\Feature\CompetitorIntelligenceMlMaterializeFeaturesTest" classname="Tests.Feature.CompetitorIntelligenceMlMaterializeFeaturesTest" assertions="6" time="0.040231"/>
        <testcase name="test_materialize_is_idempotent_on_rerun" file="/Users/gentianbeqiri/StudioProjects/pos_system/apps/api/tests/Feature/CompetitorIntelligenceMlMaterializeFeaturesTest.php" line="60" class="Tests\Feature\CompetitorIntelligenceMlMaterializeFeaturesTest" classname="Tests.Feature.CompetitorIntelligenceMlMaterializeFeaturesTest" assertions="3" time="0.057357"/>
        <testcase name="test_default_window_uses_configured_lookback_not_unbounded" file="/Users/gentianbeqiri/StudioProjects/pos_system/apps/api/tests/Feature/CompetitorIntelligenceMlMaterializeFeaturesTest.php" line="78" class="Tests\Feature\CompetitorIntelligenceMlMaterializeFeaturesTest" classname="Tests.Feature.CompetitorIntelligenceMlMaterializeFeaturesTest" assertions="1" time="0.025780"/>
        <testcase name="test_materialize_does_not_write_other_business_features" file="/Users/gentianbeqiri/StudioProjects/pos_system/apps/api/tests/Feature/CompetitorIntelligenceMlMaterializeFeaturesTest.php" line="85" class="Tests\Feature\CompetitorIntelligenceMlMaterializeFeaturesTest" classname="Tests.Feature.CompetitorIntelligenceMlMaterializeFeaturesTest" assertions="2" time="0.051544"/>
      </testsuite>
      <testsuite name="Tests\Feature\CompetitorIntelligenceMlPredictTest" file="/Users/gentianbeqiri/StudioProjects/pos_system/apps/api/tests/Feature/CompetitorIntelligenceMlPredictTest.php" tests="15" assertions="70" errors="0" failures="0" skipped="0" time="0.690207">
        <testcase name="test_dry_run_writes_nothing" file="/Users/gentianbeqiri/StudioProjects/pos_system/apps/api/tests/Feature/CompetitorIntelligenceMlPredictTest.php" line="37" class="Tests\Feature\CompetitorIntelligenceMlPredictTest" classname="Tests.Feature.CompetitorIntelligenceMlPredictTest" assertions="2" time="0.046229"/>
        <testcase name="test_no_champion_blocks_cleanly" file="/Users/gentianbeqiri/StudioProjects/pos_system/apps/api/tests/Feature/CompetitorIntelligenceMlPredictTest.php" line="52" class="Tests\Feature\CompetitorIntelligenceMlPredictTest" classname="Tests.Feature.CompetitorIntelligenceMlPredictTest" assertions="2" time="0.039278"/>
        <testcase name="test_insufficient_history_product_skipped_in_batch" file="/Users/gentianbeqiri/StudioProjects/pos_system/apps/api/tests/Feature/CompetitorIntelligenceMlPredictTest.php" line="63" class="Tests\Feature\CompetitorIntelligenceMlPredictTest" classname="Tests.Feature.CompetitorIntelligenceMlPredictTest" assertions="2" time="0.046838"/>
        <testcase name="test_seven_days_produces_seven_rows_per_product" file="/Users/gentianbeqiri/StudioProjects/pos_system/apps/api/tests/Feature/CompetitorIntelligenceMlPredictTest.php" line="88" class="Tests\Feature\CompetitorIntelligenceMlPredictTest" classname="Tests.Feature.CompetitorIntelligenceMlPredictTest" assertions="47" time="0.046677"/>
        <testcase name="test_rerun_is_idempotent" file="/Users/gentianbeqiri/StudioProjects/pos_system/apps/api/tests/Feature/CompetitorIntelligenceMlPredictTest.php" line="120" class="Tests\Feature\CompetitorIntelligenceMlPredictTest" classname="Tests.Feature.CompetitorIntelligenceMlPredictTest" assertions="1" time="0.047915"/>
        <testcase name="test_null_location_scope_does_not_duplicate" file="/Users/gentianbeqiri/StudioProjects/pos_system/apps/api/tests/Feature/CompetitorIntelligenceMlPredictTest.php" line="137" class="Tests\Feature\CompetitorIntelligenceMlPredictTest" classname="Tests.Feature.CompetitorIntelligenceMlPredictTest" assertions="1" time="0.052732"/>
        <testcase name="test_tenant_isolation" file="/Users/gentianbeqiri/StudioProjects/pos_system/apps/api/tests/Feature/CompetitorIntelligenceMlPredictTest.php" line="156" class="Tests\Feature\CompetitorIntelligenceMlPredictTest" classname="Tests.Feature.CompetitorIntelligenceMlPredictTest" assertions="2" time="0.070519"/>
        <testcase name="test_resource_guard_blocks_generation" file="/Users/gentianbeqiri/StudioProjects/pos_system/apps/api/tests/Feature/CompetitorIntelligenceMlPredictTest.php" line="169" class="Tests\Feature\CompetitorIntelligenceMlPredictTest" classname="Tests.Feature.CompetitorIntelligenceMlPredictTest" assertions="2" time="0.050030"/>
        <testcase name="test_days_validation" file="/Users/gentianbeqiri/StudioProjects/pos_system/apps/api/tests/Feature/CompetitorIntelligenceMlPredictTest.php" line="190" class="Tests\Feature\CompetitorIntelligenceMlPredictTest" classname="Tests.Feature.CompetitorIntelligenceMlPredictTest" assertions="1" time="0.040606"/>
        <testcase name="test_limit_caps_products" file="/Users/gentianbeqiri/StudioProjects/pos_system/apps/api/tests/Feature/CompetitorIntelligenceMlPredictTest.php" line="200" class="Tests\Feature\CompetitorIntelligenceMlPredictTest" classname="Tests.Feature.CompetitorIntelligenceMlPredictTest" assertions="1" time="0.053718"/>
        <testcase name="test_no_operational_product_mutation" file="/Users/gentianbeqiri/StudioProjects/pos_system/apps/api/tests/Feature/CompetitorIntelligenceMlPredictTest.php" line="211" class="Tests\Feature\CompetitorIntelligenceMlPredictTest" classname="Tests.Feature.CompetitorIntelligenceMlPredictTest" assertions="1" time="0.045644"/>
        <testcase name="test_prediction_job_uses_swiftpos_ml_queue" file="/Users/gentianbeqiri/StudioProjects/pos_system/apps/api/tests/Feature/CompetitorIntelligenceMlPredictTest.php" line="224" class="Tests\Feature\CompetitorIntelligenceMlPredictTest" classname="Tests.Feature.CompetitorIntelligenceMlPredictTest" assertions="1" time="0.026490"/>
        <testcase name="test_horizon_semantics_unit" file="/Users/gentianbeqiri/StudioProjects/pos_system/apps/api/tests/Feature/CompetitorIntelligenceMlPredictTest.php" line="230" class="Tests\Feature\CompetitorIntelligenceMlPredictTest" classname="Tests.Feature.CompetitorIntelligenceMlPredictTest" assertions="1" time="0.025919"/>
        <testcase name="test_lifetime_days_outside_inference_window_are_not_batch_selected" file="/Users/gentianbeqiri/StudioProjects/pos_system/apps/api/tests/Feature/CompetitorIntelligenceMlPredictTest.php" line="237" class="Tests\Feature\CompetitorIntelligenceMlPredictTest" classname="Tests.Feature.CompetitorIntelligenceMlPredictTest" assertions="4" time="0.051022"/>
        <testcase name="test_dry_run_expected_rows_match_selected_products" file="/Users/gentianbeqiri/StudioProjects/pos_system/apps/api/tests/Feature/CompetitorIntelligenceMlPredictTest.php" line="262" class="Tests\Feature\CompetitorIntelligenceMlPredictTest" classname="Tests.Feature.CompetitorIntelligenceMlPredictTest" assertions="2" time="0.046590"/>
      </testsuite>
      <testsuite name="Tests\Feature\CompetitorIntelligenceMlReadinessTest" file="/Users/gentianbeqiri/StudioProjects/pos_system/apps/api/tests/Feature/CompetitorIntelligenceMlReadinessTest.php" tests="12" assertions="22" errors="0" failures="0" skipped="0" time="0.878445">
        <testcase name="test_empty_dataset_not_ready_without_crash" file="/Users/gentianbeqiri/StudioProjects/pos_system/apps/api/tests/Feature/CompetitorIntelligenceMlReadinessTest.php" line="31" class="Tests\Feature\CompetitorIntelligenceMlReadinessTest" classname="Tests.Feature.CompetitorIntelligenceMlReadinessTest" assertions="3" time="0.030914"/>
        <testcase name="test_one_observation_per_product_not_elasticity_ready" file="/Users/gentianbeqiri/StudioProjects/pos_system/apps/api/tests/Feature/CompetitorIntelligenceMlReadinessTest.php" line="40" class="Tests\Feature\CompetitorIntelligenceMlReadinessTest" classname="Tests.Feature.CompetitorIntelligenceMlReadinessTest" assertions="2" time="0.164726"/>
        <testcase name="test_no_price_variation_not_elasticity_ready" file="/Users/gentianbeqiri/StudioProjects/pos_system/apps/api/tests/Feature/CompetitorIntelligenceMlReadinessTest.php" line="55" class="Tests\Feature\CompetitorIntelligenceMlReadinessTest" classname="Tests.Feature.CompetitorIntelligenceMlReadinessTest" assertions="1" time="0.133996"/>
        <testcase name="test_sufficient_price_variation_can_classify_ready" file="/Users/gentianbeqiri/StudioProjects/pos_system/apps/api/tests/Feature/CompetitorIntelligenceMlReadinessTest.php" line="66" class="Tests\Feature\CompetitorIntelligenceMlReadinessTest" classname="Tests.Feature.CompetitorIntelligenceMlReadinessTest" assertions="2" time="0.130829"/>
        <testcase name="test_intraday_excluded_from_strict_cohort" file="/Users/gentianbeqiri/StudioProjects/pos_system/apps/api/tests/Feature/CompetitorIntelligenceMlReadinessTest.php" line="77" class="Tests\Feature\CompetitorIntelligenceMlReadinessTest" classname="Tests.Feature.CompetitorIntelligenceMlReadinessTest" assertions="1" time="0.057069"/>
        <testcase name="test_overlap_excluded_from_strict_cohort" file="/Users/gentianbeqiri/StudioProjects/pos_system/apps/api/tests/Feature/CompetitorIntelligenceMlReadinessTest.php" line="88" class="Tests\Feature\CompetitorIntelligenceMlReadinessTest" classname="Tests.Feature.CompetitorIntelligenceMlReadinessTest" assertions="1" time="0.059756"/>
        <testcase name="test_bxgy_not_ready_for_clean_modeling" file="/Users/gentianbeqiri/StudioProjects/pos_system/apps/api/tests/Feature/CompetitorIntelligenceMlReadinessTest.php" line="117" class="Tests\Feature\CompetitorIntelligenceMlReadinessTest" classname="Tests.Feature.CompetitorIntelligenceMlReadinessTest" assertions="1" time="0.031040"/>
        <testcase name="test_historical_stock_coverage_zero" file="/Users/gentianbeqiri/StudioProjects/pos_system/apps/api/tests/Feature/CompetitorIntelligenceMlReadinessTest.php" line="123" class="Tests\Feature\CompetitorIntelligenceMlReadinessTest" classname="Tests.Feature.CompetitorIntelligenceMlReadinessTest" assertions="2" time="0.057530"/>
        <testcase name="test_simulator_does_not_create_measurements" file="/Users/gentianbeqiri/StudioProjects/pos_system/apps/api/tests/Feature/CompetitorIntelligenceMlReadinessTest.php" line="133" class="Tests\Feature\CompetitorIntelligenceMlReadinessTest" classname="Tests.Feature.CompetitorIntelligenceMlReadinessTest" assertions="1" time="0.036449"/>
        <testcase name="test_tenancy_isolation" file="/Users/gentianbeqiri/StudioProjects/pos_system/apps/api/tests/Feature/CompetitorIntelligenceMlReadinessTest.php" line="146" class="Tests\Feature\CompetitorIntelligenceMlReadinessTest" classname="Tests.Feature.CompetitorIntelligenceMlReadinessTest" assertions="2" time="0.069412"/>
        <testcase name="test_read_only_no_database_writes" file="/Users/gentianbeqiri/StudioProjects/pos_system/apps/api/tests/Feature/CompetitorIntelligenceMlReadinessTest.php" line="158" class="Tests\Feature\CompetitorIntelligenceMlReadinessTest" classname="Tests.Feature.CompetitorIntelligenceMlReadinessTest" assertions="5" time="0.065732"/>
        <testcase name="test_api_requires_pi_permission" file="/Users/gentianbeqiri/StudioProjects/pos_system/apps/api/tests/Feature/CompetitorIntelligenceMlReadinessTest.php" line="177" class="Tests\Feature\CompetitorIntelligenceMlReadinessTest" classname="Tests.Feature.CompetitorIntelligenceMlReadinessTest" assertions="1" time="0.040991"/>
      </testsuite>
      <testsuite name="Tests\Feature\CompetitorIntelligenceMlTrainCommandTest" file="/Users/gentianbeqiri/StudioProjects/pos_system/apps/api/tests/Feature/CompetitorIntelligenceMlTrainCommandTest.php" tests="7" assertions="19" errors="0" failures="0" skipped="0" time="0.262708">
        <testcase name="test_manual_training_blocked_when_readiness_gate_rejects" file="/Users/gentianbeqiri/StudioProjects/pos_system/apps/api/tests/Feature/CompetitorIntelligenceMlTrainCommandTest.php" line="32" class="Tests\Feature\CompetitorIntelligenceMlTrainCommandTest" classname="Tests.Feature.CompetitorIntelligenceMlTrainCommandTest" assertions="4" time="0.045589"/>
        <testcase name="test_manual_training_allowed_when_readiness_and_resource_permit" file="/Users/gentianbeqiri/StudioProjects/pos_system/apps/api/tests/Feature/CompetitorIntelligenceMlTrainCommandTest.php" line="56" class="Tests\Feature\CompetitorIntelligenceMlTrainCommandTest" classname="Tests.Feature.CompetitorIntelligenceMlTrainCommandTest" assertions="4" time="0.045038"/>
        <testcase name="test_force_bypasses_readiness_label_only" file="/Users/gentianbeqiri/StudioProjects/pos_system/apps/api/tests/Feature/CompetitorIntelligenceMlTrainCommandTest.php" line="107" class="Tests\Feature\CompetitorIntelligenceMlTrainCommandTest" classname="Tests.Feature.CompetitorIntelligenceMlTrainCommandTest" assertions="3" time="0.039189"/>
        <testcase name="test_force_cannot_bypass_resource_guard" file="/Users/gentianbeqiri/StudioProjects/pos_system/apps/api/tests/Feature/CompetitorIntelligenceMlTrainCommandTest.php" line="168" class="Tests\Feature\CompetitorIntelligenceMlTrainCommandTest" classname="Tests.Feature.CompetitorIntelligenceMlTrainCommandTest" assertions="2" time="0.039740"/>
        <testcase name="test_force_cannot_enable_blocked_promotion_algorithm_tier" file="/Users/gentianbeqiri/StudioProjects/pos_system/apps/api/tests/Feature/CompetitorIntelligenceMlTrainCommandTest.php" line="209" class="Tests\Feature\CompetitorIntelligenceMlTrainCommandTest" classname="Tests.Feature.CompetitorIntelligenceMlTrainCommandTest" assertions="3" time="0.026136"/>
        <testcase name="test_dry_run_performs_zero_ml_writes" file="/Users/gentianbeqiri/StudioProjects/pos_system/apps/api/tests/Feature/CompetitorIntelligenceMlTrainCommandTest.php" line="238" class="Tests\Feature\CompetitorIntelligenceMlTrainCommandTest" classname="Tests.Feature.CompetitorIntelligenceMlTrainCommandTest" assertions="2" time="0.040895"/>
        <testcase name="test_command_rejects_unknown_business" file="/Users/gentianbeqiri/StudioProjects/pos_system/apps/api/tests/Feature/CompetitorIntelligenceMlTrainCommandTest.php" line="253" class="Tests\Feature\CompetitorIntelligenceMlTrainCommandTest" classname="Tests.Feature.CompetitorIntelligenceMlTrainCommandTest" assertions="1" time="0.026120"/>
      </testsuite>
      <testsuite name="Tests\Feature\CompetitorIntelligenceMlWorkloadIsolationTest" file="/Users/gentianbeqiri/StudioProjects/pos_system/apps/api/tests/Feature/CompetitorIntelligenceMlWorkloadIsolationTest.php" tests="10" assertions="14" errors="0" failures="0" skipped="2" time="0.307670">
        <testcase name="test_ml_jobs_use_swiftpos_ml_queue" file="/Users/gentianbeqiri/StudioProjects/pos_system/apps/api/tests/Feature/CompetitorIntelligenceMlWorkloadIsolationTest.php" line="35" class="Tests\Feature\CompetitorIntelligenceMlWorkloadIsolationTest" classname="Tests.Feature.CompetitorIntelligenceMlWorkloadIsolationTest" assertions="3" time="0.026011"/>
        <testcase name="test_nested_training_dispatch_stays_on_swiftpos_ml" file="/Users/gentianbeqiri/StudioProjects/pos_system/apps/api/tests/Feature/CompetitorIntelligenceMlWorkloadIsolationTest.php" line="46" class="Tests\Feature\CompetitorIntelligenceMlWorkloadIsolationTest" classname="Tests.Feature.CompetitorIntelligenceMlWorkloadIsolationTest" assertions="1" time="0.040806"/>
        <testcase name="test_dispatched_ml_jobs_are_pushed_to_swiftpos_ml_not_default" file="/Users/gentianbeqiri/StudioProjects/pos_system/apps/api/tests/Feature/CompetitorIntelligenceMlWorkloadIsolationTest.php" line="58" class="Tests\Feature\CompetitorIntelligenceMlWorkloadIsolationTest" classname="Tests.Feature.CompetitorIntelligenceMlWorkloadIsolationTest" assertions="2" time="0.026482"/>
        <testcase name="test_training_job_has_business_scoped_without_overlapping_middleware" file="/Users/gentianbeqiri/StudioProjects/pos_system/apps/api/tests/Feature/CompetitorIntelligenceMlWorkloadIsolationTest.php" line="66" class="Tests\Feature\CompetitorIntelligenceMlWorkloadIsolationTest" classname="Tests.Feature.CompetitorIntelligenceMlWorkloadIsolationTest" assertions="1" time="0.025634"/>
        <testcase name="test_resource_guard_blocks_under_simulated_load_pressure" file="/Users/gentianbeqiri/StudioProjects/pos_system/apps/api/tests/Feature/CompetitorIntelligenceMlWorkloadIsolationTest.php" line="73" class="Tests\Feature\CompetitorIntelligenceMlWorkloadIsolationTest" classname="Tests.Feature.CompetitorIntelligenceMlWorkloadIsolationTest" assertions="0" time="0.026877">
          <skipped/>
        </testcase>
        <testcase name="test_partially_ready_baseline_algorithm_filter_excludes_promotion_ml" file="/Users/gentianbeqiri/StudioProjects/pos_system/apps/api/tests/Feature/CompetitorIntelligenceMlWorkloadIsolationTest.php" line="94" class="Tests\Feature\CompetitorIntelligenceMlWorkloadIsolationTest" classname="Tests.Feature.CompetitorIntelligenceMlWorkloadIsolationTest" assertions="1" time="0.025754"/>
        <testcase name="test_resource_guard_fails_safe_when_host_metrics_unreliable" file="/Users/gentianbeqiri/StudioProjects/pos_system/apps/api/tests/Feature/CompetitorIntelligenceMlWorkloadIsolationTest.php" line="104" class="Tests\Feature\CompetitorIntelligenceMlWorkloadIsolationTest" classname="Tests.Feature.CompetitorIntelligenceMlWorkloadIsolationTest" assertions="2" time="0.028581"/>
        <testcase name="test_resource_guard_allows_when_load_and_memory_healthy" file="/Users/gentianbeqiri/StudioProjects/pos_system/apps/api/tests/Feature/CompetitorIntelligenceMlWorkloadIsolationTest.php" line="129" class="Tests\Feature\CompetitorIntelligenceMlWorkloadIsolationTest" classname="Tests.Feature.CompetitorIntelligenceMlWorkloadIsolationTest" assertions="0" time="0.025447">
          <skipped/>
        </testcase>
        <testcase name="test_train_job_skips_when_readiness_not_ready_without_touching_products" file="/Users/gentianbeqiri/StudioProjects/pos_system/apps/api/tests/Feature/CompetitorIntelligenceMlWorkloadIsolationTest.php" line="149" class="Tests\Feature\CompetitorIntelligenceMlWorkloadIsolationTest" classname="Tests.Feature.CompetitorIntelligenceMlWorkloadIsolationTest" assertions="2" time="0.041681"/>
        <testcase name="test_sku_metrics_align_analytics_with_net_sales_days" file="/Users/gentianbeqiri/StudioProjects/pos_system/apps/api/tests/Feature/CompetitorIntelligenceMlWorkloadIsolationTest.php" line="164" class="Tests\Feature\CompetitorIntelligenceMlWorkloadIsolationTest" classname="Tests.Feature.CompetitorIntelligenceMlWorkloadIsolationTest" assertions="2" time="0.040397"/>
      </testsuite>
      <testsuite name="Tests\Feature\CompetitorIntelligenceNegativeProviderCacheTest" file="/Users/gentianbeqiri/StudioProjects/pos_system/apps/api/tests/Feature/CompetitorIntelligenceNegativeProviderCacheTest.php" tests="1" assertions="3" errors="0" failures="0" skipped="0" time="0.028991">
        <testcase name="test_cached_no_result_skips_repeat_off_http_request" file="/Users/gentianbeqiri/StudioProjects/pos_system/apps/api/tests/Feature/CompetitorIntelligenceNegativeProviderCacheTest.php" line="32" class="Tests\Feature\CompetitorIntelligenceNegativeProviderCacheTest" classname="Tests.Feature.CompetitorIntelligenceNegativeProviderCacheTest" assertions="3" time="0.028991"/>
      </testsuite>
      <testsuite name="Tests\Feature\CompetitorIntelligenceOperationalDemandReadinessTest" file="/Users/gentianbeqiri/StudioProjects/pos_system/apps/api/tests/Feature/CompetitorIntelligenceOperationalDemandReadinessTest.php" tests="1" assertions="4" errors="0" failures="0" skipped="0" time="0.043994">
        <testcase name="test_promotion_signal_does_not_query_promotion_targets_product_id" file="/Users/gentianbeqiri/StudioProjects/pos_system/apps/api/tests/Feature/CompetitorIntelligenceOperationalDemandReadinessTest.php" line="28" class="Tests\Feature\CompetitorIntelligenceOperationalDemandReadinessTest" classname="Tests.Feature.CompetitorIntelligenceOperationalDemandReadinessTest" assertions="4" time="0.043994"/>
      </testsuite>
      <testsuite name="Tests\Feature\CompetitorIntelligenceOpportunityRecommendationsTest" file="/Users/gentianbeqiri/StudioProjects/pos_system/apps/api/tests/Feature/CompetitorIntelligenceOpportunityRecommendationsTest.php" tests="9" assertions="29" errors="0" failures="0" skipped="0" time="0.375705">
        <testcase name="test_market_alignment_positive_gp_review_candidate" file="/Users/gentianbeqiri/StudioProjects/pos_system/apps/api/tests/Feature/CompetitorIntelligenceOpportunityRecommendationsTest.php" line="35" class="Tests\Feature\CompetitorIntelligenceOpportunityRecommendationsTest" classname="Tests.Feature.CompetitorIntelligenceOpportunityRecommendationsTest" assertions="6" time="0.036774"/>
        <testcase name="test_below_wac_market_flags_negative_gp_not_match_language" file="/Users/gentianbeqiri/StudioProjects/pos_system/apps/api/tests/Feature/CompetitorIntelligenceOpportunityRecommendationsTest.php" line="51" class="Tests\Feature\CompetitorIntelligenceOpportunityRecommendationsTest" classname="Tests.Feature.CompetitorIntelligenceOpportunityRecommendationsTest" assertions="4" time="0.036479"/>
        <testcase name="test_price_below_market_does_not_recommend_raise" file="/Users/gentianbeqiri/StudioProjects/pos_system/apps/api/tests/Feature/CompetitorIntelligenceOpportunityRecommendationsTest.php" line="66" class="Tests\Feature\CompetitorIntelligenceOpportunityRecommendationsTest" classname="Tests.Feature.CompetitorIntelligenceOpportunityRecommendationsTest" assertions="4" time="0.037099"/>
        <testcase name="test_neutral_market_does_not_create_high_priority_noise" file="/Users/gentianbeqiri/StudioProjects/pos_system/apps/api/tests/Feature/CompetitorIntelligenceOpportunityRecommendationsTest.php" line="80" class="Tests\Feature\CompetitorIntelligenceOpportunityRecommendationsTest" classname="Tests.Feature.CompetitorIntelligenceOpportunityRecommendationsTest" assertions="3" time="0.039755"/>
        <testcase name="test_without_reports_permission_high_volume_type_absent" file="/Users/gentianbeqiri/StudioProjects/pos_system/apps/api/tests/Feature/CompetitorIntelligenceOpportunityRecommendationsTest.php" line="93" class="Tests\Feature\CompetitorIntelligenceOpportunityRecommendationsTest" classname="Tests.Feature.CompetitorIntelligenceOpportunityRecommendationsTest" assertions="3" time="0.044817"/>
        <testcase name="test_high_volume_filter_requires_reports_permission" file="/Users/gentianbeqiri/StudioProjects/pos_system/apps/api/tests/Feature/CompetitorIntelligenceOpportunityRecommendationsTest.php" line="110" class="Tests\Feature\CompetitorIntelligenceOpportunityRecommendationsTest" classname="Tests.Feature.CompetitorIntelligenceOpportunityRecommendationsTest" assertions="1" time="0.044595"/>
        <testcase name="test_summary_list_consistency_for_promo_pressure_filter" file="/Users/gentianbeqiri/StudioProjects/pos_system/apps/api/tests/Feature/CompetitorIntelligenceOpportunityRecommendationsTest.php" line="123" class="Tests\Feature\CompetitorIntelligenceOpportunityRecommendationsTest" classname="Tests.Feature.CompetitorIntelligenceOpportunityRecommendationsTest" assertions="3" time="0.041516"/>
        <testcase name="test_recommendations_do_not_mutate_operational_data" file="/Users/gentianbeqiri/StudioProjects/pos_system/apps/api/tests/Feature/CompetitorIntelligenceOpportunityRecommendationsTest.php" line="138" class="Tests\Feature\CompetitorIntelligenceOpportunityRecommendationsTest" classname="Tests.Feature.CompetitorIntelligenceOpportunityRecommendationsTest" assertions="4" time="0.048237"/>
        <testcase name="test_wrong_business_product_returns_404" file="/Users/gentianbeqiri/StudioProjects/pos_system/apps/api/tests/Feature/CompetitorIntelligenceOpportunityRecommendationsTest.php" line="151" class="Tests\Feature\CompetitorIntelligenceOpportunityRecommendationsTest" classname="Tests.Feature.CompetitorIntelligenceOpportunityRecommendationsTest" assertions="1" time="0.046434"/>
      </testsuite>
      <testsuite name="Tests\Feature\CompetitorIntelligencePerformanceClosureTest" file="/Users/gentianbeqiri/StudioProjects/pos_system/apps/api/tests/Feature/CompetitorIntelligencePerformanceClosureTest.php" tests="3" assertions="16" errors="0" failures="0" skipped="0" time="0.493932">
        <testcase name="test_spar_parser_smoke_scaling" file="/Users/gentianbeqiri/StudioProjects/pos_system/apps/api/tests/Feature/CompetitorIntelligencePerformanceClosureTest.php" line="39" class="Tests\Feature\CompetitorIntelligencePerformanceClosureTest" classname="Tests.Feature.CompetitorIntelligencePerformanceClosureTest" assertions="9" time="0.419636"/>
        <testcase name="test_kipper_parser_smoke_2500_rows" file="/Users/gentianbeqiri/StudioProjects/pos_system/apps/api/tests/Feature/CompetitorIntelligencePerformanceClosureTest.php" line="63" class="Tests\Feature\CompetitorIntelligencePerformanceClosureTest" classname="Tests.Feature.CompetitorIntelligencePerformanceClosureTest" assertions="4" time="0.017639"/>
        <testcase name="test_market_opportunities_query_counts_bounded" file="/Users/gentianbeqiri/StudioProjects/pos_system/apps/api/tests/Feature/CompetitorIntelligencePerformanceClosureTest.php" line="96" class="Tests\Feature\CompetitorIntelligencePerformanceClosureTest" classname="Tests.Feature.CompetitorIntelligencePerformanceClosureTest" assertions="3" time="0.056657"/>
      </testsuite>
      <testsuite name="Tests\Feature\CompetitorIntelligencePermissionsGrantTest" file="/Users/gentianbeqiri/StudioProjects/pos_system/apps/api/tests/Feature/CompetitorIntelligencePermissionsGrantTest.php" tests="2" assertions="4" errors="0" failures="0" skipped="0" time="0.057655">
        <testcase name="test_owner_role_includes_competitor_intelligence_permissions" file="/Users/gentianbeqiri/StudioProjects/pos_system/apps/api/tests/Feature/CompetitorIntelligencePermissionsGrantTest.php" line="19" class="Tests\Feature\CompetitorIntelligencePermissionsGrantTest" classname="Tests.Feature.CompetitorIntelligencePermissionsGrantTest" assertions="2" time="0.027589"/>
        <testcase name="test_auth_me_returns_competitor_intelligence_permissions_for_owner" file="/Users/gentianbeqiri/StudioProjects/pos_system/apps/api/tests/Feature/CompetitorIntelligencePermissionsGrantTest.php" line="30" class="Tests\Feature\CompetitorIntelligencePermissionsGrantTest" classname="Tests.Feature.CompetitorIntelligencePermissionsGrantTest" assertions="2" time="0.030067"/>
      </testsuite>
      <testsuite name="Tests\Feature\CompetitorIntelligencePhase9CompletionTest" file="/Users/gentianbeqiri/StudioProjects/pos_system/apps/api/tests/Feature/CompetitorIntelligencePhase9CompletionTest.php" tests="13" assertions="25" errors="0" failures="0" skipped="0" time="0.512023">
        <testcase name="test_readiness_report_includes_phase_8_canonical_learning_section" file="/Users/gentianbeqiri/StudioProjects/pos_system/apps/api/tests/Feature/CompetitorIntelligencePhase9CompletionTest.php" line="48" class="Tests\Feature\CompetitorIntelligencePhase9CompletionTest" classname="Tests.Feature.CompetitorIntelligencePhase9CompletionTest" assertions="2" time="0.040054"/>
        <testcase name="test_provisional_and_excluded_never_count_as_training_eligible" file="/Users/gentianbeqiri/StudioProjects/pos_system/apps/api/tests/Feature/CompetitorIntelligencePhase9CompletionTest.php" line="56" class="Tests\Feature\CompetitorIntelligencePhase9CompletionTest" classname="Tests.Feature.CompetitorIntelligencePhase9CompletionTest" assertions="3" time="0.030796"/>
        <testcase name="test_supervised_gate_blocks_without_sufficient_eligible_outcomes" file="/Users/gentianbeqiri/StudioProjects/pos_system/apps/api/tests/Feature/CompetitorIntelligencePhase9CompletionTest.php" line="76" class="Tests\Feature\CompetitorIntelligencePhase9CompletionTest" classname="Tests.Feature.CompetitorIntelligencePhase9CompletionTest" assertions="2" time="0.036020"/>
        <testcase name="test_temporal_integrity_detects_future_feature_leakage" file="/Users/gentianbeqiri/StudioProjects/pos_system/apps/api/tests/Feature/CompetitorIntelligencePhase9CompletionTest.php" line="89" class="Tests\Feature\CompetitorIntelligencePhase9CompletionTest" classname="Tests.Feature.CompetitorIntelligencePhase9CompletionTest" assertions="1" time="0.025947"/>
        <testcase name="test_backtest_chronological_split_avoids_label_leakage" file="/Users/gentianbeqiri/StudioProjects/pos_system/apps/api/tests/Feature/CompetitorIntelligencePhase9CompletionTest.php" line="100" class="Tests\Feature\CompetitorIntelligencePhase9CompletionTest" classname="Tests.Feature.CompetitorIntelligencePhase9CompletionTest" assertions="1" time="0.026206"/>
        <testcase name="test_demand_dataset_readiness_blocks_sparse_training" file="/Users/gentianbeqiri/StudioProjects/pos_system/apps/api/tests/Feature/CompetitorIntelligencePhase9CompletionTest.php" line="115" class="Tests\Feature\CompetitorIntelligencePhase9CompletionTest" classname="Tests.Feature.CompetitorIntelligencePhase9CompletionTest" assertions="2" time="0.038498"/>
        <testcase name="test_training_skipped_when_demand_dataset_not_ready" file="/Users/gentianbeqiri/StudioProjects/pos_system/apps/api/tests/Feature/CompetitorIntelligencePhase9CompletionTest.php" line="125" class="Tests\Feature\CompetitorIntelligencePhase9CompletionTest" classname="Tests.Feature.CompetitorIntelligencePhase9CompletionTest" assertions="2" time="0.038531"/>
        <testcase name="test_challenger_coordinator_blocks_automatic_training_without_dataset" file="/Users/gentianbeqiri/StudioProjects/pos_system/apps/api/tests/Feature/CompetitorIntelligencePhase9CompletionTest.php" line="133" class="Tests\Feature\CompetitorIntelligencePhase9CompletionTest" classname="Tests.Feature.CompetitorIntelligencePhase9CompletionTest" assertions="2" time="0.040724"/>
        <testcase name="test_successful_training_records_registry_provenance" file="/Users/gentianbeqiri/StudioProjects/pos_system/apps/api/tests/Feature/CompetitorIntelligencePhase9CompletionTest.php" line="141" class="Tests\Feature\CompetitorIntelligencePhase9CompletionTest" classname="Tests.Feature.CompetitorIntelligencePhase9CompletionTest" assertions="3" time="0.058364"/>
        <testcase name="test_failed_challenger_not_promoted_automatically" file="/Users/gentianbeqiri/StudioProjects/pos_system/apps/api/tests/Feature/CompetitorIntelligencePhase9CompletionTest.php" line="159" class="Tests\Feature\CompetitorIntelligencePhase9CompletionTest" classname="Tests.Feature.CompetitorIntelligencePhase9CompletionTest" assertions="2" time="0.057302"/>
        <testcase name="test_prediction_abstains_with_insufficient_history" file="/Users/gentianbeqiri/StudioProjects/pos_system/apps/api/tests/Feature/CompetitorIntelligencePhase9CompletionTest.php" line="184" class="Tests\Feature\CompetitorIntelligencePhase9CompletionTest" classname="Tests.Feature.CompetitorIntelligencePhase9CompletionTest" assertions="2" time="0.039025"/>
        <testcase name="test_materialization_and_training_do_not_mutate_operational_catalog" file="/Users/gentianbeqiri/StudioProjects/pos_system/apps/api/tests/Feature/CompetitorIntelligencePhase9CompletionTest.php" line="198" class="Tests\Feature\CompetitorIntelligencePhase9CompletionTest" classname="Tests.Feature.CompetitorIntelligencePhase9CompletionTest" assertions="2" time="0.051787"/>
        <testcase name="test_distinct_product_variants_in_canonical_learning_audit" file="/Users/gentianbeqiri/StudioProjects/pos_system/apps/api/tests/Feature/CompetitorIntelligencePhase9CompletionTest.php" line="215" class="Tests\Feature\CompetitorIntelligencePhase9CompletionTest" classname="Tests.Feature.CompetitorIntelligencePhase9CompletionTest" assertions="1" time="0.028768"/>
      </testsuite>
      <testsuite name="Tests\Feature\CompetitorIntelligencePhase9MlEngineTest" file="/Users/gentianbeqiri/StudioProjects/pos_system/apps/api/tests/Feature/CompetitorIntelligencePhase9MlEngineTest.php" tests="6" assertions="15" errors="0" failures="0" skipped="0" time="0.257840">
        <testcase name="test_ml_materialize_does_not_mutate_products" file="/Users/gentianbeqiri/StudioProjects/pos_system/apps/api/tests/Feature/CompetitorIntelligencePhase9MlEngineTest.php" line="36" class="Tests\Feature\CompetitorIntelligencePhase9MlEngineTest" classname="Tests.Feature.CompetitorIntelligencePhase9MlEngineTest" assertions="2" time="0.038818"/>
        <testcase name="test_backtest_uses_chronological_holdout_not_random" file="/Users/gentianbeqiri/StudioProjects/pos_system/apps/api/tests/Feature/CompetitorIntelligencePhase9MlEngineTest.php" line="52" class="Tests\Feature\CompetitorIntelligencePhase9MlEngineTest" classname="Tests.Feature.CompetitorIntelligencePhase9MlEngineTest" assertions="2" time="0.025858"/>
        <testcase name="test_failed_challenger_keeps_champion" file="/Users/gentianbeqiri/StudioProjects/pos_system/apps/api/tests/Feature/CompetitorIntelligencePhase9MlEngineTest.php" line="68" class="Tests\Feature\CompetitorIntelligencePhase9MlEngineTest" classname="Tests.Feature.CompetitorIntelligencePhase9MlEngineTest" assertions="3" time="0.038759"/>
        <testcase name="test_prediction_fallback_when_no_champion" file="/Users/gentianbeqiri/StudioProjects/pos_system/apps/api/tests/Feature/CompetitorIntelligencePhase9MlEngineTest.php" line="98" class="Tests\Feature\CompetitorIntelligencePhase9MlEngineTest" classname="Tests.Feature.CompetitorIntelligencePhase9MlEngineTest" assertions="2" time="0.043850"/>
        <testcase name="test_training_run_is_scoped_per_business" file="/Users/gentianbeqiri/StudioProjects/pos_system/apps/api/tests/Feature/CompetitorIntelligencePhase9MlEngineTest.php" line="119" class="Tests\Feature\CompetitorIntelligencePhase9MlEngineTest" classname="Tests.Feature.CompetitorIntelligencePhase9MlEngineTest" assertions="2" time="0.070524"/>
        <testcase name="test_phase9_readiness_report_includes_operational_section" file="/Users/gentianbeqiri/StudioProjects/pos_system/apps/api/tests/Feature/CompetitorIntelligencePhase9MlEngineTest.php" line="145" class="Tests\Feature\CompetitorIntelligencePhase9MlEngineTest" classname="Tests.Feature.CompetitorIntelligencePhase9MlEngineTest" assertions="4" time="0.040030"/>
      </testsuite>
      <testsuite name="Tests\Feature\CompetitorIntelligencePhaseCOperationalSafetyTest" file="/Users/gentianbeqiri/StudioProjects/pos_system/apps/api/tests/Feature/CompetitorIntelligencePhaseCOperationalSafetyTest.php" tests="1" assertions="5" errors="0" failures="0" skipped="0" time="0.057300">
        <testcase name="test_ci_workflow_does_not_mutate_operational_swiftpos_data" file="/Users/gentianbeqiri/StudioProjects/pos_system/apps/api/tests/Feature/CompetitorIntelligencePhaseCOperationalSafetyTest.php" line="40" class="Tests\Feature\CompetitorIntelligencePhaseCOperationalSafetyTest" classname="Tests.Feature.CompetitorIntelligencePhaseCOperationalSafetyTest" assertions="5" time="0.057300"/>
      </testsuite>
      <testsuite name="Tests\Feature\CompetitorIntelligencePriceComparisonRoleTest" file="/Users/gentianbeqiri/StudioProjects/pos_system/apps/api/tests/Feature/CompetitorIntelligencePriceComparisonRoleTest.php" tests="6" assertions="19" errors="0" failures="0" skipped="0" time="0.196844">
        <testcase name="test_price_comparison_role_update_requires_manage_matching_permission" file="/Users/gentianbeqiri/StudioProjects/pos_system/apps/api/tests/Feature/CompetitorIntelligencePriceComparisonRoleTest.php" line="31" class="Tests\Feature\CompetitorIntelligencePriceComparisonRoleTest" classname="Tests.Feature.CompetitorIntelligencePriceComparisonRoleTest" assertions="1" time="0.011230"/>
        <testcase name="test_only_one_primary_per_competitor_and_product" file="/Users/gentianbeqiri/StudioProjects/pos_system/apps/api/tests/Feature/CompetitorIntelligencePriceComparisonRoleTest.php" line="46" class="Tests\Feature\CompetitorIntelligencePriceComparisonRoleTest" classname="Tests.Feature.CompetitorIntelligencePriceComparisonRoleTest" assertions="4" time="0.035302"/>
        <testcase name="test_unset_primary_restores_reference_selection_required" file="/Users/gentianbeqiri/StudioProjects/pos_system/apps/api/tests/Feature/CompetitorIntelligencePriceComparisonRoleTest.php" line="79" class="Tests\Feature\CompetitorIntelligencePriceComparisonRoleTest" classname="Tests.Feature.CompetitorIntelligencePriceComparisonRoleTest" assertions="3" time="0.040706"/>
        <testcase name="test_concurrent_primary_selection_leaves_single_primary" file="/Users/gentianbeqiri/StudioProjects/pos_system/apps/api/tests/Feature/CompetitorIntelligencePriceComparisonRoleTest.php" line="105" class="Tests\Feature\CompetitorIntelligencePriceComparisonRoleTest" classname="Tests.Feature.CompetitorIntelligencePriceComparisonRoleTest" assertions="3" time="0.035142"/>
        <testcase name="test_opportunity_and_shadow_use_primary_reference_only" file="/Users/gentianbeqiri/StudioProjects/pos_system/apps/api/tests/Feature/CompetitorIntelligencePriceComparisonRoleTest.php" line="135" class="Tests\Feature\CompetitorIntelligencePriceComparisonRoleTest" classname="Tests.Feature.CompetitorIntelligencePriceComparisonRoleTest" assertions="4" time="0.038602"/>
        <testcase name="test_verified_mappings_list_is_tenant_scoped" file="/Users/gentianbeqiri/StudioProjects/pos_system/apps/api/tests/Feature/CompetitorIntelligencePriceComparisonRoleTest.php" line="175" class="Tests\Feature\CompetitorIntelligencePriceComparisonRoleTest" classname="Tests.Feature.CompetitorIntelligencePriceComparisonRoleTest" assertions="4" time="0.035862"/>
      </testsuite>
      <testsuite name="Tests\Feature\CompetitorIntelligencePriceIntelligenceClosureTest" file="/Users/gentianbeqiri/StudioProjects/pos_system/apps/api/tests/Feature/CompetitorIntelligencePriceIntelligenceClosureTest.php" tests="10" assertions="25" errors="0" failures="0" skipped="0" time="0.306769">
        <testcase name="test_summary_counts_entire_mapped_universe_not_sample" file="/Users/gentianbeqiri/StudioProjects/pos_system/apps/api/tests/Feature/CompetitorIntelligencePriceIntelligenceClosureTest.php" line="40" class="Tests\Feature\CompetitorIntelligencePriceIntelligenceClosureTest" classname="Tests.Feature.CompetitorIntelligencePriceIntelligenceClosureTest" assertions="3" time="0.054964"/>
        <testcase name="test_summary_and_list_agree_on_price_gap_direction_filter" file="/Users/gentianbeqiri/StudioProjects/pos_system/apps/api/tests/Feature/CompetitorIntelligencePriceIntelligenceClosureTest.php" line="74" class="Tests\Feature\CompetitorIntelligencePriceIntelligenceClosureTest" classname="Tests.Feature.CompetitorIntelligencePriceIntelligenceClosureTest" assertions="2" time="0.042695"/>
        <testcase name="test_primary_reference_uses_designated_variant_not_cheaper_context" file="/Users/gentianbeqiri/StudioProjects/pos_system/apps/api/tests/Feature/CompetitorIntelligencePriceIntelligenceClosureTest.php" line="108" class="Tests\Feature\CompetitorIntelligencePriceIntelligenceClosureTest" classname="Tests.Feature.CompetitorIntelligencePriceIntelligenceClosureTest" assertions="4" time="0.036084"/>
        <testcase name="test_promotional_pressure_counts_competitors_not_duplicate_mappings" file="/Users/gentianbeqiri/StudioProjects/pos_system/apps/api/tests/Feature/CompetitorIntelligencePriceIntelligenceClosureTest.php" line="149" class="Tests\Feature\CompetitorIntelligencePriceIntelligenceClosureTest" classname="Tests.Feature.CompetitorIntelligencePriceIntelligenceClosureTest" assertions="2" time="0.038016"/>
        <testcase name="test_freshness_boundary_days_use_skopje_calendar" file="/Users/gentianbeqiri/StudioProjects/pos_system/apps/api/tests/Feature/CompetitorIntelligencePriceIntelligenceClosureTest.php" line="206" class="Tests\Feature\CompetitorIntelligencePriceIntelligenceClosureTest" classname="Tests.Feature.CompetitorIntelligencePriceIntelligenceClosureTest" assertions="4" time="0.006990"/>
        <testcase name="test_median_even_count_is_decimal_safe" file="/Users/gentianbeqiri/StudioProjects/pos_system/apps/api/tests/Feature/CompetitorIntelligencePriceIntelligenceClosureTest.php" line="229" class="Tests\Feature\CompetitorIntelligencePriceIntelligenceClosureTest" classname="Tests.Feature.CompetitorIntelligencePriceIntelligenceClosureTest" assertions="1" time="0.006362"/>
        <testcase name="test_market_position_tie_at_lowest_with_spread_is_cheapest" file="/Users/gentianbeqiri/StudioProjects/pos_system/apps/api/tests/Feature/CompetitorIntelligencePriceIntelligenceClosureTest.php" line="235" class="Tests\Feature\CompetitorIntelligencePriceIntelligenceClosureTest" classname="Tests.Feature.CompetitorIntelligencePriceIntelligenceClosureTest" assertions="1" time="0.036354"/>
        <testcase name="test_location_override_affects_our_price_in_intelligence" file="/Users/gentianbeqiri/StudioProjects/pos_system/apps/api/tests/Feature/CompetitorIntelligencePriceIntelligenceClosureTest.php" line="264" class="Tests\Feature\CompetitorIntelligencePriceIntelligenceClosureTest" classname="Tests.Feature.CompetitorIntelligencePriceIntelligenceClosureTest" assertions="2" time="0.036918"/>
        <testcase name="test_currency_mismatch_excluded_from_market_aggregate" file="/Users/gentianbeqiri/StudioProjects/pos_system/apps/api/tests/Feature/CompetitorIntelligencePriceIntelligenceClosureTest.php" line="306" class="Tests\Feature\CompetitorIntelligencePriceIntelligenceClosureTest" classname="Tests.Feature.CompetitorIntelligencePriceIntelligenceClosureTest" assertions="2" time="0.040869"/>
        <testcase name="test_ranker_marks_ambiguous_duplicate_usable_prices" file="/Users/gentianbeqiri/StudioProjects/pos_system/apps/api/tests/Feature/CompetitorIntelligencePriceIntelligenceClosureTest.php" line="345" class="Tests\Feature\CompetitorIntelligencePriceIntelligenceClosureTest" classname="Tests.Feature.CompetitorIntelligencePriceIntelligenceClosureTest" assertions="4" time="0.007517"/>
      </testsuite>
      <testsuite name="Tests\Feature\CompetitorIntelligencePriceIntelligenceTest" file="/Users/gentianbeqiri/StudioProjects/pos_system/apps/api/tests/Feature/CompetitorIntelligencePriceIntelligenceTest.php" tests="6" assertions="19" errors="0" failures="0" skipped="0" time="0.259821">
        <testcase name="test_summary_requires_view_permission" file="/Users/gentianbeqiri/StudioProjects/pos_system/apps/api/tests/Feature/CompetitorIntelligencePriceIntelligenceTest.php" line="32" class="Tests\Feature\CompetitorIntelligencePriceIntelligenceTest" classname="Tests.Feature.CompetitorIntelligencePriceIntelligenceTest" assertions="1" time="0.034072"/>
        <testcase name="test_cashier_forbidden_from_price_intelligence" file="/Users/gentianbeqiri/StudioProjects/pos_system/apps/api/tests/Feature/CompetitorIntelligencePriceIntelligenceTest.php" line="38" class="Tests\Feature\CompetitorIntelligencePriceIntelligenceTest" classname="Tests.Feature.CompetitorIntelligencePriceIntelligenceTest" assertions="1" time="0.031536"/>
        <testcase name="test_price_gap_uses_pricing_engine_effective_price" file="/Users/gentianbeqiri/StudioProjects/pos_system/apps/api/tests/Feature/CompetitorIntelligencePriceIntelligenceTest.php" line="44" class="Tests\Feature\CompetitorIntelligencePriceIntelligenceTest" classname="Tests.Feature.CompetitorIntelligencePriceIntelligenceTest" assertions="6" time="0.044506"/>
        <testcase name="test_active_competitor_promo_precedence" file="/Users/gentianbeqiri/StudioProjects/pos_system/apps/api/tests/Feature/CompetitorIntelligencePriceIntelligenceTest.php" line="100" class="Tests\Feature\CompetitorIntelligencePriceIntelligenceTest" classname="Tests.Feature.CompetitorIntelligencePriceIntelligenceTest" assertions="4" time="0.037770"/>
        <testcase name="test_tenant_cannot_read_other_business_product" file="/Users/gentianbeqiri/StudioProjects/pos_system/apps/api/tests/Feature/CompetitorIntelligencePriceIntelligenceTest.php" line="170" class="Tests\Feature\CompetitorIntelligencePriceIntelligenceTest" classname="Tests.Feature.CompetitorIntelligencePriceIntelligenceTest" assertions="1" time="0.043723"/>
        <testcase name="test_price_intelligence_does_not_mutate_operational_data" file="/Users/gentianbeqiri/StudioProjects/pos_system/apps/api/tests/Feature/CompetitorIntelligencePriceIntelligenceTest.php" line="181" class="Tests\Feature\CompetitorIntelligencePriceIntelligenceTest" classname="Tests.Feature.CompetitorIntelligencePriceIntelligenceTest" assertions="6" time="0.068214"/>
      </testsuite>
      <testsuite name="Tests\Feature\CompetitorIntelligencePriceObservationsTest" file="/Users/gentianbeqiri/StudioProjects/pos_system/apps/api/tests/Feature/CompetitorIntelligencePriceObservationsTest.php" tests="17" assertions="36" errors="0" failures="0" skipped="0" time="0.130171">
        <testcase name="test_migration_creates_price_observations_table_with_constraints" file="/Users/gentianbeqiri/StudioProjects/pos_system/apps/api/tests/Feature/CompetitorIntelligencePriceObservationsTest.php" line="54" class="Tests\Feature\CompetitorIntelligencePriceObservationsTest" classname="Tests.Feature.CompetitorIntelligencePriceObservationsTest" assertions="3" time="0.008092"/>
        <testcase name="test_validation_accepts_valid_observation" file="/Users/gentianbeqiri/StudioProjects/pos_system/apps/api/tests/Feature/CompetitorIntelligencePriceObservationsTest.php" line="90" class="Tests\Feature\CompetitorIntelligencePriceObservationsTest" classname="Tests.Feature.CompetitorIntelligencePriceObservationsTest" assertions="1" time="0.006922"/>
        <testcase name="test_validation_rejects_negative_price_and_invalid_currency" file="/Users/gentianbeqiri/StudioProjects/pos_system/apps/api/tests/Feature/CompetitorIntelligencePriceObservationsTest.php" line="101" class="Tests\Feature\CompetitorIntelligencePriceObservationsTest" classname="Tests.Feature.CompetitorIntelligencePriceObservationsTest" assertions="2" time="0.006822"/>
        <testcase name="test_validation_rejects_empty_product_identity" file="/Users/gentianbeqiri/StudioProjects/pos_system/apps/api/tests/Feature/CompetitorIntelligencePriceObservationsTest.php" line="134" class="Tests\Feature\CompetitorIntelligencePriceObservationsTest" classname="Tests.Feature.CompetitorIntelligencePriceObservationsTest" assertions="1" time="0.006648"/>
        <testcase name="test_idempotency_same_snapshot_twice_one_row" file="/Users/gentianbeqiri/StudioProjects/pos_system/apps/api/tests/Feature/CompetitorIntelligencePriceObservationsTest.php" line="154" class="Tests\Feature\CompetitorIntelligencePriceObservationsTest" classname="Tests.Feature.CompetitorIntelligencePriceObservationsTest" assertions="4" time="0.007637"/>
        <testcase name="test_idempotency_retry_new_ingestion_run_same_batch_one_row" file="/Users/gentianbeqiri/StudioProjects/pos_system/apps/api/tests/Feature/CompetitorIntelligencePriceObservationsTest.php" line="169" class="Tests\Feature\CompetitorIntelligencePriceObservationsTest" classname="Tests.Feature.CompetitorIntelligencePriceObservationsTest" assertions="1" time="0.008678"/>
        <testcase name="test_next_day_snapshot_same_price_two_rows" file="/Users/gentianbeqiri/StudioProjects/pos_system/apps/api/tests/Feature/CompetitorIntelligencePriceObservationsTest.php" line="181" class="Tests\Feature\CompetitorIntelligencePriceObservationsTest" classname="Tests.Feature.CompetitorIntelligencePriceObservationsTest" assertions="1" time="0.008292"/>
        <testcase name="test_next_day_snapshot_changed_price_two_rows" file="/Users/gentianbeqiri/StudioProjects/pos_system/apps/api/tests/Feature/CompetitorIntelligencePriceObservationsTest.php" line="192" class="Tests\Feature\CompetitorIntelligencePriceObservationsTest" classname="Tests.Feature.CompetitorIntelligencePriceObservationsTest" assertions="1" time="0.007989"/>
        <testcase name="test_same_product_price_two_locations_two_rows" file="/Users/gentianbeqiri/StudioProjects/pos_system/apps/api/tests/Feature/CompetitorIntelligencePriceObservationsTest.php" line="204" class="Tests\Feature\CompetitorIntelligencePriceObservationsTest" classname="Tests.Feature.CompetitorIntelligencePriceObservationsTest" assertions="1" time="0.007884"/>
        <testcase name="test_corrected_snapshot_preserves_historical_row" file="/Users/gentianbeqiri/StudioProjects/pos_system/apps/api/tests/Feature/CompetitorIntelligencePriceObservationsTest.php" line="216" class="Tests\Feature\CompetitorIntelligencePriceObservationsTest" classname="Tests.Feature.CompetitorIntelligencePriceObservationsTest" assertions="6" time="0.008466"/>
        <testcase name="test_temporal_fields_no_validity_columns" file="/Users/gentianbeqiri/StudioProjects/pos_system/apps/api/tests/Feature/CompetitorIntelligencePriceObservationsTest.php" line="258" class="Tests\Feature\CompetitorIntelligencePriceObservationsTest" classname="Tests.Feature.CompetitorIntelligencePriceObservationsTest" assertions="3" time="0.007141"/>
        <testcase name="test_provenance_links_competitor_source_and_artifact" file="/Users/gentianbeqiri/StudioProjects/pos_system/apps/api/tests/Feature/CompetitorIntelligencePriceObservationsTest.php" line="265" class="Tests\Feature\CompetitorIntelligencePriceObservationsTest" classname="Tests.Feature.CompetitorIntelligencePriceObservationsTest" assertions="3" time="0.007560"/>
        <testcase name="test_price_change_flag_when_stored_observation_differs_from_latest" file="/Users/gentianbeqiri/StudioProjects/pos_system/apps/api/tests/Feature/CompetitorIntelligencePriceObservationsTest.php" line="285" class="Tests\Feature\CompetitorIntelligencePriceObservationsTest" classname="Tests.Feature.CompetitorIntelligencePriceObservationsTest" assertions="2" time="0.007909"/>
        <testcase name="test_late_older_observation_does_not_replace_latest_price" file="/Users/gentianbeqiri/StudioProjects/pos_system/apps/api/tests/Feature/CompetitorIntelligencePriceObservationsTest.php" line="297" class="Tests\Feature\CompetitorIntelligencePriceObservationsTest" classname="Tests.Feature.CompetitorIntelligencePriceObservationsTest" assertions="3" time="0.008123"/>
        <testcase name="test_query_latest_regular_by_ean_and_location" file="/Users/gentianbeqiri/StudioProjects/pos_system/apps/api/tests/Feature/CompetitorIntelligencePriceObservationsTest.php" line="312" class="Tests\Feature\CompetitorIntelligencePriceObservationsTest" classname="Tests.Feature.CompetitorIntelligencePriceObservationsTest" assertions="2" time="0.007995"/>
        <testcase name="test_fingerprint_service_stable_record_identity" file="/Users/gentianbeqiri/StudioProjects/pos_system/apps/api/tests/Feature/CompetitorIntelligencePriceObservationsTest.php" line="326" class="Tests\Feature\CompetitorIntelligencePriceObservationsTest" classname="Tests.Feature.CompetitorIntelligencePriceObservationsTest" assertions="1" time="0.006708"/>
        <testcase name="test_financial_decimal_precision_mkd" file="/Users/gentianbeqiri/StudioProjects/pos_system/apps/api/tests/Feature/CompetitorIntelligencePriceObservationsTest.php" line="350" class="Tests\Feature\CompetitorIntelligencePriceObservationsTest" classname="Tests.Feature.CompetitorIntelligencePriceObservationsTest" assertions="1" time="0.007305"/>
      </testsuite>
      <testsuite name="Tests\Feature\CompetitorIntelligenceProductMatchingAdversarialTest" file="/Users/gentianbeqiri/StudioProjects/pos_system/apps/api/tests/Feature/CompetitorIntelligenceProductMatchingAdversarialTest.php" tests="10" assertions="17" errors="0" failures="0" skipped="0" time="0.075777">
        <testsuite name="Tests\Feature\CompetitorIntelligenceProductMatchingAdversarialTest::test_global_character_folding_does_not_merge_unrelated_tokens" tests="5" assertions="5" errors="0" failures="0" skipped="0" time="0.031753">
          <testcase name="test_global_character_folding_does_not_merge_unrelated_tokens with data set &quot;nice_vs_nike&quot;" file="/Users/gentianbeqiri/StudioProjects/pos_system/apps/api/tests/Feature/CompetitorIntelligenceProductMatchingAdversarialTest.php" line="37" class="Tests\Feature\CompetitorIntelligenceProductMatchingAdversarialTest" classname="Tests.Feature.CompetitorIntelligenceProductMatchingAdversarialTest" assertions="1" time="0.006523"/>
          <testcase name="test_global_character_folding_does_not_merge_unrelated_tokens with data set &quot;face_vs_fake&quot;" file="/Users/gentianbeqiri/StudioProjects/pos_system/apps/api/tests/Feature/CompetitorIntelligenceProductMatchingAdversarialTest.php" line="37" class="Tests\Feature\CompetitorIntelligenceProductMatchingAdversarialTest" classname="Tests.Feature.CompetitorIntelligenceProductMatchingAdversarialTest" assertions="1" time="0.006328"/>
          <testcase name="test_global_character_folding_does_not_merge_unrelated_tokens with data set &quot;lice_vs_rice&quot;" file="/Users/gentianbeqiri/StudioProjects/pos_system/apps/api/tests/Feature/CompetitorIntelligenceProductMatchingAdversarialTest.php" line="37" class="Tests\Feature\CompetitorIntelligenceProductMatchingAdversarialTest" classname="Tests.Feature.CompetitorIntelligenceProductMatchingAdversarialTest" assertions="1" time="0.006404"/>
          <testcase name="test_global_character_folding_does_not_merge_unrelated_tokens with data set &quot;cola_vs_unrelated_kola_word&quot;" file="/Users/gentianbeqiri/StudioProjects/pos_system/apps/api/tests/Feature/CompetitorIntelligenceProductMatchingAdversarialTest.php" line="37" class="Tests\Feature\CompetitorIntelligenceProductMatchingAdversarialTest" classname="Tests.Feature.CompetitorIntelligenceProductMatchingAdversarialTest" assertions="1" time="0.006259"/>
          <testcase name="test_global_character_folding_does_not_merge_unrelated_tokens with data set &quot;zero_stays_distinct_from_hero&quot;" file="/Users/gentianbeqiri/StudioProjects/pos_system/apps/api/tests/Feature/CompetitorIntelligenceProductMatchingAdversarialTest.php" line="37" class="Tests\Feature\CompetitorIntelligenceProductMatchingAdversarialTest" classname="Tests.Feature.CompetitorIntelligenceProductMatchingAdversarialTest" assertions="1" time="0.006240"/>
        </testsuite>
        <testcase name="test_nescafe_cyrillic_and_latin_share_folded_brand_token" file="/Users/gentianbeqiri/StudioProjects/pos_system/apps/api/tests/Feature/CompetitorIntelligenceProductMatchingAdversarialTest.php" line="43" class="Tests\Feature\CompetitorIntelligenceProductMatchingAdversarialTest" classname="Tests.Feature.CompetitorIntelligenceProductMatchingAdversarialTest" assertions="2" time="0.006286"/>
        <testcase name="test_variant_substring_does_not_tag_delight_as_light" file="/Users/gentianbeqiri/StudioProjects/pos_system/apps/api/tests/Feature/CompetitorIntelligenceProductMatchingAdversarialTest.php" line="50" class="Tests\Feature\CompetitorIntelligenceProductMatchingAdversarialTest" classname="Tests.Feature.CompetitorIntelligenceProductMatchingAdversarialTest" assertions="1" time="0.006335"/>
        <testcase name="test_variant_substring_does_not_tag_cola_as_chocolate" file="/Users/gentianbeqiri/StudioProjects/pos_system/apps/api/tests/Feature/CompetitorIntelligenceProductMatchingAdversarialTest.php" line="56" class="Tests\Feature\CompetitorIntelligenceProductMatchingAdversarialTest" classname="Tests.Feature.CompetitorIntelligenceProductMatchingAdversarialTest" assertions="2" time="0.006272"/>
        <testcase name="test_persil_sensitive_vs_persil_base_is_not_variant_conflict" file="/Users/gentianbeqiri/StudioProjects/pos_system/apps/api/tests/Feature/CompetitorIntelligenceProductMatchingAdversarialTest.php" line="64" class="Tests\Feature\CompetitorIntelligenceProductMatchingAdversarialTest" classname="Tests.Feature.CompetitorIntelligenceProductMatchingAdversarialTest" assertions="2" time="0.009931"/>
        <testcase name="test_adversarial_fixture_matrix_never_auto_verifies_comparison_path" file="/Users/gentianbeqiri/StudioProjects/pos_system/apps/api/tests/Feature/CompetitorIntelligenceProductMatchingAdversarialTest.php" line="77" class="Tests\Feature\CompetitorIntelligenceProductMatchingAdversarialTest" classname="Tests.Feature.CompetitorIntelligenceProductMatchingAdversarialTest" assertions="5" time="0.015200"/>
      </testsuite>
      <testsuite name="Tests\Feature\CompetitorIntelligenceProductMatchingBenchmarkTest" file="/Users/gentianbeqiri/StudioProjects/pos_system/apps/api/tests/Feature/CompetitorIntelligenceProductMatchingBenchmarkTest.php" tests="1" assertions="0" errors="0" failures="0" skipped="1" time="0.006973">
        <testcase name="test_benchmark_index_and_matching_at_scale" file="/Users/gentianbeqiri/StudioProjects/pos_system/apps/api/tests/Feature/CompetitorIntelligenceProductMatchingBenchmarkTest.php" line="24" class="Tests\Feature\CompetitorIntelligenceProductMatchingBenchmarkTest" classname="Tests.Feature.CompetitorIntelligenceProductMatchingBenchmarkTest" assertions="0" time="0.006973">
          <skipped/>
        </testcase>
      </testsuite>
      <testsuite name="Tests\Feature\CompetitorIntelligenceProductMatchingNormalizationTest" file="/Users/gentianbeqiri/StudioProjects/pos_system/apps/api/tests/Feature/CompetitorIntelligenceProductMatchingNormalizationTest.php" tests="8" assertions="10" errors="0" failures="0" skipped="0" time="0.050055">
        <testcase name="test_name_variants_normalize_equivalently" file="/Users/gentianbeqiri/StudioProjects/pos_system/apps/api/tests/Feature/CompetitorIntelligenceProductMatchingNormalizationTest.php" line="12" class="Tests\Feature\CompetitorIntelligenceProductMatchingNormalizationTest" classname="Tests.Feature.CompetitorIntelligenceProductMatchingNormalizationTest" assertions="1" time="0.006752"/>
        <testcase name="test_size_ml_and_liters_equivalent" file="/Users/gentianbeqiri/StudioProjects/pos_system/apps/api/tests/Feature/CompetitorIntelligenceProductMatchingNormalizationTest.php" line="20" class="Tests\Feature\CompetitorIntelligenceProductMatchingNormalizationTest" classname="Tests.Feature.CompetitorIntelligenceProductMatchingNormalizationTest" assertions="1" time="0.006342"/>
        <testcase name="test_kg_and_grams_equivalent" file="/Users/gentianbeqiri/StudioProjects/pos_system/apps/api/tests/Feature/CompetitorIntelligenceProductMatchingNormalizationTest.php" line="28" class="Tests\Feature\CompetitorIntelligenceProductMatchingNormalizationTest" classname="Tests.Feature.CompetitorIntelligenceProductMatchingNormalizationTest" assertions="1" time="0.006200"/>
        <testcase name="test_half_kg_equivalent_to_500g" file="/Users/gentianbeqiri/StudioProjects/pos_system/apps/api/tests/Feature/CompetitorIntelligenceProductMatchingNormalizationTest.php" line="36" class="Tests\Feature\CompetitorIntelligenceProductMatchingNormalizationTest" classname="Tests.Feature.CompetitorIntelligenceProductMatchingNormalizationTest" assertions="1" time="0.006193"/>
        <testcase name="test_volume_mismatch_is_not_equivalent" file="/Users/gentianbeqiri/StudioProjects/pos_system/apps/api/tests/Feature/CompetitorIntelligenceProductMatchingNormalizationTest.php" line="44" class="Tests\Feature\CompetitorIntelligenceProductMatchingNormalizationTest" classname="Tests.Feature.CompetitorIntelligenceProductMatchingNormalizationTest" assertions="1" time="0.006184"/>
        <testcase name="test_multipack_not_equivalent_to_single" file="/Users/gentianbeqiri/StudioProjects/pos_system/apps/api/tests/Feature/CompetitorIntelligenceProductMatchingNormalizationTest.php" line="52" class="Tests\Feature\CompetitorIntelligenceProductMatchingNormalizationTest" classname="Tests.Feature.CompetitorIntelligenceProductMatchingNormalizationTest" assertions="1" time="0.006179"/>
        <testcase name="test_unicode_and_punctuation_normalization" file="/Users/gentianbeqiri/StudioProjects/pos_system/apps/api/tests/Feature/CompetitorIntelligenceProductMatchingNormalizationTest.php" line="60" class="Tests\Feature\CompetitorIntelligenceProductMatchingNormalizationTest" classname="Tests.Feature.CompetitorIntelligenceProductMatchingNormalizationTest" assertions="1" time="0.006111"/>
        <testcase name="test_coca_cola_product_size_parsing" file="/Users/gentianbeqiri/StudioProjects/pos_system/apps/api/tests/Feature/CompetitorIntelligenceProductMatchingNormalizationTest.php" line="68" class="Tests\Feature\CompetitorIntelligenceProductMatchingNormalizationTest" classname="Tests.Feature.CompetitorIntelligenceProductMatchingNormalizationTest" assertions="3" time="0.006093"/>
      </testsuite>
      <testsuite name="Tests\Feature\CompetitorIntelligenceProductMatchingPhaseBTest" file="/Users/gentianbeqiri/StudioProjects/pos_system/apps/api/tests/Feature/CompetitorIntelligenceProductMatchingPhaseBTest.php" tests="13" assertions="41" errors="0" failures="0" skipped="0" time="0.109939">
        <testcase name="test_cyrillic_nescafe_matches_latin_as_candidate" file="/Users/gentianbeqiri/StudioProjects/pos_system/apps/api/tests/Feature/CompetitorIntelligenceProductMatchingPhaseBTest.php" line="26" class="Tests\Feature\CompetitorIntelligenceProductMatchingPhaseBTest" classname="Tests.Feature.CompetitorIntelligenceProductMatchingPhaseBTest" assertions="4" time="0.010126"/>
        <testcase name="test_cyrillic_nescafe_different_size_not_verified" file="/Users/gentianbeqiri/StudioProjects/pos_system/apps/api/tests/Feature/CompetitorIntelligenceProductMatchingPhaseBTest.php" line="41" class="Tests\Feature\CompetitorIntelligenceProductMatchingPhaseBTest" classname="Tests.Feature.CompetitorIntelligenceProductMatchingPhaseBTest" assertions="2" time="0.009975"/>
        <testcase name="test_persil_sensitive_cyrillic_candidate" file="/Users/gentianbeqiri/StudioProjects/pos_system/apps/api/tests/Feature/CompetitorIntelligenceProductMatchingPhaseBTest.php" line="54" class="Tests\Feature\CompetitorIntelligenceProductMatchingPhaseBTest" classname="Tests.Feature.CompetitorIntelligenceProductMatchingPhaseBTest" assertions="2" time="0.009958"/>
        <testcase name="test_persil_variant_conflict_not_matched" file="/Users/gentianbeqiri/StudioProjects/pos_system/apps/api/tests/Feature/CompetitorIntelligenceProductMatchingPhaseBTest.php" line="67" class="Tests\Feature\CompetitorIntelligenceProductMatchingPhaseBTest" classname="Tests.Feature.CompetitorIntelligenceProductMatchingPhaseBTest" assertions="2" time="0.009793"/>
        <testcase name="test_kolach_not_matched_to_cola_beverage" file="/Users/gentianbeqiri/StudioProjects/pos_system/apps/api/tests/Feature/CompetitorIntelligenceProductMatchingPhaseBTest.php" line="80" class="Tests\Feature\CompetitorIntelligenceProductMatchingPhaseBTest" classname="Tests.Feature.CompetitorIntelligenceProductMatchingPhaseBTest" assertions="1" time="0.009996"/>
        <testcase name="test_transliteration_fold_examples" file="/Users/gentianbeqiri/StudioProjects/pos_system/apps/api/tests/Feature/CompetitorIntelligenceProductMatchingPhaseBTest.php" line="92" class="Tests\Feature\CompetitorIntelligenceProductMatchingPhaseBTest" classname="Tests.Feature.CompetitorIntelligenceProductMatchingPhaseBTest" assertions="5" time="0.006515"/>
        <testcase name="test_size_cyrillic_and_equivalence" file="/Users/gentianbeqiri/StudioProjects/pos_system/apps/api/tests/Feature/CompetitorIntelligenceProductMatchingPhaseBTest.php" line="104" class="Tests\Feature\CompetitorIntelligenceProductMatchingPhaseBTest" classname="Tests.Feature.CompetitorIntelligenceProductMatchingPhaseBTest" assertions="4" time="0.006301"/>
        <testcase name="test_kam_unit_price_guard_ignores_metadata_size" file="/Users/gentianbeqiri/StudioProjects/pos_system/apps/api/tests/Feature/CompetitorIntelligenceProductMatchingPhaseBTest.php" line="124" class="Tests\Feature\CompetitorIntelligenceProductMatchingPhaseBTest" classname="Tests.Feature.CompetitorIntelligenceProductMatchingPhaseBTest" assertions="3" time="0.006384"/>
        <testcase name="test_legacy_name_cleaner_preserves_legitimate_prefix" file="/Users/gentianbeqiri/StudioProjects/pos_system/apps/api/tests/Feature/CompetitorIntelligenceProductMatchingPhaseBTest.php" line="135" class="Tests\Feature\CompetitorIntelligenceProductMatchingPhaseBTest" classname="Tests.Feature.CompetitorIntelligenceProductMatchingPhaseBTest" assertions="4" time="0.006373"/>
        <testcase name="test_no_operational_product_mutation_during_matching" file="/Users/gentianbeqiri/StudioProjects/pos_system/apps/api/tests/Feature/CompetitorIntelligenceProductMatchingPhaseBTest.php" line="144" class="Tests\Feature\CompetitorIntelligenceProductMatchingPhaseBTest" classname="Tests.Feature.CompetitorIntelligenceProductMatchingPhaseBTest" assertions="3" time="0.010394"/>
        <testcase name="test_multipack_not_equivalent_to_single_unit" file="/Users/gentianbeqiri/StudioProjects/pos_system/apps/api/tests/Feature/CompetitorIntelligenceProductMatchingPhaseBTest.php" line="160" class="Tests\Feature\CompetitorIntelligenceProductMatchingPhaseBTest" classname="Tests.Feature.CompetitorIntelligenceProductMatchingPhaseBTest" assertions="1" time="0.006653"/>
        <testcase name="test_cyrillic_bejk_rols_pica_suggests_pizza_roll_above_siblings" file="/Users/gentianbeqiri/StudioProjects/pos_system/apps/api/tests/Feature/CompetitorIntelligenceProductMatchingPhaseBTest.php" line="168" class="Tests\Feature\CompetitorIntelligenceProductMatchingPhaseBTest" classname="Tests.Feature.CompetitorIntelligenceProductMatchingPhaseBTest" assertions="6" time="0.010895"/>
        <testcase name="test_bejk_transliteration_vectors" file="/Users/gentianbeqiri/StudioProjects/pos_system/apps/api/tests/Feature/CompetitorIntelligenceProductMatchingPhaseBTest.php" line="190" class="Tests\Feature\CompetitorIntelligenceProductMatchingPhaseBTest" classname="Tests.Feature.CompetitorIntelligenceProductMatchingPhaseBTest" assertions="4" time="0.006575"/>
      </testsuite>
      <testsuite name="Tests\Feature\CompetitorIntelligenceProductMatchingProductionRegressionTest" file="/Users/gentianbeqiri/StudioProjects/pos_system/apps/api/tests/Feature/CompetitorIntelligenceProductMatchingProductionRegressionTest.php" tests="13" assertions="15" errors="0" failures="0" skipped="0" time="0.132504">
        <testcase name="test_persil_sensitive_does_not_match_unrelated_detergents" file="/Users/gentianbeqiri/StudioProjects/pos_system/apps/api/tests/Feature/CompetitorIntelligenceProductMatchingProductionRegressionTest.php" line="52" class="Tests\Feature\CompetitorIntelligenceProductMatchingProductionRegressionTest" classname="Tests.Feature.CompetitorIntelligenceProductMatchingProductionRegressionTest" assertions="1" time="0.010599"/>
        <testcase name="test_nescafe_capsules_do_not_match_unrelated_capsule_brands" file="/Users/gentianbeqiri/StudioProjects/pos_system/apps/api/tests/Feature/CompetitorIntelligenceProductMatchingProductionRegressionTest.php" line="72" class="Tests\Feature\CompetitorIntelligenceProductMatchingProductionRegressionTest" classname="Tests.Feature.CompetitorIntelligenceProductMatchingProductionRegressionTest" assertions="1" time="0.011033"/>
        <testcase name="test_fiesta_instant_gold_does_not_match_tchibo_instant_gold" file="/Users/gentianbeqiri/StudioProjects/pos_system/apps/api/tests/Feature/CompetitorIntelligenceProductMatchingProductionRegressionTest.php" line="89" class="Tests\Feature\CompetitorIntelligenceProductMatchingProductionRegressionTest" classname="Tests.Feature.CompetitorIntelligenceProductMatchingProductionRegressionTest" assertions="1" time="0.010382"/>
        <testcase name="test_carrots_in_bag_does_not_match_sugar_in_bag" file="/Users/gentianbeqiri/StudioProjects/pos_system/apps/api/tests/Feature/CompetitorIntelligenceProductMatchingProductionRegressionTest.php" line="99" class="Tests\Feature\CompetitorIntelligenceProductMatchingProductionRegressionTest" classname="Tests.Feature.CompetitorIntelligenceProductMatchingProductionRegressionTest" assertions="1" time="0.010218"/>
        <testcase name="test_johnnie_walker_red_does_not_match_fruktal_red_juice" file="/Users/gentianbeqiri/StudioProjects/pos_system/apps/api/tests/Feature/CompetitorIntelligenceProductMatchingProductionRegressionTest.php" line="109" class="Tests\Feature\CompetitorIntelligenceProductMatchingProductionRegressionTest" classname="Tests.Feature.CompetitorIntelligenceProductMatchingProductionRegressionTest" assertions="1" time="0.010013"/>
        <testcase name="test_mythos_can_does_not_match_unrelated_500ml_can" file="/Users/gentianbeqiri/StudioProjects/pos_system/apps/api/tests/Feature/CompetitorIntelligenceProductMatchingProductionRegressionTest.php" line="119" class="Tests\Feature\CompetitorIntelligenceProductMatchingProductionRegressionTest" classname="Tests.Feature.CompetitorIntelligenceProductMatchingProductionRegressionTest" assertions="1" time="0.009974"/>
        <testcase name="test_amstel_beer_set_does_not_match_unrelated_food_set" file="/Users/gentianbeqiri/StudioProjects/pos_system/apps/api/tests/Feature/CompetitorIntelligenceProductMatchingProductionRegressionTest.php" line="129" class="Tests\Feature\CompetitorIntelligenceProductMatchingProductionRegressionTest" classname="Tests.Feature.CompetitorIntelligenceProductMatchingProductionRegressionTest" assertions="1" time="0.009915"/>
        <testcase name="test_zlaten_dab_beer_set_does_not_match_unrelated_food_set" file="/Users/gentianbeqiri/StudioProjects/pos_system/apps/api/tests/Feature/CompetitorIntelligenceProductMatchingProductionRegressionTest.php" line="139" class="Tests\Feature\CompetitorIntelligenceProductMatchingProductionRegressionTest" classname="Tests.Feature.CompetitorIntelligenceProductMatchingProductionRegressionTest" assertions="1" time="0.009902"/>
        <testcase name="test_krali_marko_beer_set_does_not_match_unrelated_food_set" file="/Users/gentianbeqiri/StudioProjects/pos_system/apps/api/tests/Feature/CompetitorIntelligenceProductMatchingProductionRegressionTest.php" line="149" class="Tests\Feature\CompetitorIntelligenceProductMatchingProductionRegressionTest" classname="Tests.Feature.CompetitorIntelligenceProductMatchingProductionRegressionTest" assertions="1" time="0.009858"/>
        <testcase name="test_gordons_pink_gin_does_not_match_schweppes_pink" file="/Users/gentianbeqiri/StudioProjects/pos_system/apps/api/tests/Feature/CompetitorIntelligenceProductMatchingProductionRegressionTest.php" line="159" class="Tests\Feature\CompetitorIntelligenceProductMatchingProductionRegressionTest" classname="Tests.Feature.CompetitorIntelligenceProductMatchingProductionRegressionTest" assertions="1" time="0.009843"/>
        <testcase name="test_philips_led_bulb_does_not_match_unrelated_led_bulb" file="/Users/gentianbeqiri/StudioProjects/pos_system/apps/api/tests/Feature/CompetitorIntelligenceProductMatchingProductionRegressionTest.php" line="169" class="Tests\Feature\CompetitorIntelligenceProductMatchingProductionRegressionTest" classname="Tests.Feature.CompetitorIntelligenceProductMatchingProductionRegressionTest" assertions="1" time="0.010172"/>
        <testcase name="test_sl_kakao_tabla_does_not_cross_match_other_brands" file="/Users/gentianbeqiri/StudioProjects/pos_system/apps/api/tests/Feature/CompetitorIntelligenceProductMatchingProductionRegressionTest.php" line="180" class="Tests\Feature\CompetitorIntelligenceProductMatchingProductionRegressionTest" classname="Tests.Feature.CompetitorIntelligenceProductMatchingProductionRegressionTest" assertions="1" time="0.010498"/>
        <testcase name="test_positive_transliterated_nescafe_still_candidates" file="/Users/gentianbeqiri/StudioProjects/pos_system/apps/api/tests/Feature/CompetitorIntelligenceProductMatchingProductionRegressionTest.php" line="195" class="Tests\Feature\CompetitorIntelligenceProductMatchingProductionRegressionTest" classname="Tests.Feature.CompetitorIntelligenceProductMatchingProductionRegressionTest" assertions="3" time="0.010097"/>
      </testsuite>
      <testsuite name="Tests\Feature\CompetitorIntelligenceProductMatchingSafetyTest" file="/Users/gentianbeqiri/StudioProjects/pos_system/apps/api/tests/Feature/CompetitorIntelligenceProductMatchingSafetyTest.php" tests="1" assertions="9" errors="0" failures="0" skipped="0" time="0.014180">
        <testcase name="test_matching_does_not_mutate_swiftpos_operational_data" file="/Users/gentianbeqiri/StudioProjects/pos_system/apps/api/tests/Feature/CompetitorIntelligenceProductMatchingSafetyTest.php" line="29" class="Tests\Feature\CompetitorIntelligenceProductMatchingSafetyTest" classname="Tests.Feature.CompetitorIntelligenceProductMatchingSafetyTest" assertions="9" time="0.014180"/>
      </testsuite>
      <testsuite name="Tests\Feature\CompetitorIntelligenceProductMatchingTest" file="/Users/gentianbeqiri/StudioProjects/pos_system/apps/api/tests/Feature/CompetitorIntelligenceProductMatchingTest.php" tests="10" assertions="22" errors="0" failures="0" skipped="0" time="0.103290">
        <testcase name="test_existing_verified_mapping_wins" file="/Users/gentianbeqiri/StudioProjects/pos_system/apps/api/tests/Feature/CompetitorIntelligenceProductMatchingTest.php" line="24" class="Tests\Feature\CompetitorIntelligenceProductMatchingTest" classname="Tests.Feature.CompetitorIntelligenceProductMatchingTest" assertions="3" time="0.009595"/>
        <testcase name="test_ean_exact_auto_verifies_single_barcode" file="/Users/gentianbeqiri/StudioProjects/pos_system/apps/api/tests/Feature/CompetitorIntelligenceProductMatchingTest.php" line="50" class="Tests\Feature\CompetitorIntelligenceProductMatchingTest" classname="Tests.Feature.CompetitorIntelligenceProductMatchingTest" assertions="3" time="0.009751"/>
        <testcase name="test_ean_with_no_swiftpos_product_unmatched" file="/Users/gentianbeqiri/StudioProjects/pos_system/apps/api/tests/Feature/CompetitorIntelligenceProductMatchingTest.php" line="65" class="Tests\Feature\CompetitorIntelligenceProductMatchingTest" classname="Tests.Feature.CompetitorIntelligenceProductMatchingTest" assertions="2" time="0.009192"/>
        <testcase name="test_normalized_exact_verifies_with_brand_name_and_size" file="/Users/gentianbeqiri/StudioProjects/pos_system/apps/api/tests/Feature/CompetitorIntelligenceProductMatchingTest.php" line="77" class="Tests\Feature\CompetitorIntelligenceProductMatchingTest" classname="Tests.Feature.CompetitorIntelligenceProductMatchingTest" assertions="3" time="0.010322"/>
        <testcase name="test_missing_brand_yields_candidate_not_auto_verify" file="/Users/gentianbeqiri/StudioProjects/pos_system/apps/api/tests/Feature/CompetitorIntelligenceProductMatchingTest.php" line="92" class="Tests\Feature\CompetitorIntelligenceProductMatchingTest" classname="Tests.Feature.CompetitorIntelligenceProductMatchingTest" assertions="2" time="0.010361"/>
        <testcase name="test_size_mismatch_does_not_match" file="/Users/gentianbeqiri/StudioProjects/pos_system/apps/api/tests/Feature/CompetitorIntelligenceProductMatchingTest.php" line="105" class="Tests\Feature\CompetitorIntelligenceProductMatchingTest" classname="Tests.Feature.CompetitorIntelligenceProductMatchingTest" assertions="1" time="0.010674"/>
        <testcase name="test_multiple_normalized_candidates_without_auto_pick" file="/Users/gentianbeqiri/StudioProjects/pos_system/apps/api/tests/Feature/CompetitorIntelligenceProductMatchingTest.php" line="118" class="Tests\Feature\CompetitorIntelligenceProductMatchingTest" classname="Tests.Feature.CompetitorIntelligenceProductMatchingTest" assertions="3" time="0.010593"/>
        <testcase name="test_rejected_pair_is_not_suggested_again" file="/Users/gentianbeqiri/StudioProjects/pos_system/apps/api/tests/Feature/CompetitorIntelligenceProductMatchingTest.php" line="134" class="Tests\Feature\CompetitorIntelligenceProductMatchingTest" classname="Tests.Feature.CompetitorIntelligenceProductMatchingTest" assertions="1" time="0.010701"/>
        <testcase name="test_different_businesses_have_independent_mappings" file="/Users/gentianbeqiri/StudioProjects/pos_system/apps/api/tests/Feature/CompetitorIntelligenceProductMatchingTest.php" line="149" class="Tests\Feature\CompetitorIntelligenceProductMatchingTest" classname="Tests.Feature.CompetitorIntelligenceProductMatchingTest" assertions="2" time="0.011949"/>
        <testcase name="test_duplicate_ean_catalog_conflict_surfaces_as_candidate" file="/Users/gentianbeqiri/StudioProjects/pos_system/apps/api/tests/Feature/CompetitorIntelligenceProductMatchingTest.php" line="166" class="Tests\Feature\CompetitorIntelligenceProductMatchingTest" classname="Tests.Feature.CompetitorIntelligenceProductMatchingTest" assertions="2" time="0.010151"/>
      </testsuite>
      <testsuite name="Tests\Feature\CompetitorIntelligencePromotionMeasurementClosureTest" file="/Users/gentianbeqiri/StudioProjects/pos_system/apps/api/tests/Feature/CompetitorIntelligencePromotionMeasurementClosureTest.php" tests="15" assertions="48" errors="0" failures="0" skipped="0" time="0.571490">
        <testcase name="test_late_partial_refund_rebuilds_treatment_measurement" file="/Users/gentianbeqiri/StudioProjects/pos_system/apps/api/tests/Feature/CompetitorIntelligencePromotionMeasurementClosureTest.php" line="29" class="Tests\Feature\CompetitorIntelligencePromotionMeasurementClosureTest" classname="Tests.Feature.CompetitorIntelligencePromotionMeasurementClosureTest" assertions="6" time="0.038101"/>
        <testcase name="test_late_full_refund_zeros_treatment_net" file="/Users/gentianbeqiri/StudioProjects/pos_system/apps/api/tests/Feature/CompetitorIntelligencePromotionMeasurementClosureTest.php" line="56" class="Tests\Feature\CompetitorIntelligencePromotionMeasurementClosureTest" classname="Tests.Feature.CompetitorIntelligencePromotionMeasurementClosureTest" assertions="4" time="0.059698"/>
        <testcase name="test_discounted_sale_preserves_nominal_vs_realized" file="/Users/gentianbeqiri/StudioProjects/pos_system/apps/api/tests/Feature/CompetitorIntelligencePromotionMeasurementClosureTest.php" line="78" class="Tests\Feature\CompetitorIntelligencePromotionMeasurementClosureTest" classname="Tests.Feature.CompetitorIntelligencePromotionMeasurementClosureTest" assertions="4" time="0.035036"/>
        <testcase name="test_same_input_idempotency" file="/Users/gentianbeqiri/StudioProjects/pos_system/apps/api/tests/Feature/CompetitorIntelligencePromotionMeasurementClosureTest.php" line="99" class="Tests\Feature\CompetitorIntelligencePromotionMeasurementClosureTest" classname="Tests.Feature.CompetitorIntelligencePromotionMeasurementClosureTest" assertions="1" time="0.036193"/>
        <testcase name="test_current_stock_never_backfilled" file="/Users/gentianbeqiri/StudioProjects/pos_system/apps/api/tests/Feature/CompetitorIntelligencePromotionMeasurementClosureTest.php" line="118" class="Tests\Feature\CompetitorIntelligencePromotionMeasurementClosureTest" classname="Tests.Feature.CompetitorIntelligencePromotionMeasurementClosureTest" assertions="3" time="0.031188"/>
        <testcase name="test_current_competitor_price_not_used_for_historical_treatment" file="/Users/gentianbeqiri/StudioProjects/pos_system/apps/api/tests/Feature/CompetitorIntelligencePromotionMeasurementClosureTest.php" line="127" class="Tests\Feature\CompetitorIntelligencePromotionMeasurementClosureTest" classname="Tests.Feature.CompetitorIntelligencePromotionMeasurementClosureTest" assertions="3" time="0.031976"/>
        <testcase name="test_weighted_quantity_preserved_in_analytics" file="/Users/gentianbeqiri/StudioProjects/pos_system/apps/api/tests/Feature/CompetitorIntelligencePromotionMeasurementClosureTest.php" line="137" class="Tests\Feature\CompetitorIntelligencePromotionMeasurementClosureTest" classname="Tests.Feature.CompetitorIntelligencePromotionMeasurementClosureTest" assertions="2" time="0.034474"/>
        <testcase name="test_weekday_restricted_treatment_counts_eligible_days_only" file="/Users/gentianbeqiri/StudioProjects/pos_system/apps/api/tests/Feature/CompetitorIntelligencePromotionMeasurementClosureTest.php" line="154" class="Tests\Feature\CompetitorIntelligencePromotionMeasurementClosureTest" classname="Tests.Feature.CompetitorIntelligencePromotionMeasurementClosureTest" assertions="3" time="0.037829"/>
        <testcase name="test_intraday_promotion_flags_granularity_unavailable" file="/Users/gentianbeqiri/StudioProjects/pos_system/apps/api/tests/Feature/CompetitorIntelligencePromotionMeasurementClosureTest.php" line="183" class="Tests\Feature\CompetitorIntelligencePromotionMeasurementClosureTest" classname="Tests.Feature.CompetitorIntelligencePromotionMeasurementClosureTest" assertions="2" time="0.031007"/>
        <testcase name="test_promotion_overlap_detected_for_same_product" file="/Users/gentianbeqiri/StudioProjects/pos_system/apps/api/tests/Feature/CompetitorIntelligencePromotionMeasurementClosureTest.php" line="190" class="Tests\Feature\CompetitorIntelligencePromotionMeasurementClosureTest" classname="Tests.Feature.CompetitorIntelligencePromotionMeasurementClosureTest" assertions="4" time="0.031667"/>
        <testcase name="test_pre_features_stable_when_outcomes_change" file="/Users/gentianbeqiri/StudioProjects/pos_system/apps/api/tests/Feature/CompetitorIntelligencePromotionMeasurementClosureTest.php" line="217" class="Tests\Feature\CompetitorIntelligencePromotionMeasurementClosureTest" classname="Tests.Feature.CompetitorIntelligencePromotionMeasurementClosureTest" assertions="3" time="0.040995"/>
        <testcase name="test_measurement_filter_side_channels_return_422" file="/Users/gentianbeqiri/StudioProjects/pos_system/apps/api/tests/Feature/CompetitorIntelligencePromotionMeasurementClosureTest.php" line="249" class="Tests\Feature\CompetitorIntelligencePromotionMeasurementClosureTest" classname="Tests.Feature.CompetitorIntelligencePromotionMeasurementClosureTest" assertions="3" time="0.045037"/>
        <testcase name="test_summary_hides_sales_counts_without_reports_permission" file="/Users/gentianbeqiri/StudioProjects/pos_system/apps/api/tests/Feature/CompetitorIntelligencePromotionMeasurementClosureTest.php" line="263" class="Tests\Feature\CompetitorIntelligencePromotionMeasurementClosureTest" classname="Tests.Feature.CompetitorIntelligencePromotionMeasurementClosureTest" assertions="5" time="0.043499"/>
        <testcase name="test_tenancy_isolation_on_measurements" file="/Users/gentianbeqiri/StudioProjects/pos_system/apps/api/tests/Feature/CompetitorIntelligencePromotionMeasurementClosureTest.php" line="278" class="Tests\Feature\CompetitorIntelligencePromotionMeasurementClosureTest" classname="Tests.Feature.CompetitorIntelligencePromotionMeasurementClosureTest" assertions="3" time="0.043537"/>
        <testcase name="test_algorithm_version_is_two" file="/Users/gentianbeqiri/StudioProjects/pos_system/apps/api/tests/Feature/CompetitorIntelligencePromotionMeasurementClosureTest.php" line="287" class="Tests\Feature\CompetitorIntelligencePromotionMeasurementClosureTest" classname="Tests.Feature.CompetitorIntelligencePromotionMeasurementClosureTest" assertions="2" time="0.031254"/>
      </testsuite>
      <testsuite name="Tests\Feature\CompetitorIntelligencePromotionMeasurementTest" file="/Users/gentianbeqiri/StudioProjects/pos_system/apps/api/tests/Feature/CompetitorIntelligencePromotionMeasurementTest.php" tests="7" assertions="21" errors="0" failures="0" skipped="0" time="0.541252">
        <testcase name="test_percent_promotion_measurement_observed_change_not_uplift" file="/Users/gentianbeqiri/StudioProjects/pos_system/apps/api/tests/Feature/CompetitorIntelligencePromotionMeasurementTest.php" line="27" class="Tests\Feature\CompetitorIntelligencePromotionMeasurementTest" classname="Tests.Feature.CompetitorIntelligencePromotionMeasurementTest" assertions="6" time="0.075900"/>
        <testcase name="test_buy_x_get_y_marked_unusable" file="/Users/gentianbeqiri/StudioProjects/pos_system/apps/api/tests/Feature/CompetitorIntelligencePromotionMeasurementTest.php" line="41" class="Tests\Feature\CompetitorIntelligencePromotionMeasurementTest" classname="Tests.Feature.CompetitorIntelligencePromotionMeasurementTest" assertions="2" time="0.075827"/>
        <testcase name="test_current_wac_not_used_when_historical_cogs_missing" file="/Users/gentianbeqiri/StudioProjects/pos_system/apps/api/tests/Feature/CompetitorIntelligencePromotionMeasurementTest.php" line="50" class="Tests\Feature\CompetitorIntelligencePromotionMeasurementTest" classname="Tests.Feature.CompetitorIntelligencePromotionMeasurementTest" assertions="2" time="0.074917"/>
        <testcase name="test_learning_dataset_pre_features_exclude_treatment_outcomes_when_disabled" file="/Users/gentianbeqiri/StudioProjects/pos_system/apps/api/tests/Feature/CompetitorIntelligencePromotionMeasurementTest.php" line="59" class="Tests\Feature\CompetitorIntelligencePromotionMeasurementTest" classname="Tests.Feature.CompetitorIntelligencePromotionMeasurementTest" assertions="3" time="0.076205"/>
        <testcase name="test_idempotent_fingerprint_skips_duplicate" file="/Users/gentianbeqiri/StudioProjects/pos_system/apps/api/tests/Feature/CompetitorIntelligencePromotionMeasurementTest.php" line="72" class="Tests\Feature\CompetitorIntelligencePromotionMeasurementTest" classname="Tests.Feature.CompetitorIntelligencePromotionMeasurementTest" assertions="3" time="0.076877"/>
        <testcase name="test_api_hides_sales_without_reports_permission" file="/Users/gentianbeqiri/StudioProjects/pos_system/apps/api/tests/Feature/CompetitorIntelligencePromotionMeasurementTest.php" line="82" class="Tests\Feature\CompetitorIntelligencePromotionMeasurementTest" classname="Tests.Feature.CompetitorIntelligencePromotionMeasurementTest" assertions="2" time="0.079601"/>
        <testcase name="test_operational_tables_unchanged_after_measurement" file="/Users/gentianbeqiri/StudioProjects/pos_system/apps/api/tests/Feature/CompetitorIntelligencePromotionMeasurementTest.php" line="92" class="Tests\Feature\CompetitorIntelligencePromotionMeasurementTest" classname="Tests.Feature.CompetitorIntelligencePromotionMeasurementTest" assertions="3" time="0.081926"/>
      </testsuite>
      <testsuite name="Tests\Feature\CompetitorIntelligencePromotionTemporalMatrixTest" file="/Users/gentianbeqiri/StudioProjects/pos_system/apps/api/tests/Feature/CompetitorIntelligencePromotionTemporalMatrixTest.php" tests="3" assertions="25" errors="0" failures="0" skipped="0" time="0.031023">
        <testcase name="test_campaign_validity_matrix" file="/Users/gentianbeqiri/StudioProjects/pos_system/apps/api/tests/Feature/CompetitorIntelligencePromotionTemporalMatrixTest.php" line="31" class="Tests\Feature\CompetitorIntelligencePromotionTemporalMatrixTest" classname="Tests.Feature.CompetitorIntelligencePromotionTemporalMatrixTest" assertions="12" time="0.012563"/>
        <testcase name="test_offer_dated_matrix" file="/Users/gentianbeqiri/StudioProjects/pos_system/apps/api/tests/Feature/CompetitorIntelligencePromotionTemporalMatrixTest.php" line="68" class="Tests\Feature\CompetitorIntelligencePromotionTemporalMatrixTest" classname="Tests.Feature.CompetitorIntelligencePromotionTemporalMatrixTest" assertions="8" time="0.009354"/>
        <testcase name="test_observed_current_conservative_matrix" file="/Users/gentianbeqiri/StudioProjects/pos_system/apps/api/tests/Feature/CompetitorIntelligencePromotionTemporalMatrixTest.php" line="93" class="Tests\Feature\CompetitorIntelligencePromotionTemporalMatrixTest" classname="Tests.Feature.CompetitorIntelligencePromotionTemporalMatrixTest" assertions="5" time="0.009106"/>
      </testsuite>
      <testsuite name="Tests\Feature\CompetitorIntelligenceRamstoreAdapterTest" file="/Users/gentianbeqiri/StudioProjects/pos_system/apps/api/tests/Feature/CompetitorIntelligenceRamstoreAdapterTest.php" tests="9" assertions="30" errors="0" failures="0" skipped="0" time="0.074938">
        <testcase name="test_listing_discovery_extracts_internal_campaigns_and_pdf" file="/Users/gentianbeqiri/StudioProjects/pos_system/apps/api/tests/Feature/CompetitorIntelligenceRamstoreAdapterTest.php" line="32" class="Tests\Feature\CompetitorIntelligenceRamstoreAdapterTest" classname="Tests.Feature.CompetitorIntelligenceRamstoreAdapterTest" assertions="4" time="0.008520"/>
        <testcase name="test_campaign_page_parser_extracts_pdf_title_and_dates" file="/Users/gentianbeqiri/StudioProjects/pos_system/apps/api/tests/Feature/CompetitorIntelligenceRamstoreAdapterTest.php" line="51" class="Tests\Feature\CompetitorIntelligenceRamstoreAdapterTest" classname="Tests.Feature.CompetitorIntelligenceRamstoreAdapterTest" assertions="4" time="0.007613"/>
        <testcase name="test_date_parser_supports_observed_formats" file="/Users/gentianbeqiri/StudioProjects/pos_system/apps/api/tests/Feature/CompetitorIntelligenceRamstoreAdapterTest.php" line="67" class="Tests\Feature\CompetitorIntelligenceRamstoreAdapterTest" classname="Tests.Feature.CompetitorIntelligenceRamstoreAdapterTest" assertions="4" time="0.007149"/>
        <testcase name="test_mkd_price_parser_formats" file="/Users/gentianbeqiri/StudioProjects/pos_system/apps/api/tests/Feature/CompetitorIntelligenceRamstoreAdapterTest.php" line="79" class="Tests\Feature\CompetitorIntelligenceRamstoreAdapterTest" classname="Tests.Feature.CompetitorIntelligenceRamstoreAdapterTest" assertions="3" time="0.007016"/>
        <testcase name="test_pdf_offer_parser_extracts_product_and_prices_from_fixture_text" file="/Users/gentianbeqiri/StudioProjects/pos_system/apps/api/tests/Feature/CompetitorIntelligenceRamstoreAdapterTest.php" line="87" class="Tests\Feature\CompetitorIntelligenceRamstoreAdapterTest" classname="Tests.Feature.CompetitorIntelligenceRamstoreAdapterTest" assertions="4" time="0.007078"/>
        <testcase name="test_artifact_binary_persisted_on_ingest" file="/Users/gentianbeqiri/StudioProjects/pos_system/apps/api/tests/Feature/CompetitorIntelligenceRamstoreAdapterTest.php" line="100" class="Tests\Feature\CompetitorIntelligenceRamstoreAdapterTest" classname="Tests.Feature.CompetitorIntelligenceRamstoreAdapterTest" assertions="3" time="0.012338"/>
        <testcase name="test_dry_run_performs_zero_database_mutations" file="/Users/gentianbeqiri/StudioProjects/pos_system/apps/api/tests/Feature/CompetitorIntelligenceRamstoreAdapterTest.php" line="131" class="Tests\Feature\CompetitorIntelligenceRamstoreAdapterTest" classname="Tests.Feature.CompetitorIntelligenceRamstoreAdapterTest" assertions="4" time="0.009277"/>
        <testcase name="test_ingest_command_rejects_unknown_competitor" file="/Users/gentianbeqiri/StudioProjects/pos_system/apps/api/tests/Feature/CompetitorIntelligenceRamstoreAdapterTest.php" line="172" class="Tests\Feature\CompetitorIntelligenceRamstoreAdapterTest" classname="Tests.Feature.CompetitorIntelligenceRamstoreAdapterTest" assertions="1" time="0.007860"/>
        <testcase name="test_duplicate_artifact_hash_does_not_duplicate_storage_file" file="/Users/gentianbeqiri/StudioProjects/pos_system/apps/api/tests/Feature/CompetitorIntelligenceRamstoreAdapterTest.php" line="178" class="Tests\Feature\CompetitorIntelligenceRamstoreAdapterTest" classname="Tests.Feature.CompetitorIntelligenceRamstoreAdapterTest" assertions="3" time="0.008085"/>
      </testsuite>
      <testsuite name="Tests\Feature\CompetitorIntelligenceSameBrandPrecisionRegressionTest" file="/Users/gentianbeqiri/StudioProjects/pos_system/apps/api/tests/Feature/CompetitorIntelligenceSameBrandPrecisionRegressionTest.php" tests="6" assertions="22" errors="0" failures="0" skipped="0" time="0.078568">
        <testcase name="test_adrijus_1kg_vs_size_unknown_swift_product_is_review_not_strong" file="/Users/gentianbeqiri/StudioProjects/pos_system/apps/api/tests/Feature/CompetitorIntelligenceSameBrandPrecisionRegressionTest.php" line="38" class="Tests\Feature\CompetitorIntelligenceSameBrandPrecisionRegressionTest" classname="Tests.Feature.CompetitorIntelligenceSameBrandPrecisionRegressionTest" assertions="3" time="0.013578"/>
        <testcase name="test_alpi_bieno_vs_meshano_not_strong" file="/Users/gentianbeqiri/StudioProjects/pos_system/apps/api/tests/Feature/CompetitorIntelligenceSameBrandPrecisionRegressionTest.php" line="46" class="Tests\Feature\CompetitorIntelligenceSameBrandPrecisionRegressionTest" classname="Tests.Feature.CompetitorIntelligenceSameBrandPrecisionRegressionTest" assertions="2" time="0.010887"/>
        <testcase name="test_ariel_fresh_powder_vs_tecen_color_not_strong" file="/Users/gentianbeqiri/StudioProjects/pos_system/apps/api/tests/Feature/CompetitorIntelligenceSameBrandPrecisionRegressionTest.php" line="53" class="Tests\Feature\CompetitorIntelligenceSameBrandPrecisionRegressionTest" classname="Tests.Feature.CompetitorIntelligenceSameBrandPrecisionRegressionTest" assertions="2" time="0.010438"/>
        <testcase name="test_bic_1_sensitive_5kom_vs_bic_3_sensitive_not_strong" file="/Users/gentianbeqiri/StudioProjects/pos_system/apps/api/tests/Feature/CompetitorIntelligenceSameBrandPrecisionRegressionTest.php" line="60" class="Tests\Feature\CompetitorIntelligenceSameBrandPrecisionRegressionTest" classname="Tests.Feature.CompetitorIntelligenceSameBrandPrecisionRegressionTest" assertions="2" time="0.009966"/>
        <testcase name="test_bitolsko_400ml_vs_400g_not_size_exact_or_strong" file="/Users/gentianbeqiri/StudioProjects/pos_system/apps/api/tests/Feature/CompetitorIntelligenceSameBrandPrecisionRegressionTest.php" line="67" class="Tests\Feature\CompetitorIntelligenceSameBrandPrecisionRegressionTest" classname="Tests.Feature.CompetitorIntelligenceSameBrandPrecisionRegressionTest" assertions="3" time="0.010278"/>
        <testcase name="test_production_exact_examples_remain_exact" file="/Users/gentianbeqiri/StudioProjects/pos_system/apps/api/tests/Feature/CompetitorIntelligenceSameBrandPrecisionRegressionTest.php" line="78" class="Tests\Feature\CompetitorIntelligenceSameBrandPrecisionRegressionTest" classname="Tests.Feature.CompetitorIntelligenceSameBrandPrecisionRegressionTest" assertions="10" time="0.023420"/>
      </testsuite>
      <testsuite name="Tests\Feature\CompetitorIntelligenceScenarioSimulatorTest" file="/Users/gentianbeqiri/StudioProjects/pos_system/apps/api/tests/Feature/CompetitorIntelligenceScenarioSimulatorTest.php" tests="11" assertions="46" errors="0" failures="0" skipped="0" time="0.409280">
        <testcase name="test_mechanics_math_matrix_at_price_45_wac_31" file="/Users/gentianbeqiri/StudioProjects/pos_system/apps/api/tests/Feature/CompetitorIntelligenceScenarioSimulatorTest.php" line="31" class="Tests\Feature\CompetitorIntelligenceScenarioSimulatorTest" classname="Tests.Feature.CompetitorIntelligenceScenarioSimulatorTest" assertions="11" time="0.006884"/>
        <testcase name="test_simulate_fixed_price_returns_economics_and_delta" file="/Users/gentianbeqiri/StudioProjects/pos_system/apps/api/tests/Feature/CompetitorIntelligenceScenarioSimulatorTest.php" line="58" class="Tests\Feature\CompetitorIntelligenceScenarioSimulatorTest" classname="Tests.Feature.CompetitorIntelligenceScenarioSimulatorTest" assertions="6" time="0.037408"/>
        <testcase name="test_simulate_percent_uses_rounded_price_for_economics" file="/Users/gentianbeqiri/StudioProjects/pos_system/apps/api/tests/Feature/CompetitorIntelligenceScenarioSimulatorTest.php" line="78" class="Tests\Feature\CompetitorIntelligenceScenarioSimulatorTest" classname="Tests.Feature.CompetitorIntelligenceScenarioSimulatorTest" assertions="4" time="0.036058"/>
        <testcase name="test_simulate_basket_buy_two_get_one_negative_gp" file="/Users/gentianbeqiri/StudioProjects/pos_system/apps/api/tests/Feature/CompetitorIntelligenceScenarioSimulatorTest.php" line="96" class="Tests\Feature\CompetitorIntelligenceScenarioSimulatorTest" classname="Tests.Feature.CompetitorIntelligenceScenarioSimulatorTest" assertions="3" time="0.035283"/>
        <testcase name="test_break_even_vector_at_fixed_39" file="/Users/gentianbeqiri/StudioProjects/pos_system/apps/api/tests/Feature/CompetitorIntelligenceScenarioSimulatorTest.php" line="113" class="Tests\Feature\CompetitorIntelligenceScenarioSimulatorTest" classname="Tests.Feature.CompetitorIntelligenceScenarioSimulatorTest" assertions="5" time="0.035090"/>
        <testcase name="test_unknown_cost_hides_gp_but_allows_price_math" file="/Users/gentianbeqiri/StudioProjects/pos_system/apps/api/tests/Feature/CompetitorIntelligenceScenarioSimulatorTest.php" line="133" class="Tests\Feature\CompetitorIntelligenceScenarioSimulatorTest" classname="Tests.Feature.CompetitorIntelligenceScenarioSimulatorTest" assertions="5" time="0.056664"/>
        <testcase name="test_user_without_margin_permission_does_not_receive_wac_or_gp" file="/Users/gentianbeqiri/StudioProjects/pos_system/apps/api/tests/Feature/CompetitorIntelligenceScenarioSimulatorTest.php" line="156" class="Tests\Feature\CompetitorIntelligenceScenarioSimulatorTest" classname="Tests.Feature.CompetitorIntelligenceScenarioSimulatorTest" assertions="5" time="0.042938"/>
        <testcase name="test_observed_volume_requires_reports_permission" file="/Users/gentianbeqiri/StudioProjects/pos_system/apps/api/tests/Feature/CompetitorIntelligenceScenarioSimulatorTest.php" line="176" class="Tests\Feature\CompetitorIntelligenceScenarioSimulatorTest" classname="Tests.Feature.CompetitorIntelligenceScenarioSimulatorTest" assertions="1" time="0.043016"/>
        <testcase name="test_weighted_product_rejects_basket_mechanic" file="/Users/gentianbeqiri/StudioProjects/pos_system/apps/api/tests/Feature/CompetitorIntelligenceScenarioSimulatorTest.php" line="195" class="Tests\Feature\CompetitorIntelligenceScenarioSimulatorTest" classname="Tests.Feature.CompetitorIntelligenceScenarioSimulatorTest" assertions="1" time="0.035149"/>
        <testcase name="test_simulate_does_not_mutate_operational_data" file="/Users/gentianbeqiri/StudioProjects/pos_system/apps/api/tests/Feature/CompetitorIntelligenceScenarioSimulatorTest.php" line="209" class="Tests\Feature\CompetitorIntelligenceScenarioSimulatorTest" classname="Tests.Feature.CompetitorIntelligenceScenarioSimulatorTest" assertions="4" time="0.035311"/>
        <testcase name="test_wrong_business_product_returns_404" file="/Users/gentianbeqiri/StudioProjects/pos_system/apps/api/tests/Feature/CompetitorIntelligenceScenarioSimulatorTest.php" line="235" class="Tests\Feature\CompetitorIntelligenceScenarioSimulatorTest" classname="Tests.Feature.CompetitorIntelligenceScenarioSimulatorTest" assertions="1" time="0.045479"/>
      </testsuite>
      <testsuite name="Tests\Feature\CompetitorIntelligenceSourceIdempotencyMatrixTest" file="/Users/gentianbeqiri/StudioProjects/pos_system/apps/api/tests/Feature/CompetitorIntelligenceSourceIdempotencyMatrixTest.php" tests="4" assertions="11" errors="0" failures="0" skipped="0" time="0.036763">
        <testcase name="test_spar_same_ingest_twice_is_idempotent" file="/Users/gentianbeqiri/StudioProjects/pos_system/apps/api/tests/Feature/CompetitorIntelligenceSourceIdempotencyMatrixTest.php" line="31" class="Tests\Feature\CompetitorIntelligenceSourceIdempotencyMatrixTest" classname="Tests.Feature.CompetitorIntelligenceSourceIdempotencyMatrixTest" assertions="3" time="0.010395"/>
        <testcase name="test_spar_price_change_preserves_canonical_product" file="/Users/gentianbeqiri/StudioProjects/pos_system/apps/api/tests/Feature/CompetitorIntelligenceSourceIdempotencyMatrixTest.php" line="51" class="Tests\Feature\CompetitorIntelligenceSourceIdempotencyMatrixTest" classname="Tests.Feature.CompetitorIntelligenceSourceIdempotencyMatrixTest" assertions="3" time="0.009187"/>
        <testcase name="test_kipper_row_order_does_not_change_identity" file="/Users/gentianbeqiri/StudioProjects/pos_system/apps/api/tests/Feature/CompetitorIntelligenceSourceIdempotencyMatrixTest.php" line="72" class="Tests\Feature\CompetitorIntelligenceSourceIdempotencyMatrixTest" classname="Tests.Feature.CompetitorIntelligenceSourceIdempotencyMatrixTest" assertions="1" time="0.007309"/>
        <testcase name="test_kipper_promotion_lifecycle_same_canonical_product" file="/Users/gentianbeqiri/StudioProjects/pos_system/apps/api/tests/Feature/CompetitorIntelligenceSourceIdempotencyMatrixTest.php" line="88" class="Tests\Feature\CompetitorIntelligenceSourceIdempotencyMatrixTest" classname="Tests.Feature.CompetitorIntelligenceSourceIdempotencyMatrixTest" assertions="4" time="0.009871"/>
      </testsuite>
      <testsuite name="Tests\Feature\CompetitorIntelligenceSparAdapterTest" file="/Users/gentianbeqiri/StudioProjects/pos_system/apps/api/tests/Feature/CompetitorIntelligenceSparAdapterTest.php" tests="7" assertions="26" errors="0" failures="0" skipped="0" time="0.050360">
        <testcase name="test_discovery_ignores_empty_pricelists_and_dedupes_snapshot_key" file="/Users/gentianbeqiri/StudioProjects/pos_system/apps/api/tests/Feature/CompetitorIntelligenceSparAdapterTest.php" line="35" class="Tests\Feature\CompetitorIntelligenceSparAdapterTest" classname="Tests.Feature.CompetitorIntelligenceSparAdapterTest" assertions="3" time="0.006750"/>
        <testcase name="test_product_parser_splits_promo_offers_and_regular_observations" file="/Users/gentianbeqiri/StudioProjects/pos_system/apps/api/tests/Feature/CompetitorIntelligenceSparAdapterTest.php" line="46" class="Tests\Feature\CompetitorIntelligenceSparAdapterTest" classname="Tests.Feature.CompetitorIntelligenceSparAdapterTest" assertions="8" time="0.007080"/>
        <testcase name="test_reference_pricelist_allowlist_excludes_other_stores" file="/Users/gentianbeqiri/StudioProjects/pos_system/apps/api/tests/Feature/CompetitorIntelligenceSparAdapterTest.php" line="70" class="Tests\Feature\CompetitorIntelligenceSparAdapterTest" classname="Tests.Feature.CompetitorIntelligenceSparAdapterTest" assertions="1" time="0.006484"/>
        <testcase name="test_date_parser_supports_observed_spar_range" file="/Users/gentianbeqiri/StudioProjects/pos_system/apps/api/tests/Feature/CompetitorIntelligenceSparAdapterTest.php" line="77" class="Tests\Feature\CompetitorIntelligenceSparAdapterTest" classname="Tests.Feature.CompetitorIntelligenceSparAdapterTest" assertions="3" time="0.006497"/>
        <testcase name="test_http_client_rejects_non_allowlisted_host" file="/Users/gentianbeqiri/StudioProjects/pos_system/apps/api/tests/Feature/CompetitorIntelligenceSparAdapterTest.php" line="85" class="Tests\Feature\CompetitorIntelligenceSparAdapterTest" classname="Tests.Feature.CompetitorIntelligenceSparAdapterTest" assertions="1" time="0.006437"/>
        <testcase name="test_dry_run_zero_writes_for_offers_and_price_observations" file="/Users/gentianbeqiri/StudioProjects/pos_system/apps/api/tests/Feature/CompetitorIntelligenceSparAdapterTest.php" line="91" class="Tests\Feature\CompetitorIntelligenceSparAdapterTest" classname="Tests.Feature.CompetitorIntelligenceSparAdapterTest" assertions="9" time="0.008273"/>
        <testcase name="test_ingest_command_accepts_spar" file="/Users/gentianbeqiri/StudioProjects/pos_system/apps/api/tests/Feature/CompetitorIntelligenceSparAdapterTest.php" line="139" class="Tests\Feature\CompetitorIntelligenceSparAdapterTest" classname="Tests.Feature.CompetitorIntelligenceSparAdapterTest" assertions="1" time="0.008839"/>
      </testsuite>
      <testsuite name="Tests\Feature\CompetitorIntelligenceSparReferenceStoreTest" file="/Users/gentianbeqiri/StudioProjects/pos_system/apps/api/tests/Feature/CompetitorIntelligenceSparReferenceStoreTest.php" tests="3" assertions="12" errors="0" failures="0" skipped="0" time="0.020620">
        <testcase name="test_default_config_allowlist_is_pricelist_20_only" file="/Users/gentianbeqiri/StudioProjects/pos_system/apps/api/tests/Feature/CompetitorIntelligenceSparReferenceStoreTest.php" line="12" class="Tests\Feature\CompetitorIntelligenceSparReferenceStoreTest" classname="Tests.Feature.CompetitorIntelligenceSparReferenceStoreTest" assertions="6" time="0.007707"/>
        <testcase name="test_discovery_excludes_pricelists_41_and_46_regardless_of_index_order" file="/Users/gentianbeqiri/StudioProjects/pos_system/apps/api/tests/Feature/CompetitorIntelligenceSparReferenceStoreTest.php" line="24" class="Tests\Feature\CompetitorIntelligenceSparReferenceStoreTest" classname="Tests.Feature.CompetitorIntelligenceSparReferenceStoreTest" assertions="5" time="0.006658"/>
        <testcase name="test_explicit_config_change_can_include_other_lists" file="/Users/gentianbeqiri/StudioProjects/pos_system/apps/api/tests/Feature/CompetitorIntelligenceSparReferenceStoreTest.php" line="35" class="Tests\Feature\CompetitorIntelligenceSparReferenceStoreTest" classname="Tests.Feature.CompetitorIntelligenceSparReferenceStoreTest" assertions="1" time="0.006255"/>
      </testsuite>
      <testsuite name="Tests\Feature\CompetitorIntelligenceTemporalTest" file="/Users/gentianbeqiri/StudioProjects/pos_system/apps/api/tests/Feature/CompetitorIntelligenceTemporalTest.php" tests="10" assertions="12" errors="0" failures="0" skipped="0" time="0.064554">
        <testcase name="test_one_day_promo_active_on_same_calendar_day" file="/Users/gentianbeqiri/StudioProjects/pos_system/apps/api/tests/Feature/CompetitorIntelligenceTemporalTest.php" line="23" class="Tests\Feature\CompetitorIntelligenceTemporalTest" classname="Tests.Feature.CompetitorIntelligenceTemporalTest" assertions="1" time="0.006515"/>
        <testcase name="test_three_day_promo_boundaries" file="/Users/gentianbeqiri/StudioProjects/pos_system/apps/api/tests/Feature/CompetitorIntelligenceTemporalTest.php" line="30" class="Tests\Feature\CompetitorIntelligenceTemporalTest" classname="Tests.Feature.CompetitorIntelligenceTemporalTest" assertions="2" time="0.006449"/>
        <testcase name="test_weekly_promo_example_oct_1_to_7" file="/Users/gentianbeqiri/StudioProjects/pos_system/apps/api/tests/Feature/CompetitorIntelligenceTemporalTest.php" line="45" class="Tests\Feature\CompetitorIntelligenceTemporalTest" classname="Tests.Feature.CompetitorIntelligenceTemporalTest" assertions="1" time="0.006373"/>
        <testcase name="test_starts_tomorrow_is_upcoming" file="/Users/gentianbeqiri/StudioProjects/pos_system/apps/api/tests/Feature/CompetitorIntelligenceTemporalTest.php" line="54" class="Tests\Feature\CompetitorIntelligenceTemporalTest" classname="Tests.Feature.CompetitorIntelligenceTemporalTest" assertions="1" time="0.006307"/>
        <testcase name="test_expires_today_stays_active_until_end_of_day" file="/Users/gentianbeqiri/StudioProjects/pos_system/apps/api/tests/Feature/CompetitorIntelligenceTemporalTest.php" line="63" class="Tests\Feature\CompetitorIntelligenceTemporalTest" classname="Tests.Feature.CompetitorIntelligenceTemporalTest" assertions="1" time="0.006371"/>
        <testcase name="test_expired_yesterday" file="/Users/gentianbeqiri/StudioProjects/pos_system/apps/api/tests/Feature/CompetitorIntelligenceTemporalTest.php" line="72" class="Tests\Feature\CompetitorIntelligenceTemporalTest" classname="Tests.Feature.CompetitorIntelligenceTemporalTest" assertions="1" time="0.006866"/>
        <testcase name="test_inclusive_valid_until_end_of_day" file="/Users/gentianbeqiri/StudioProjects/pos_system/apps/api/tests/Feature/CompetitorIntelligenceTemporalTest.php" line="81" class="Tests\Feature\CompetitorIntelligenceTemporalTest" classname="Tests.Feature.CompetitorIntelligenceTemporalTest" assertions="1" time="0.006524"/>
        <testcase name="test_missing_start_or_end_is_unverified" file="/Users/gentianbeqiri/StudioProjects/pos_system/apps/api/tests/Feature/CompetitorIntelligenceTemporalTest.php" line="90" class="Tests\Feature\CompetitorIntelligenceTemporalTest" classname="Tests.Feature.CompetitorIntelligenceTemporalTest" assertions="2" time="0.006397"/>
        <testcase name="test_invalid_date_order" file="/Users/gentianbeqiri/StudioProjects/pos_system/apps/api/tests/Feature/CompetitorIntelligenceTemporalTest.php" line="97" class="Tests\Feature\CompetitorIntelligenceTemporalTest" classname="Tests.Feature.CompetitorIntelligenceTemporalTest" assertions="1" time="0.006286"/>
        <testcase name="test_dst_spring_forward_day_remains_active" file="/Users/gentianbeqiri/StudioProjects/pos_system/apps/api/tests/Feature/CompetitorIntelligenceTemporalTest.php" line="106" class="Tests\Feature\CompetitorIntelligenceTemporalTest" classname="Tests.Feature.CompetitorIntelligenceTemporalTest" assertions="1" time="0.006465"/>
      </testsuite>
      <testsuite name="Tests\Feature\CompetitorIntelligenceTinexAdapterTest" file="/Users/gentianbeqiri/StudioProjects/pos_system/apps/api/tests/Feature/CompetitorIntelligenceTinexAdapterTest.php" tests="5" assertions="12" errors="0" failures="0" skipped="0" time="0.038038">
        <testcase name="test_akcii_discovery_links_ceni_and_counts_wixstatic_refs" file="/Users/gentianbeqiri/StudioProjects/pos_system/apps/api/tests/Feature/CompetitorIntelligenceTinexAdapterTest.php" line="31" class="Tests\Feature\CompetitorIntelligenceTinexAdapterTest" classname="Tests.Feature.CompetitorIntelligenceTinexAdapterTest" assertions="5" time="0.007766"/>
        <testcase name="test_adapter_rejects_wixstatic_as_artifact_host" file="/Users/gentianbeqiri/StudioProjects/pos_system/apps/api/tests/Feature/CompetitorIntelligenceTinexAdapterTest.php" line="48" class="Tests\Feature\CompetitorIntelligenceTinexAdapterTest" classname="Tests.Feature.CompetitorIntelligenceTinexAdapterTest" assertions="1" time="0.006762"/>
        <testcase name="test_http_client_rejects_arbitrary_host" file="/Users/gentianbeqiri/StudioProjects/pos_system/apps/api/tests/Feature/CompetitorIntelligenceTinexAdapterTest.php" line="67" class="Tests\Feature\CompetitorIntelligenceTinexAdapterTest" classname="Tests.Feature.CompetitorIntelligenceTinexAdapterTest" assertions="1" time="0.006483"/>
        <testcase name="test_dry_run_zero_db_mutations_and_no_promo_offers" file="/Users/gentianbeqiri/StudioProjects/pos_system/apps/api/tests/Feature/CompetitorIntelligenceTinexAdapterTest.php" line="76" class="Tests\Feature\CompetitorIntelligenceTinexAdapterTest" classname="Tests.Feature.CompetitorIntelligenceTinexAdapterTest" assertions="4" time="0.008001"/>
        <testcase name="test_ingest_command_accepts_tinex" file="/Users/gentianbeqiri/StudioProjects/pos_system/apps/api/tests/Feature/CompetitorIntelligenceTinexAdapterTest.php" line="109" class="Tests\Feature\CompetitorIntelligenceTinexAdapterTest" classname="Tests.Feature.CompetitorIntelligenceTinexAdapterTest" assertions="1" time="0.009026"/>
      </testsuite>
      <testsuite name="Tests\Feature\CompetitorIntelligenceVerifiedMappingPriceIntelligenceTest" file="/Users/gentianbeqiri/StudioProjects/pos_system/apps/api/tests/Feature/CompetitorIntelligenceVerifiedMappingPriceIntelligenceTest.php" tests="13" assertions="45" errors="0" failures="0" skipped="0" time="0.470326">
        <testcase name="test_single_verified_mapping_usable_despite_name_and_size_notation_differences" file="/Users/gentianbeqiri/StudioProjects/pos_system/apps/api/tests/Feature/CompetitorIntelligenceVerifiedMappingPriceIntelligenceTest.php" line="33" class="Tests\Feature\CompetitorIntelligenceVerifiedMappingPriceIntelligenceTest" classname="Tests.Feature.CompetitorIntelligenceVerifiedMappingPriceIntelligenceTest" assertions="5" time="0.036196"/>
        <testcase name="test_single_verified_mapping_not_invalidated_by_barcode_mismatch" file="/Users/gentianbeqiri/StudioProjects/pos_system/apps/api/tests/Feature/CompetitorIntelligenceVerifiedMappingPriceIntelligenceTest.php" line="63" class="Tests\Feature\CompetitorIntelligenceVerifiedMappingPriceIntelligenceTest" classname="Tests.Feature.CompetitorIntelligenceVerifiedMappingPriceIntelligenceTest" assertions="2" time="0.035641"/>
        <testcase name="test_multiple_verified_variant_mappings_require_primary_reference_selection" file="/Users/gentianbeqiri/StudioProjects/pos_system/apps/api/tests/Feature/CompetitorIntelligenceVerifiedMappingPriceIntelligenceTest.php" line="87" class="Tests\Feature\CompetitorIntelligenceVerifiedMappingPriceIntelligenceTest" classname="Tests.Feature.CompetitorIntelligenceVerifiedMappingPriceIntelligenceTest" assertions="12" time="0.037812"/>
        <testcase name="test_primary_direct_comparable_enables_fanta_shelf_comparison" file="/Users/gentianbeqiri/StudioProjects/pos_system/apps/api/tests/Feature/CompetitorIntelligenceVerifiedMappingPriceIntelligenceTest.php" line="124" class="Tests\Feature\CompetitorIntelligenceVerifiedMappingPriceIntelligenceTest" classname="Tests.Feature.CompetitorIntelligenceVerifiedMappingPriceIntelligenceTest" assertions="7" time="0.040201"/>
        <testcase name="test_multiple_verified_mappings_same_price_still_require_primary_reference" file="/Users/gentianbeqiri/StudioProjects/pos_system/apps/api/tests/Feature/CompetitorIntelligenceVerifiedMappingPriceIntelligenceTest.php" line="159" class="Tests\Feature\CompetitorIntelligenceVerifiedMappingPriceIntelligenceTest" classname="Tests.Feature.CompetitorIntelligenceVerifiedMappingPriceIntelligenceTest" assertions="2" time="0.055913"/>
        <testcase name="test_verified_mapping_without_price_remains_unusable" file="/Users/gentianbeqiri/StudioProjects/pos_system/apps/api/tests/Feature/CompetitorIntelligenceVerifiedMappingPriceIntelligenceTest.php" line="179" class="Tests\Feature\CompetitorIntelligenceVerifiedMappingPriceIntelligenceTest" classname="Tests.Feature.CompetitorIntelligenceVerifiedMappingPriceIntelligenceTest" assertions="2" time="0.036119"/>
        <testcase name="test_verified_mapping_stale_evidence_still_blocked" file="/Users/gentianbeqiri/StudioProjects/pos_system/apps/api/tests/Feature/CompetitorIntelligenceVerifiedMappingPriceIntelligenceTest.php" line="195" class="Tests\Feature\CompetitorIntelligenceVerifiedMappingPriceIntelligenceTest" classname="Tests.Feature.CompetitorIntelligenceVerifiedMappingPriceIntelligenceTest" assertions="2" time="0.036089"/>
        <testcase name="test_verified_mapping_unsupported_currency_still_blocked" file="/Users/gentianbeqiri/StudioProjects/pos_system/apps/api/tests/Feature/CompetitorIntelligenceVerifiedMappingPriceIntelligenceTest.php" line="212" class="Tests\Feature\CompetitorIntelligenceVerifiedMappingPriceIntelligenceTest" classname="Tests.Feature.CompetitorIntelligenceVerifiedMappingPriceIntelligenceTest" assertions="2" time="0.036006"/>
        <testcase name="test_without_verified_mappings_insufficient_evidence_behavior_unchanged" file="/Users/gentianbeqiri/StudioProjects/pos_system/apps/api/tests/Feature/CompetitorIntelligenceVerifiedMappingPriceIntelligenceTest.php" line="243" class="Tests\Feature\CompetitorIntelligenceVerifiedMappingPriceIntelligenceTest" classname="Tests.Feature.CompetitorIntelligenceVerifiedMappingPriceIntelligenceTest" assertions="2" time="0.030217"/>
        <testcase name="test_multiple_competitors_with_unambiguous_prices_aggregate_correctly" file="/Users/gentianbeqiri/StudioProjects/pos_system/apps/api/tests/Feature/CompetitorIntelligenceVerifiedMappingPriceIntelligenceTest.php" line="267" class="Tests\Feature\CompetitorIntelligenceVerifiedMappingPriceIntelligenceTest" classname="Tests.Feature.CompetitorIntelligenceVerifiedMappingPriceIntelligenceTest" assertions="4" time="0.037094"/>
        <testcase name="test_opportunity_recommendation_without_primary_reference_is_limited" file="/Users/gentianbeqiri/StudioProjects/pos_system/apps/api/tests/Feature/CompetitorIntelligenceVerifiedMappingPriceIntelligenceTest.php" line="292" class="Tests\Feature\CompetitorIntelligenceVerifiedMappingPriceIntelligenceTest" classname="Tests.Feature.CompetitorIntelligenceVerifiedMappingPriceIntelligenceTest" assertions="2" time="0.031896"/>
        <testcase name="test_shadow_materialize_does_not_mutate_operational_catalog" file="/Users/gentianbeqiri/StudioProjects/pos_system/apps/api/tests/Feature/CompetitorIntelligenceVerifiedMappingPriceIntelligenceTest.php" line="317" class="Tests\Feature\CompetitorIntelligenceVerifiedMappingPriceIntelligenceTest" classname="Tests.Feature.CompetitorIntelligenceVerifiedMappingPriceIntelligenceTest" assertions="2" time="0.044576"/>
        <testcase name="test_verified_mapping_analysis_is_tenant_isolated" file="/Users/gentianbeqiri/StudioProjects/pos_system/apps/api/tests/Feature/CompetitorIntelligenceVerifiedMappingPriceIntelligenceTest.php" line="336" class="Tests\Feature\CompetitorIntelligenceVerifiedMappingPriceIntelligenceTest" classname="Tests.Feature.CompetitorIntelligenceVerifiedMappingPriceIntelligenceTest" assertions="1" time="0.012565"/>
      </testsuite>
      <testsuite name="Tests\Feature\CompetitorIntelligenceVeroAdapterTest" file="/Users/gentianbeqiri/StudioProjects/pos_system/apps/api/tests/Feature/CompetitorIntelligenceVeroAdapterTest.php" tests="10" assertions="36" errors="0" failures="0" skipped="0" time="0.073635">
        <testcase name="test_letoci_discovery_extracts_pdf_and_dates" file="/Users/gentianbeqiri/StudioProjects/pos_system/apps/api/tests/Feature/CompetitorIntelligenceVeroAdapterTest.php" line="35" class="Tests\Feature\CompetitorIntelligenceVeroAdapterTest" classname="Tests.Feature.CompetitorIntelligenceVeroAdapterTest" assertions="5" time="0.007231"/>
        <testcase name="test_weekly_discovery_uses_data_date_and_skips_third_party_images" file="/Users/gentianbeqiri/StudioProjects/pos_system/apps/api/tests/Feature/CompetitorIntelligenceVeroAdapterTest.php" line="49" class="Tests\Feature\CompetitorIntelligenceVeroAdapterTest" classname="Tests.Feature.CompetitorIntelligenceVeroAdapterTest" assertions="6" time="0.006770"/>
        <testcase name="test_date_parser_observed_formats" file="/Users/gentianbeqiri/StudioProjects/pos_system/apps/api/tests/Feature/CompetitorIntelligenceVeroAdapterTest.php" line="65" class="Tests\Feature\CompetitorIntelligenceVeroAdapterTest" classname="Tests.Feature.CompetitorIntelligenceVeroAdapterTest" assertions="6" time="0.006506"/>
        <testcase name="test_pricelist_parser_verified_and_ambiguous_rows" file="/Users/gentianbeqiri/StudioProjects/pos_system/apps/api/tests/Feature/CompetitorIntelligenceVeroAdapterTest.php" line="81" class="Tests\Feature\CompetitorIntelligenceVeroAdapterTest" classname="Tests.Feature.CompetitorIntelligenceVeroAdapterTest" assertions="6" time="0.006556"/>
        <testcase name="test_verification_rules_reject_non_akciska_mechanic" file="/Users/gentianbeqiri/StudioProjects/pos_system/apps/api/tests/Feature/CompetitorIntelligenceVeroAdapterTest.php" line="95" class="Tests\Feature\CompetitorIntelligenceVeroAdapterTest" classname="Tests.Feature.CompetitorIntelligenceVeroAdapterTest" assertions="2" time="0.006639"/>
        <testcase name="test_http_client_rejects_arbitrary_host" file="/Users/gentianbeqiri/StudioProjects/pos_system/apps/api/tests/Feature/CompetitorIntelligenceVeroAdapterTest.php" line="102" class="Tests\Feature\CompetitorIntelligenceVeroAdapterTest" classname="Tests.Feature.CompetitorIntelligenceVeroAdapterTest" assertions="1" time="0.006362"/>
        <testcase name="test_adapter_rejects_non_allowlisted_artifact_url" file="/Users/gentianbeqiri/StudioProjects/pos_system/apps/api/tests/Feature/CompetitorIntelligenceVeroAdapterTest.php" line="109" class="Tests\Feature\CompetitorIntelligenceVeroAdapterTest" classname="Tests.Feature.CompetitorIntelligenceVeroAdapterTest" assertions="1" time="0.006585"/>
        <testcase name="test_dry_run_performs_zero_database_mutations" file="/Users/gentianbeqiri/StudioProjects/pos_system/apps/api/tests/Feature/CompetitorIntelligenceVeroAdapterTest.php" line="128" class="Tests\Feature\CompetitorIntelligenceVeroAdapterTest" classname="Tests.Feature.CompetitorIntelligenceVeroAdapterTest" assertions="4" time="0.008370"/>
        <testcase name="test_pricelist_ingest_persists_verified_offers" file="/Users/gentianbeqiri/StudioProjects/pos_system/apps/api/tests/Feature/CompetitorIntelligenceVeroAdapterTest.php" line="171" class="Tests\Feature\CompetitorIntelligenceVeroAdapterTest" classname="Tests.Feature.CompetitorIntelligenceVeroAdapterTest" assertions="4" time="0.009562"/>
        <testcase name="test_ingest_command_accepts_vero" file="/Users/gentianbeqiri/StudioProjects/pos_system/apps/api/tests/Feature/CompetitorIntelligenceVeroAdapterTest.php" line="203" class="Tests\Feature\CompetitorIntelligenceVeroAdapterTest" classname="Tests.Feature.CompetitorIntelligenceVeroAdapterTest" assertions="1" time="0.009053"/>
      </testsuite>
      <testsuite name="Tests\Feature\CompetitorProductGtinTrustEscalationTest" file="/Users/gentianbeqiri/StudioProjects/pos_system/apps/api/tests/Feature/CompetitorProductGtinTrustEscalationTest.php" tests="7" assertions="21" errors="0" failures="0" skipped="0" time="0.213081">
        <testcase name="test_a_open_food_facts_gtin_does_not_auto_verify_even_when_swiftpos_has_barcode" file="/Users/gentianbeqiri/StudioProjects/pos_system/apps/api/tests/Feature/CompetitorProductGtinTrustEscalationTest.php" line="51" class="Tests\Feature\CompetitorProductGtinTrustEscalationTest" classname="Tests.Feature.CompetitorProductGtinTrustEscalationTest" assertions="5" time="0.031157"/>
        <testcase name="test_b_retailer_direct_gtin_still_allows_ean_exact_auto_verify" file="/Users/gentianbeqiri/StudioProjects/pos_system/apps/api/tests/Feature/CompetitorProductGtinTrustEscalationTest.php" line="89" class="Tests\Feature\CompetitorProductGtinTrustEscalationTest" classname="Tests.Feature.CompetitorProductGtinTrustEscalationTest" assertions="3" time="0.029353"/>
        <testcase name="test_c_batch_matching_does_not_verify_open_dataset_gtin_as_ean_exact" file="/Users/gentianbeqiri/StudioProjects/pos_system/apps/api/tests/Feature/CompetitorProductGtinTrustEscalationTest.php" line="104" class="Tests\Feature\CompetitorProductGtinTrustEscalationTest" classname="Tests.Feature.CompetitorProductGtinTrustEscalationTest" assertions="2" time="0.030688"/>
        <testcase name="test_d_open_dataset_trust_survives_reload" file="/Users/gentianbeqiri/StudioProjects/pos_system/apps/api/tests/Feature/CompetitorProductGtinTrustEscalationTest.php" line="122" class="Tests\Feature\CompetitorProductGtinTrustEscalationTest" classname="Tests.Feature.CompetitorProductGtinTrustEscalationTest" assertions="3" time="0.027027"/>
        <testcase name="test_e_external_gtin_does_not_change_fingerprint_or_merge_products" file="/Users/gentianbeqiri/StudioProjects/pos_system/apps/api/tests/Feature/CompetitorProductGtinTrustEscalationTest.php" line="136" class="Tests\Feature\CompetitorProductGtinTrustEscalationTest" classname="Tests.Feature.CompetitorProductGtinTrustEscalationTest" assertions="3" time="0.027173"/>
        <testcase name="test_f_get_current_prices_and_promotions_do_not_call_providers_or_mutate_ops" file="/Users/gentianbeqiri/StudioProjects/pos_system/apps/api/tests/Feature/CompetitorProductGtinTrustEscalationTest.php" line="151" class="Tests\Feature\CompetitorProductGtinTrustEscalationTest" classname="Tests.Feature.CompetitorProductGtinTrustEscalationTest" assertions="4" time="0.036330"/>
        <testcase name="test_g_resolution_plus_batch_matching_leaves_operational_tables_unchanged" file="/Users/gentianbeqiri/StudioProjects/pos_system/apps/api/tests/Feature/CompetitorProductGtinTrustEscalationTest.php" line="171" class="Tests\Feature\CompetitorProductGtinTrustEscalationTest" classname="Tests.Feature.CompetitorProductGtinTrustEscalationTest" assertions="1" time="0.031353"/>
      </testsuite>
      <testsuite name="Tests\Feature\CompetitorProductIdentityResolutionTenantIsolationTest" file="/Users/gentianbeqiri/StudioProjects/pos_system/apps/api/tests/Feature/CompetitorProductIdentityResolutionTenantIsolationTest.php" tests="1" assertions="2" errors="0" failures="0" skipped="0" time="0.012057">
        <testcase name="test_swiftpos_match_evaluation_is_scoped_to_business" file="/Users/gentianbeqiri/StudioProjects/pos_system/apps/api/tests/Feature/CompetitorProductIdentityResolutionTenantIsolationTest.php" line="19" class="Tests\Feature\CompetitorProductIdentityResolutionTenantIsolationTest" classname="Tests.Feature.CompetitorProductIdentityResolutionTenantIsolationTest" assertions="2" time="0.012057"/>
      </testsuite>
      <testsuite name="Tests\Feature\CompetitorProductIdentityResolutionTest" file="/Users/gentianbeqiri/StudioProjects/pos_system/apps/api/tests/Feature/CompetitorProductIdentityResolutionTest.php" tests="3" assertions="8" errors="0" failures="0" skipped="0" time="0.044637">
        <testcase name="test_resolution_is_idempotent_for_same_competitor_product" file="/Users/gentianbeqiri/StudioProjects/pos_system/apps/api/tests/Feature/CompetitorProductIdentityResolutionTest.php" line="21" class="Tests\Feature\CompetitorProductIdentityResolutionTest" classname="Tests.Feature.CompetitorProductIdentityResolutionTest" assertions="3" time="0.026784"/>
        <testcase name="test_same_gtin_records_candidate_without_merging_competitor_products" file="/Users/gentianbeqiri/StudioProjects/pos_system/apps/api/tests/Feature/CompetitorProductIdentityResolutionTest.php" line="49" class="Tests\Feature\CompetitorProductIdentityResolutionTest" classname="Tests.Feature.CompetitorProductIdentityResolutionTest" assertions="3" time="0.009902"/>
        <testcase name="test_dry_run_does_not_persist_resolutions" file="/Users/gentianbeqiri/StudioProjects/pos_system/apps/api/tests/Feature/CompetitorProductIdentityResolutionTest.php" line="71" class="Tests\Feature\CompetitorProductIdentityResolutionTest" classname="Tests.Feature.CompetitorProductIdentityResolutionTest" assertions="2" time="0.007951"/>
      </testsuite>
      <testsuite name="Tests\Feature\CompetitorProductMaterializationIncrementalTest" file="/Users/gentianbeqiri/StudioProjects/pos_system/apps/api/tests/Feature/CompetitorProductMaterializationIncrementalTest.php" tests="3" assertions="26" errors="0" failures="0" skipped="0" time="1.920442">
        <testcase name="test_cursor_batches_process_all_observations_beyond_500_limit" file="/Users/gentianbeqiri/StudioProjects/pos_system/apps/api/tests/Feature/CompetitorProductMaterializationIncrementalTest.php" line="22" class="Tests\Feature\CompetitorProductMaterializationIncrementalTest" classname="Tests.Feature.CompetitorProductMaterializationIncrementalTest" assertions="16" time="0.974332"/>
        <testcase name="test_dry_run_all_pending_visits_each_observation_once_without_advancing_persisted_cursor" file="/Users/gentianbeqiri/StudioProjects/pos_system/apps/api/tests/Feature/CompetitorProductMaterializationIncrementalTest.php" line="76" class="Tests\Feature\CompetitorProductMaterializationIncrementalTest" classname="Tests.Feature.CompetitorProductMaterializationIncrementalTest" assertions="6" time="0.363207"/>
        <testcase name="test_live_all_pending_advances_persisted_cursor_and_creates_products" file="/Users/gentianbeqiri/StudioProjects/pos_system/apps/api/tests/Feature/CompetitorProductMaterializationIncrementalTest.php" line="118" class="Tests\Feature\CompetitorProductMaterializationIncrementalTest" classname="Tests.Feature.CompetitorProductMaterializationIncrementalTest" assertions="4" time="0.582903"/>
      </testsuite>
      <testsuite name="Tests\Feature\CrossRetailerProductIdentityTest" file="/Users/gentianbeqiri/StudioProjects/pos_system/apps/api/tests/Feature/CrossRetailerProductIdentityTest.php" tests="7" assertions="17" errors="0" failures="0" skipped="0" time="0.195647">
        <testcase name="test_same_product_same_size_scores_strong" file="/Users/gentianbeqiri/StudioProjects/pos_system/apps/api/tests/Feature/CrossRetailerProductIdentityTest.php" line="33" class="Tests\Feature\CrossRetailerProductIdentityTest" classname="Tests.Feature.CrossRetailerProductIdentityTest" assertions="1" time="0.029197"/>
        <testcase name="test_same_brand_different_size_is_rejected" file="/Users/gentianbeqiri/StudioProjects/pos_system/apps/api/tests/Feature/CrossRetailerProductIdentityTest.php" line="45" class="Tests\Feature\CrossRetailerProductIdentityTest" classname="Tests.Feature.CrossRetailerProductIdentityTest" assertions="2" time="0.027207"/>
        <testcase name="test_multipack_conflict_rejects" file="/Users/gentianbeqiri/StudioProjects/pos_system/apps/api/tests/Feature/CrossRetailerProductIdentityTest.php" line="61" class="Tests\Feature\CrossRetailerProductIdentityTest" classname="Tests.Feature.CrossRetailerProductIdentityTest" assertions="2" time="0.027248"/>
        <testcase name="test_stobi_flips_vs_stobi_wine_rejected" file="/Users/gentianbeqiri/StudioProjects/pos_system/apps/api/tests/Feature/CrossRetailerProductIdentityTest.php" line="74" class="Tests\Feature\CrossRetailerProductIdentityTest" classname="Tests.Feature.CrossRetailerProductIdentityTest" assertions="2" time="0.027148"/>
        <testcase name="test_cyrillic_latin_same_sku_strong" file="/Users/gentianbeqiri/StudioProjects/pos_system/apps/api/tests/Feature/CrossRetailerProductIdentityTest.php" line="90" class="Tests\Feature\CrossRetailerProductIdentityTest" classname="Tests.Feature.CrossRetailerProductIdentityTest" assertions="1" time="0.027027"/>
        <testcase name="test_cross_retailer_gtin_propagation_does_not_escalate_trust_or_write_ean" file="/Users/gentianbeqiri/StudioProjects/pos_system/apps/api/tests/Feature/CrossRetailerProductIdentityTest.php" line="102" class="Tests\Feature\CrossRetailerProductIdentityTest" classname="Tests.Feature.CrossRetailerProductIdentityTest" assertions="7" time="0.029332"/>
        <testcase name="test_persist_evidence_does_not_merge_competitor_products" file="/Users/gentianbeqiri/StudioProjects/pos_system/apps/api/tests/Feature/CrossRetailerProductIdentityTest.php" line="138" class="Tests\Feature\CrossRetailerProductIdentityTest" classname="Tests.Feature.CrossRetailerProductIdentityTest" assertions="2" time="0.028488"/>
      </testsuite>
      <testsuite name="Tests\Feature\CustomerDiscountTest" file="/Users/gentianbeqiri/StudioProjects/pos_system/apps/api/tests/Feature/CustomerDiscountTest.php" tests="6" assertions="29" errors="0" failures="0" skipped="0" time="0.206925">
        <testcase name="test_owner_can_create_customer_and_discount_rules" file="/Users/gentianbeqiri/StudioProjects/pos_system/apps/api/tests/Feature/CustomerDiscountTest.php" line="21" class="Tests\Feature\CustomerDiscountTest" classname="Tests.Feature.CustomerDiscountTest" assertions="7" time="0.036402"/>
        <testcase name="test_owner_can_assign_customer_discount_presets" file="/Users/gentianbeqiri/StudioProjects/pos_system/apps/api/tests/Feature/CustomerDiscountTest.php" line="54" class="Tests\Feature\CustomerDiscountTest" classname="Tests.Feature.CustomerDiscountTest" assertions="7" time="0.036709"/>
        <testcase name="test_owner_can_delete_customer" file="/Users/gentianbeqiri/StudioProjects/pos_system/apps/api/tests/Feature/CustomerDiscountTest.php" line="84" class="Tests\Feature\CustomerDiscountTest" classname="Tests.Feature.CustomerDiscountTest" assertions="5" time="0.032812"/>
        <testcase name="test_cashier_cannot_create_custom_discount_rule" file="/Users/gentianbeqiri/StudioProjects/pos_system/apps/api/tests/Feature/CustomerDiscountTest.php" line="103" class="Tests\Feature\CustomerDiscountTest" classname="Tests.Feature.CustomerDiscountTest" assertions="1" time="0.028401"/>
        <testcase name="test_owner_can_update_and_delete_discount_rule" file="/Users/gentianbeqiri/StudioProjects/pos_system/apps/api/tests/Feature/CustomerDiscountTest.php" line="117" class="Tests\Feature\CustomerDiscountTest" classname="Tests.Feature.CustomerDiscountTest" assertions="7" time="0.033549"/>
        <testcase name="test_completed_sale_ingest_stores_customer_and_discount" file="/Users/gentianbeqiri/StudioProjects/pos_system/apps/api/tests/Feature/CustomerDiscountTest.php" line="146" class="Tests\Feature\CustomerDiscountTest" classname="Tests.Feature.CustomerDiscountTest" assertions="2" time="0.039052"/>
      </testsuite>
      <testsuite name="Tests\Feature\EmployeeManagementTest" file="/Users/gentianbeqiri/StudioProjects/pos_system/apps/api/tests/Feature/EmployeeManagementTest.php" tests="4" assertions="18" errors="0" failures="0" skipped="0" time="0.152631">
        <testcase name="test_owner_can_create_cashier_and_list_employees" file="/Users/gentianbeqiri/StudioProjects/pos_system/apps/api/tests/Feature/EmployeeManagementTest.php" line="19" class="Tests\Feature\EmployeeManagementTest" classname="Tests.Feature.EmployeeManagementTest" assertions="8" time="0.054138"/>
        <testcase name="test_owner_can_deactivate_cashier" file="/Users/gentianbeqiri/StudioProjects/pos_system/apps/api/tests/Feature/EmployeeManagementTest.php" line="45" class="Tests\Feature\EmployeeManagementTest" classname="Tests.Feature.EmployeeManagementTest" assertions="3" time="0.033455"/>
        <testcase name="test_owner_can_delete_cashier" file="/Users/gentianbeqiri/StudioProjects/pos_system/apps/api/tests/Feature/EmployeeManagementTest.php" line="62" class="Tests\Feature\EmployeeManagementTest" classname="Tests.Feature.EmployeeManagementTest" assertions="5" time="0.034997"/>
        <testcase name="test_cashier_cannot_manage_employees" file="/Users/gentianbeqiri/StudioProjects/pos_system/apps/api/tests/Feature/EmployeeManagementTest.php" line="83" class="Tests\Feature\EmployeeManagementTest" classname="Tests.Feature.EmployeeManagementTest" assertions="2" time="0.030042"/>
      </testsuite>
      <testsuite name="Tests\Feature\FiscalHardwareTest" file="/Users/gentianbeqiri/StudioProjects/pos_system/apps/api/tests/Feature/FiscalHardwareTest.php" tests="2" assertions="17" errors="0" failures="0" skipped="0" time="0.074784">
        <testcase name="test_owner_can_configure_fiscal_and_run_reports" file="/Users/gentianbeqiri/StudioProjects/pos_system/apps/api/tests/Feature/FiscalHardwareTest.php" line="22" class="Tests\Feature\FiscalHardwareTest" classname="Tests.Feature.FiscalHardwareTest" assertions="14" time="0.038719"/>
        <testcase name="test_sale_sync_attaches_fiscal_document" file="/Users/gentianbeqiri/StudioProjects/pos_system/apps/api/tests/Feature/FiscalHardwareTest.php" line="66" class="Tests\Feature\FiscalHardwareTest" classname="Tests.Feature.FiscalHardwareTest" assertions="3" time="0.036065"/>
      </testsuite>
      <testsuite name="Tests\Feature\GoodsReceiptPhotoTest" file="/Users/gentianbeqiri/StudioProjects/pos_system/apps/api/tests/Feature/GoodsReceiptPhotoTest.php" tests="2" assertions="27" errors="0" failures="0" skipped="0" time="0.117215">
        <testcase name="test_private_photo_upload_retry_and_download_do_not_change_receipt_or_stock" file="/Users/gentianbeqiri/StudioProjects/pos_system/apps/api/tests/Feature/GoodsReceiptPhotoTest.php" line="36" class="Tests\Feature\GoodsReceiptPhotoTest" classname="Tests.Feature.GoodsReceiptPhotoTest" assertions="17" time="0.064509"/>
        <testcase name="test_photo_validation_and_tenant_isolation" file="/Users/gentianbeqiri/StudioProjects/pos_system/apps/api/tests/Feature/GoodsReceiptPhotoTest.php" line="58" class="Tests\Feature\GoodsReceiptPhotoTest" classname="Tests.Feature.GoodsReceiptPhotoTest" assertions="10" time="0.052706"/>
      </testsuite>
      <testsuite name="Tests\Feature\GoodsReceivingPlanningTest" file="/Users/gentianbeqiri/StudioProjects/pos_system/apps/api/tests/Feature/GoodsReceivingPlanningTest.php" tests="4" assertions="33" errors="0" failures="0" skipped="0" time="0.520322">
        <testcase name="test_receiving_does_not_affect_demand_and_updates_stock_once" file="/Users/gentianbeqiri/StudioProjects/pos_system/apps/api/tests/Feature/GoodsReceivingPlanningTest.php" line="28" class="Tests\Feature\GoodsReceivingPlanningTest" classname="Tests.Feature.GoodsReceivingPlanningTest" assertions="11" time="0.220783"/>
        <testcase name="test_multiple_receivings_and_wac_remain_canonical" file="/Users/gentianbeqiri/StudioProjects/pos_system/apps/api/tests/Feature/GoodsReceivingPlanningTest.php" line="76" class="Tests\Feature\GoodsReceivingPlanningTest" classname="Tests.Feature.GoodsReceivingPlanningTest" assertions="8" time="0.053311"/>
        <testcase name="test_warehouse_isolation_and_posted_only_history" file="/Users/gentianbeqiri/StudioProjects/pos_system/apps/api/tests/Feature/GoodsReceivingPlanningTest.php" line="124" class="Tests\Feature\GoodsReceivingPlanningTest" classname="Tests.Feature.GoodsReceivingPlanningTest" assertions="5" time="0.041967"/>
        <testcase name="test_supplier_rollup_and_cost_permissions" file="/Users/gentianbeqiri/StudioProjects/pos_system/apps/api/tests/Feature/GoodsReceivingPlanningTest.php" line="200" class="Tests\Feature\GoodsReceivingPlanningTest" classname="Tests.Feature.GoodsReceivingPlanningTest" assertions="9" time="0.204261"/>
      </testsuite>
      <testsuite name="Tests\Feature\GoodsReceivingTest" file="/Users/gentianbeqiri/StudioProjects/pos_system/apps/api/tests/Feature/GoodsReceivingTest.php" tests="14" assertions="107" errors="0" failures="0" skipped="0" time="0.677714">
        <testcase name="test_paid_and_free_lines_for_same_product_preserve_costs_and_stock" file="/Users/gentianbeqiri/StudioProjects/pos_system/apps/api/tests/Feature/GoodsReceivingTest.php" line="25" class="Tests\Feature\GoodsReceivingTest" classname="Tests.Feature.GoodsReceivingTest" assertions="9" time="0.042903"/>
        <testcase name="test_receipts_search_matches_numbers_and_supplier_before_pagination" file="/Users/gentianbeqiri/StudioProjects/pos_system/apps/api/tests/Feature/GoodsReceivingTest.php" line="49" class="Tests\Feature\GoodsReceivingTest" classname="Tests.Feature.GoodsReceivingTest" assertions="13" time="0.054138"/>
        <testcase name="test_receipt_method_filter_combines_search_before_pagination_without_writes" file="/Users/gentianbeqiri/StudioProjects/pos_system/apps/api/tests/Feature/GoodsReceivingTest.php" line="73" class="Tests\Feature\GoodsReceivingTest" classname="Tests.Feature.GoodsReceivingTest" assertions="17" time="0.066904"/>
        <testcase name="test_receive_updates_stock_and_wac" file="/Users/gentianbeqiri/StudioProjects/pos_system/apps/api/tests/Feature/GoodsReceivingTest.php" line="98" class="Tests\Feature\GoodsReceivingTest" classname="Tests.Feature.GoodsReceivingTest" assertions="9" time="0.046745"/>
        <testcase name="test_receive_stores_payment_method_cash_or_invoice" file="/Users/gentianbeqiri/StudioProjects/pos_system/apps/api/tests/Feature/GoodsReceivingTest.php" line="146" class="Tests\Feature\GoodsReceivingTest" classname="Tests.Feature.GoodsReceivingTest" assertions="7" time="0.047374"/>
        <testcase name="test_invoice_posts_and_receives_stock" file="/Users/gentianbeqiri/StudioProjects/pos_system/apps/api/tests/Feature/GoodsReceivingTest.php" line="195" class="Tests\Feature\GoodsReceivingTest" classname="Tests.Feature.GoodsReceivingTest" assertions="6" time="0.050800"/>
        <testcase name="test_receive_can_create_unknown_barcode_product" file="/Users/gentianbeqiri/StudioProjects/pos_system/apps/api/tests/Feature/GoodsReceivingTest.php" line="232" class="Tests\Feature\GoodsReceivingTest" classname="Tests.Feature.GoodsReceivingTest" assertions="3" time="0.037796"/>
        <testcase name="test_receive_with_expiry_creates_batch_and_alerts" file="/Users/gentianbeqiri/StudioProjects/pos_system/apps/api/tests/Feature/GoodsReceivingTest.php" line="263" class="Tests\Feature\GoodsReceivingTest" classname="Tests.Feature.GoodsReceivingTest" assertions="9" time="0.047122"/>
        <testcase name="test_admin_can_delete_receipt_and_reverse_stock" file="/Users/gentianbeqiri/StudioProjects/pos_system/apps/api/tests/Feature/GoodsReceivingTest.php" line="311" class="Tests\Feature\GoodsReceivingTest" classname="Tests.Feature.GoodsReceivingTest" assertions="7" time="0.042668"/>
        <testcase name="test_admin_can_update_receipt_lines_and_stock" file="/Users/gentianbeqiri/StudioProjects/pos_system/apps/api/tests/Feature/GoodsReceivingTest.php" line="343" class="Tests\Feature\GoodsReceivingTest" classname="Tests.Feature.GoodsReceivingTest" assertions="7" time="0.050368"/>
        <testcase name="test_admin_can_add_product_line_when_updating_receipt" file="/Users/gentianbeqiri/StudioProjects/pos_system/apps/api/tests/Feature/GoodsReceivingTest.php" line="386" class="Tests\Feature\GoodsReceivingTest" classname="Tests.Feature.GoodsReceivingTest" assertions="6" time="0.049873"/>
        <testcase name="test_admin_can_add_line_even_when_original_stock_was_sold" file="/Users/gentianbeqiri/StudioProjects/pos_system/apps/api/tests/Feature/GoodsReceivingTest.php" line="443" class="Tests\Feature\GoodsReceivingTest" classname="Tests.Feature.GoodsReceivingTest" assertions="7" time="0.050311"/>
        <testcase name="test_admin_can_edit_cost_when_stock_already_sold" file="/Users/gentianbeqiri/StudioProjects/pos_system/apps/api/tests/Feature/GoodsReceivingTest.php" line="513" class="Tests\Feature\GoodsReceivingTest" classname="Tests.Feature.GoodsReceivingTest" assertions="5" time="0.045699"/>
        <testcase name="test_cashier_cannot_delete_receipt" file="/Users/gentianbeqiri/StudioProjects/pos_system/apps/api/tests/Feature/GoodsReceivingTest.php" line="562" class="Tests\Feature\GoodsReceivingTest" classname="Tests.Feature.GoodsReceivingTest" assertions="2" time="0.045015"/>
      </testsuite>
      <testsuite name="Tests\Feature\GoodsReceivingUnknownProductWorkflowTest" file="/Users/gentianbeqiri/StudioProjects/pos_system/apps/api/tests/Feature/GoodsReceivingUnknownProductWorkflowTest.php" tests="2" assertions="30" errors="0" failures="0" skipped="0" time="0.100517">
        <testcase name="test_coca_cola_and_unknown_pepsi_receipt_workflow" file="/Users/gentianbeqiri/StudioProjects/pos_system/apps/api/tests/Feature/GoodsReceivingUnknownProductWorkflowTest.php" line="28" class="Tests\Feature\GoodsReceivingUnknownProductWorkflowTest" classname="Tests.Feature.GoodsReceivingUnknownProductWorkflowTest" assertions="13" time="0.049045"/>
        <testcase name="test_offline_receipt_keeps_product_identity_date_and_stock_on_retry" file="/Users/gentianbeqiri/StudioProjects/pos_system/apps/api/tests/Feature/GoodsReceivingUnknownProductWorkflowTest.php" line="99" class="Tests\Feature\GoodsReceivingUnknownProductWorkflowTest" classname="Tests.Feature.GoodsReceivingUnknownProductWorkflowTest" assertions="17" time="0.051472"/>
      </testsuite>
      <testsuite name="Tests\Feature\HealthEndpointTest" file="/Users/gentianbeqiri/StudioProjects/pos_system/apps/api/tests/Feature/HealthEndpointTest.php" tests="2" assertions="8" errors="0" failures="0" skipped="0" time="0.020074">
        <testcase name="test_live_health_returns_ok_with_request_id" file="/Users/gentianbeqiri/StudioProjects/pos_system/apps/api/tests/Feature/HealthEndpointTest.php" line="12" class="Tests\Feature\HealthEndpointTest" classname="Tests.Feature.HealthEndpointTest" assertions="4" time="0.008759"/>
        <testcase name="test_ready_health_checks_database_and_schema" file="/Users/gentianbeqiri/StudioProjects/pos_system/apps/api/tests/Feature/HealthEndpointTest.php" line="22" class="Tests\Feature\HealthEndpointTest" classname="Tests.Feature.HealthEndpointTest" assertions="4" time="0.011315"/>
      </testsuite>
      <testsuite name="Tests\Feature\InvoiceSalesManagementTest" file="/Users/gentianbeqiri/StudioProjects/pos_system/apps/api/tests/Feature/InvoiceSalesManagementTest.php" tests="12" assertions="187" errors="0" failures="0" skipped="0" time="0.634752">
        <testcase name="test_service_invoice_is_canonical_retryable_without_stock_or_fiscal_records" file="/Users/gentianbeqiri/StudioProjects/pos_system/apps/api/tests/Feature/InvoiceSalesManagementTest.php" line="64" class="Tests\Feature\InvoiceSalesManagementTest" classname="Tests.Feature.InvoiceSalesManagementTest" assertions="20" time="0.050773"/>
        <testcase name="test_service_invoice_validates_tenant_device_and_inputs" file="/Users/gentianbeqiri/StudioProjects/pos_system/apps/api/tests/Feature/InvoiceSalesManagementTest.php" line="88" class="Tests\Feature\InvoiceSalesManagementTest" classname="Tests.Feature.InvoiceSalesManagementTest" assertions="5" time="0.037723"/>
        <testcase name="test_service_invoice_requires_management_permission" file="/Users/gentianbeqiri/StudioProjects/pos_system/apps/api/tests/Feature/InvoiceSalesManagementTest.php" line="105" class="Tests\Feature\InvoiceSalesManagementTest" classname="Tests.Feature.InvoiceSalesManagementTest" assertions="2" time="0.030438"/>
        <testcase name="test_supplier_and_distributor_invoices_keep_recipient_without_creating_companies" file="/Users/gentianbeqiri/StudioProjects/pos_system/apps/api/tests/Feature/InvoiceSalesManagementTest.php" line="112" class="Tests\Feature\InvoiceSalesManagementTest" classname="Tests.Feature.InvoiceSalesManagementTest" assertions="38" time="0.078376"/>
        <testcase name="test_supplier_recipient_cannot_be_foreign_inactive_or_combined_with_company" file="/Users/gentianbeqiri/StudioProjects/pos_system/apps/api/tests/Feature/InvoiceSalesManagementTest.php" line="141" class="Tests\Feature\InvoiceSalesManagementTest" classname="Tests.Feature.InvoiceSalesManagementTest" assertions="4" time="0.037835"/>
        <testcase name="test_legacy_inclusive_request_remains_unchanged" file="/Users/gentianbeqiri/StudioProjects/pos_system/apps/api/tests/Feature/InvoiceSalesManagementTest.php" line="155" class="Tests\Feature\InvoiceSalesManagementTest" classname="Tests.Feature.InvoiceSalesManagementTest" assertions="5" time="0.040290"/>
        <testcase name="test_manual_invoice_delete_is_audited_idempotent_and_cannot_be_replayed" file="/Users/gentianbeqiri/StudioProjects/pos_system/apps/api/tests/Feature/InvoiceSalesManagementTest.php" line="165" class="Tests\Feature\InvoiceSalesManagementTest" classname="Tests.Feature.InvoiceSalesManagementTest" assertions="18" time="0.048255"/>
        <testcase name="test_delete_protects_pos_paid_foreign_and_unauthorized_invoices" file="/Users/gentianbeqiri/StudioProjects/pos_system/apps/api/tests/Feature/InvoiceSalesManagementTest.php" line="186" class="Tests\Feature\InvoiceSalesManagementTest" classname="Tests.Feature.InvoiceSalesManagementTest" assertions="9" time="0.058554"/>
        <testcase name="test_same_canonical_sale_and_independent_audited_settlement" file="/Users/gentianbeqiri/StudioProjects/pos_system/apps/api/tests/Feature/InvoiceSalesManagementTest.php" line="221" class="Tests\Feature\InvoiceSalesManagementTest" classname="Tests.Feature.InvoiceSalesManagementTest" assertions="35" time="0.059651"/>
        <testcase name="test_audit_failure_rolls_back_settlement" file="/Users/gentianbeqiri/StudioProjects/pos_system/apps/api/tests/Feature/InvoiceSalesManagementTest.php" line="255" class="Tests\Feature\InvoiceSalesManagementTest" classname="Tests.Feature.InvoiceSalesManagementTest" assertions="5" time="0.044345"/>
        <testcase name="test_filters_pagination_and_business_dates" file="/Users/gentianbeqiri/StudioProjects/pos_system/apps/api/tests/Feature/InvoiceSalesManagementTest.php" line="272" class="Tests\Feature\InvoiceSalesManagementTest" classname="Tests.Feature.InvoiceSalesManagementTest" assertions="31" time="0.087703"/>
        <testcase name="test_authorization_tenant_isolation_and_non_invoice_rejection" file="/Users/gentianbeqiri/StudioProjects/pos_system/apps/api/tests/Feature/InvoiceSalesManagementTest.php" line="298" class="Tests\Feature\InvoiceSalesManagementTest" classname="Tests.Feature.InvoiceSalesManagementTest" assertions="15" time="0.060810"/>
      </testsuite>
      <testsuite name="Tests\Feature\ManagerPinTest" file="/Users/gentianbeqiri/StudioProjects/pos_system/apps/api/tests/Feature/ManagerPinTest.php" tests="3" assertions="10" errors="0" failures="0" skipped="0" time="0.187345">
        <testcase name="test_cashier_can_verify_manager_pin" file="/Users/gentianbeqiri/StudioProjects/pos_system/apps/api/tests/Feature/ManagerPinTest.php" line="15" class="Tests\Feature\ManagerPinTest" classname="Tests.Feature.ManagerPinTest" assertions="3" time="0.061606"/>
        <testcase name="test_owner_can_change_manager_pin" file="/Users/gentianbeqiri/StudioProjects/pos_system/apps/api/tests/Feature/ManagerPinTest.php" line="33" class="Tests\Feature\ManagerPinTest" classname="Tests.Feature.ManagerPinTest" assertions="4" time="0.064094"/>
        <testcase name="test_owner_can_set_pin_for_cashier" file="/Users/gentianbeqiri/StudioProjects/pos_system/apps/api/tests/Feature/ManagerPinTest.php" line="55" class="Tests\Feature\ManagerPinTest" classname="Tests.Feature.ManagerPinTest" assertions="3" time="0.061646"/>
      </testsuite>
      <testsuite name="Tests\Feature\OpsAdvancedTest" file="/Users/gentianbeqiri/StudioProjects/pos_system/apps/api/tests/Feature/OpsAdvancedTest.php" tests="2" assertions="20" errors="0" failures="0" skipped="0" time="0.071824">
        <testcase name="test_settings_update_writes_audit_and_notifications_flow" file="/Users/gentianbeqiri/StudioProjects/pos_system/apps/api/tests/Feature/OpsAdvancedTest.php" line="21" class="Tests\Feature\OpsAdvancedTest" classname="Tests.Feature.OpsAdvancedTest" assertions="19" time="0.042864"/>
        <testcase name="test_cashier_cannot_update_settings" file="/Users/gentianbeqiri/StudioProjects/pos_system/apps/api/tests/Feature/OpsAdvancedTest.php" line="80" class="Tests\Feature\OpsAdvancedTest" classname="Tests.Feature.OpsAdvancedTest" assertions="1" time="0.028960"/>
      </testsuite>
      <testsuite name="Tests\Feature\OpsReportsTest" file="/Users/gentianbeqiri/StudioProjects/pos_system/apps/api/tests/Feature/OpsReportsTest.php" tests="1" assertions="3" errors="0" failures="0" skipped="0" time="0.037434">
        <testcase name="test_ops_reports_endpoints_return_data" file="/Users/gentianbeqiri/StudioProjects/pos_system/apps/api/tests/Feature/OpsReportsTest.php" line="22" class="Tests\Feature\OpsReportsTest" classname="Tests.Feature.OpsReportsTest" assertions="3" time="0.037434"/>
      </testsuite>
      <testsuite name="Tests\Feature\PermissionGateTest" file="/Users/gentianbeqiri/StudioProjects/pos_system/apps/api/tests/Feature/PermissionGateTest.php" tests="2" assertions="3" errors="0" failures="0" skipped="0" time="0.058034">
        <testcase name="test_cashier_cannot_change_product_price" file="/Users/gentianbeqiri/StudioProjects/pos_system/apps/api/tests/Feature/PermissionGateTest.php" line="19" class="Tests\Feature\PermissionGateTest" classname="Tests.Feature.PermissionGateTest" assertions="1" time="0.028860"/>
        <testcase name="test_owner_can_change_product_price" file="/Users/gentianbeqiri/StudioProjects/pos_system/apps/api/tests/Feature/PermissionGateTest.php" line="33" class="Tests\Feature\PermissionGateTest" classname="Tests.Feature.PermissionGateTest" assertions="2" time="0.029174"/>
      </testsuite>
      <testsuite name="Tests\Feature\PlanningDemandProjectionTest" file="/Users/gentianbeqiri/StudioProjects/pos_system/apps/api/tests/Feature/PlanningDemandProjectionTest.php" tests="1" assertions="9" errors="0" failures="0" skipped="0" time="0.041587">
        <testcase name="test_projection_is_warehouse_scoped_idempotent_and_uses_net_refund_quantities" file="/Users/gentianbeqiri/StudioProjects/pos_system/apps/api/tests/Feature/PlanningDemandProjectionTest.php" line="28" class="Tests\Feature\PlanningDemandProjectionTest" classname="Tests.Feature.PlanningDemandProjectionTest" assertions="9" time="0.041587"/>
      </testsuite>
      <testsuite name="Tests\Feature\PlanningPerformanceRemediationTest" file="/Users/gentianbeqiri/StudioProjects/pos_system/apps/api/tests/Feature/PlanningPerformanceRemediationTest.php" tests="6" assertions="22" errors="0" failures="0" skipped="0" time="0.371449">
        <testcase name="test_forecast_batch_uses_bounded_demand_queries_not_per_product" file="/Users/gentianbeqiri/StudioProjects/pos_system/apps/api/tests/Feature/PlanningPerformanceRemediationTest.php" line="30" class="Tests\Feature\PlanningPerformanceRemediationTest" classname="Tests.Feature.PlanningPerformanceRemediationTest" assertions="4" time="0.074614"/>
        <testcase name="test_summary_projection_reconciles_with_canonical_calculation" file="/Users/gentianbeqiri/StudioProjects/pos_system/apps/api/tests/Feature/PlanningPerformanceRemediationTest.php" line="59" class="Tests\Feature\PlanningPerformanceRemediationTest" classname="Tests.Feature.PlanningPerformanceRemediationTest" assertions="6" time="0.078720"/>
        <testcase name="test_refresh_job_is_idempotent" file="/Users/gentianbeqiri/StudioProjects/pos_system/apps/api/tests/Feature/PlanningPerformanceRemediationTest.php" line="79" class="Tests\Feature\PlanningPerformanceRemediationTest" classname="Tests.Feature.PlanningPerformanceRemediationTest" assertions="3" time="0.087930"/>
        <testcase name="test_single_sale_marks_only_affected_products_dirty" file="/Users/gentianbeqiri/StudioProjects/pos_system/apps/api/tests/Feature/PlanningPerformanceRemediationTest.php" line="105" class="Tests\Feature\PlanningPerformanceRemediationTest" classname="Tests.Feature.PlanningPerformanceRemediationTest" assertions="3" time="0.035555"/>
        <testcase name="test_planning_read_does_not_synchronously_rebuild_demand_projection" file="/Users/gentianbeqiri/StudioProjects/pos_system/apps/api/tests/Feature/PlanningPerformanceRemediationTest.php" line="145" class="Tests\Feature\PlanningPerformanceRemediationTest" classname="Tests.Feature.PlanningPerformanceRemediationTest" assertions="2" time="0.047173"/>
        <testcase name="test_summary_read_returns_freshness_metadata" file="/Users/gentianbeqiri/StudioProjects/pos_system/apps/api/tests/Feature/PlanningPerformanceRemediationTest.php" line="167" class="Tests\Feature\PlanningPerformanceRemediationTest" classname="Tests.Feature.PlanningPerformanceRemediationTest" assertions="4" time="0.047456"/>
      </testsuite>
      <testsuite name="Tests\Feature\PlatformConsoleTest" file="/Users/gentianbeqiri/StudioProjects/pos_system/apps/api/tests/Feature/PlatformConsoleTest.php" tests="2" assertions="11" errors="0" failures="0" skipped="0" time="0.090265">
        <testcase name="test_platform_admin_can_create_and_list_markets" file="/Users/gentianbeqiri/StudioProjects/pos_system/apps/api/tests/Feature/PlatformConsoleTest.php" line="17" class="Tests\Feature\PlatformConsoleTest" classname="Tests.Feature.PlatformConsoleTest" assertions="10" time="0.044917"/>
        <testcase name="test_tenant_user_cannot_access_platform_routes" file="/Users/gentianbeqiri/StudioProjects/pos_system/apps/api/tests/Feature/PlatformConsoleTest.php" line="60" class="Tests\Feature\PlatformConsoleTest" classname="Tests.Feature.PlatformConsoleTest" assertions="1" time="0.045348"/>
      </testsuite>
      <testsuite name="Tests\Feature\ProductCatalogTest" file="/Users/gentianbeqiri/StudioProjects/pos_system/apps/api/tests/Feature/ProductCatalogTest.php" tests="7" assertions="25" errors="0" failures="0" skipped="0" time="0.259879">
        <testcase name="test_owner_can_create_product_with_markup_pricing" file="/Users/gentianbeqiri/StudioProjects/pos_system/apps/api/tests/Feature/ProductCatalogTest.php" line="24" class="Tests\Feature\ProductCatalogTest" classname="Tests.Feature.ProductCatalogTest" assertions="6" time="0.033530"/>
        <testcase name="test_barcode_lookup_finds_product" file="/Users/gentianbeqiri/StudioProjects/pos_system/apps/api/tests/Feature/ProductCatalogTest.php" line="64" class="Tests\Feature\ProductCatalogTest" classname="Tests.Feature.ProductCatalogTest" assertions="3" time="0.035004"/>
        <testcase name="test_cashier_cannot_change_selling_price_directly" file="/Users/gentianbeqiri/StudioProjects/pos_system/apps/api/tests/Feature/ProductCatalogTest.php" line="88" class="Tests\Feature\ProductCatalogTest" classname="Tests.Feature.ProductCatalogTest" assertions="1" time="0.040634"/>
        <testcase name="test_tenant_isolation_on_products" file="/Users/gentianbeqiri/StudioProjects/pos_system/apps/api/tests/Feature/ProductCatalogTest.php" line="114" class="Tests\Feature\ProductCatalogTest" classname="Tests.Feature.ProductCatalogTest" assertions="3" time="0.036086"/>
        <testcase name="test_updating_base_price_propagates_to_location_product_prices" file="/Users/gentianbeqiri/StudioProjects/pos_system/apps/api/tests/Feature/ProductCatalogTest.php" line="140" class="Tests\Feature\ProductCatalogTest" classname="Tests.Feature.ProductCatalogTest" assertions="3" time="0.037582"/>
        <testcase name="test_update_keeps_submitted_selling_price_when_margin_also_sent" file="/Users/gentianbeqiri/StudioProjects/pos_system/apps/api/tests/Feature/ProductCatalogTest.php" line="178" class="Tests\Feature\ProductCatalogTest" classname="Tests.Feature.ProductCatalogTest" assertions="3" time="0.037128"/>
        <testcase name="test_owner_can_accept_pending_review_product" file="/Users/gentianbeqiri/StudioProjects/pos_system/apps/api/tests/Feature/ProductCatalogTest.php" line="208" class="Tests\Feature\ProductCatalogTest" classname="Tests.Feature.ProductCatalogTest" assertions="6" time="0.039914"/>
      </testsuite>
      <testsuite name="Tests\Feature\ProductListQueryCountTest" file="/Users/gentianbeqiri/StudioProjects/pos_system/apps/api/tests/Feature/ProductListQueryCountTest.php" tests="1" assertions="2" errors="0" failures="0" skipped="0" time="0.031629">
        <testcase name="test_product_list_does_not_query_per_row_promotions" file="/Users/gentianbeqiri/StudioProjects/pos_system/apps/api/tests/Feature/ProductListQueryCountTest.php" line="22" class="Tests\Feature\ProductListQueryCountTest" classname="Tests.Feature.ProductListQueryCountTest" assertions="2" time="0.031629"/>
      </testsuite>
      <testsuite name="Tests\Feature\PromotionPricingTest" file="/Users/gentianbeqiri/StudioProjects/pos_system/apps/api/tests/Feature/PromotionPricingTest.php" tests="9" assertions="68" errors="0" failures="0" skipped="0" time="0.395325">
        <testcase name="test_active_percent_promotion_overrides_effective_price" file="/Users/gentianbeqiri/StudioProjects/pos_system/apps/api/tests/Feature/PromotionPricingTest.php" line="23" class="Tests\Feature\PromotionPricingTest" classname="Tests.Feature.PromotionPricingTest" assertions="6" time="0.038818"/>
        <testcase name="test_fixed_price_promo_and_label_preview" file="/Users/gentianbeqiri/StudioProjects/pos_system/apps/api/tests/Feature/PromotionPricingTest.php" line="50" class="Tests\Feature\PromotionPricingTest" classname="Tests.Feature.PromotionPricingTest" assertions="9" time="0.044960"/>
        <testcase name="test_promotion_can_be_deleted" file="/Users/gentianbeqiri/StudioProjects/pos_system/apps/api/tests/Feature/PromotionPricingTest.php" line="85" class="Tests\Feature\PromotionPricingTest" classname="Tests.Feature.PromotionPricingTest" assertions="6" time="0.045392"/>
        <testcase name="test_category_promo_applies_when_no_product_promo" file="/Users/gentianbeqiri/StudioProjects/pos_system/apps/api/tests/Feature/PromotionPricingTest.php" line="113" class="Tests\Feature\PromotionPricingTest" classname="Tests.Feature.PromotionPricingTest" assertions="2" time="0.040511"/>
        <testcase name="test_expired_promotion_window_restores_base_price" file="/Users/gentianbeqiri/StudioProjects/pos_system/apps/api/tests/Feature/PromotionPricingTest.php" line="147" class="Tests\Feature\PromotionPricingTest" classname="Tests.Feature.PromotionPricingTest" assertions="4" time="0.038786"/>
        <testcase name="test_staff_can_preview_labels_without_access_to_pricing_management" file="/Users/gentianbeqiri/StudioProjects/pos_system/apps/api/tests/Feature/PromotionPricingTest.php" line="174" class="Tests\Feature\PromotionPricingTest" classname="Tests.Feature.PromotionPricingTest" assertions="14" time="0.051013"/>
        <testcase name="test_promotion_delete_retries_confirm_absence_without_duplicate_audit" file="/Users/gentianbeqiri/StudioProjects/pos_system/apps/api/tests/Feature/PromotionPricingTest.php" line="195" class="Tests\Feature\PromotionPricingTest" classname="Tests.Feature.PromotionPricingTest" assertions="8" time="0.039667"/>
        <testcase name="test_delete_retry_keeps_permissions_and_tenant_isolation" file="/Users/gentianbeqiri/StudioProjects/pos_system/apps/api/tests/Feature/PromotionPricingTest.php" line="211" class="Tests\Feature\PromotionPricingTest" classname="Tests.Feature.PromotionPricingTest" assertions="5" time="0.040869"/>
        <testcase name="test_catalog_create_retries_do_not_duplicate_or_overwrite_changes" file="/Users/gentianbeqiri/StudioProjects/pos_system/apps/api/tests/Feature/PromotionPricingTest.php" line="229" class="Tests\Feature\PromotionPricingTest" classname="Tests.Feature.PromotionPricingTest" assertions="14" time="0.055308"/>
      </testsuite>
      <testsuite name="Tests\Feature\RemovedSaleLineSyncTest" file="/Users/gentianbeqiri/StudioProjects/pos_system/apps/api/tests/Feature/RemovedSaleLineSyncTest.php" tests="10" assertions="352" errors="0" failures="0" skipped="0" time="0.350650">
        <testsuite name="Tests\Feature\RemovedSaleLineSyncTest::test_recovery_preserves_invariants_and_retries_in_both_orders" tests="2" assertions="266" errors="0" failures="0" skipped="0" time="0.106167">
          <testcase name="test_recovery_preserves_invariants_and_retries_in_both_orders with data set #0" file="/Users/gentianbeqiri/StudioProjects/pos_system/apps/api/tests/Feature/RemovedSaleLineSyncTest.php" line="101" class="Tests\Feature\RemovedSaleLineSyncTest" classname="Tests.Feature.RemovedSaleLineSyncTest" assertions="133" time="0.055169"/>
          <testcase name="test_recovery_preserves_invariants_and_retries_in_both_orders with data set #1" file="/Users/gentianbeqiri/StudioProjects/pos_system/apps/api/tests/Feature/RemovedSaleLineSyncTest.php" line="101" class="Tests\Feature\RemovedSaleLineSyncTest" classname="Tests.Feature.RemovedSaleLineSyncTest" assertions="133" time="0.050998"/>
        </testsuite>
        <testsuite name="Tests\Feature\RemovedSaleLineSyncTest::test_valid_removed_references_are_preserved" tests="3" assertions="18" errors="0" failures="0" skipped="0" time="0.093004">
          <testcase name="test_valid_removed_references_are_preserved with data set #0" file="/Users/gentianbeqiri/StudioProjects/pos_system/apps/api/tests/Feature/RemovedSaleLineSyncTest.php" line="182" class="Tests\Feature\RemovedSaleLineSyncTest" classname="Tests.Feature.RemovedSaleLineSyncTest" assertions="6" time="0.028857"/>
          <testcase name="test_valid_removed_references_are_preserved with data set #1" file="/Users/gentianbeqiri/StudioProjects/pos_system/apps/api/tests/Feature/RemovedSaleLineSyncTest.php" line="182" class="Tests\Feature\RemovedSaleLineSyncTest" classname="Tests.Feature.RemovedSaleLineSyncTest" assertions="6" time="0.029026"/>
          <testcase name="test_valid_removed_references_are_preserved with data set #2" file="/Users/gentianbeqiri/StudioProjects/pos_system/apps/api/tests/Feature/RemovedSaleLineSyncTest.php" line="182" class="Tests\Feature\RemovedSaleLineSyncTest" classname="Tests.Feature.RemovedSaleLineSyncTest" assertions="6" time="0.035121"/>
        </testsuite>
        <testsuite name="Tests\Feature\RemovedSaleLineSyncTest::test_invalid_reference_rolls_back_sale_and_audit_without_blocking_batch" tests="4" assertions="56" errors="0" failures="0" skipped="0" time="0.135411">
          <testcase name="test_invalid_reference_rolls_back_sale_and_audit_without_blocking_batch with data set #0" file="/Users/gentianbeqiri/StudioProjects/pos_system/apps/api/tests/Feature/RemovedSaleLineSyncTest.php" line="202" class="Tests\Feature\RemovedSaleLineSyncTest" classname="Tests.Feature.RemovedSaleLineSyncTest" assertions="14" time="0.037963"/>
          <testcase name="test_invalid_reference_rolls_back_sale_and_audit_without_blocking_batch with data set #1" file="/Users/gentianbeqiri/StudioProjects/pos_system/apps/api/tests/Feature/RemovedSaleLineSyncTest.php" line="202" class="Tests\Feature\RemovedSaleLineSyncTest" classname="Tests.Feature.RemovedSaleLineSyncTest" assertions="14" time="0.032506"/>
          <testcase name="test_invalid_reference_rolls_back_sale_and_audit_without_blocking_batch with data set #2" file="/Users/gentianbeqiri/StudioProjects/pos_system/apps/api/tests/Feature/RemovedSaleLineSyncTest.php" line="202" class="Tests\Feature\RemovedSaleLineSyncTest" classname="Tests.Feature.RemovedSaleLineSyncTest" assertions="14" time="0.032650"/>
          <testcase name="test_invalid_reference_rolls_back_sale_and_audit_without_blocking_batch with data set #3" file="/Users/gentianbeqiri/StudioProjects/pos_system/apps/api/tests/Feature/RemovedSaleLineSyncTest.php" line="202" class="Tests\Feature\RemovedSaleLineSyncTest" classname="Tests.Feature.RemovedSaleLineSyncTest" assertions="14" time="0.032291"/>
        </testsuite>
        <testcase name="test_audit_write_failure_rolls_back_ingestion" file="/Users/gentianbeqiri/StudioProjects/pos_system/apps/api/tests/Feature/RemovedSaleLineSyncTest.php" line="229" class="Tests\Feature\RemovedSaleLineSyncTest" classname="Tests.Feature.RemovedSaleLineSyncTest" assertions="12" time="0.016068"/>
      </testsuite>
      <testsuite name="Tests\Feature\RestaurantModuleTest" file="/Users/gentianbeqiri/StudioProjects/pos_system/apps/api/tests/Feature/RestaurantModuleTest.php" tests="1" assertions="17" errors="0" failures="0" skipped="0" time="0.059740">
        <testcase name="test_open_order_add_line_send_kitchen_and_close" file="/Users/gentianbeqiri/StudioProjects/pos_system/apps/api/tests/Feature/RestaurantModuleTest.php" line="24" class="Tests\Feature\RestaurantModuleTest" classname="Tests.Feature.RestaurantModuleTest" assertions="17" time="0.059740"/>
      </testsuite>
      <testsuite name="Tests\Feature\RetailIntelligenceAffinityMaterializationTest" file="/Users/gentianbeqiri/StudioProjects/pos_system/apps/api/tests/Feature/RetailIntelligenceAffinityMaterializationTest.php" tests="8" assertions="27" errors="0" failures="0" skipped="0" time="0.348269">
        <testcase name="test_materializes_canonical_pair_metrics_and_roles" file="/Users/gentianbeqiri/StudioProjects/pos_system/apps/api/tests/Feature/RetailIntelligenceAffinityMaterializationTest.php" line="40" class="Tests\Feature\RetailIntelligenceAffinityMaterializationTest" classname="Tests.Feature.RetailIntelligenceAffinityMaterializationTest" assertions="8" time="0.051513"/>
        <testcase name="test_rare_pair_suppressed_by_min_support" file="/Users/gentianbeqiri/StudioProjects/pos_system/apps/api/tests/Feature/RetailIntelligenceAffinityMaterializationTest.php" line="79" class="Tests\Feature\RetailIntelligenceAffinityMaterializationTest" classname="Tests.Feature.RetailIntelligenceAffinityMaterializationTest" assertions="2" time="0.037856"/>
        <testcase name="test_high_cardinality_basket_skips_pairs_but_keeps_product_stats" file="/Users/gentianbeqiri/StudioProjects/pos_system/apps/api/tests/Feature/RetailIntelligenceAffinityMaterializationTest.php" line="99" class="Tests\Feature\RetailIntelligenceAffinityMaterializationTest" classname="Tests.Feature.RetailIntelligenceAffinityMaterializationTest" assertions="4" time="0.039188"/>
        <testcase name="test_weighted_quantity_does_not_multiply_presence" file="/Users/gentianbeqiri/StudioProjects/pos_system/apps/api/tests/Feature/RetailIntelligenceAffinityMaterializationTest.php" line="123" class="Tests\Feature\RetailIntelligenceAffinityMaterializationTest" classname="Tests.Feature.RetailIntelligenceAffinityMaterializationTest" assertions="2" time="0.042816"/>
        <testcase name="test_tenant_and_location_isolation" file="/Users/gentianbeqiri/StudioProjects/pos_system/apps/api/tests/Feature/RetailIntelligenceAffinityMaterializationTest.php" line="145" class="Tests\Feature\RetailIntelligenceAffinityMaterializationTest" classname="Tests.Feature.RetailIntelligenceAffinityMaterializationTest" assertions="3" time="0.061882"/>
        <testcase name="test_dry_run_and_idempotent_rerun" file="/Users/gentianbeqiri/StudioProjects/pos_system/apps/api/tests/Feature/RetailIntelligenceAffinityMaterializationTest.php" line="195" class="Tests\Feature\RetailIntelligenceAffinityMaterializationTest" classname="Tests.Feature.RetailIntelligenceAffinityMaterializationTest" assertions="2" time="0.038134"/>
        <testcase name="test_loss_leader_and_margin_roles_use_known_cost_only" file="/Users/gentianbeqiri/StudioProjects/pos_system/apps/api/tests/Feature/RetailIntelligenceAffinityMaterializationTest.php" line="220" class="Tests\Feature\RetailIntelligenceAffinityMaterializationTest" classname="Tests.Feature.RetailIntelligenceAffinityMaterializationTest" assertions="5" time="0.037620"/>
        <testcase name="test_partial_refund_basket_still_contributes_presence_once" file="/Users/gentianbeqiri/StudioProjects/pos_system/apps/api/tests/Feature/RetailIntelligenceAffinityMaterializationTest.php" line="297" class="Tests\Feature\RetailIntelligenceAffinityMaterializationTest" classname="Tests.Feature.RetailIntelligenceAffinityMaterializationTest" assertions="1" time="0.039260"/>
      </testsuite>
      <testsuite name="Tests\Feature\RetailIntelligenceApiTest" file="/Users/gentianbeqiri/StudioProjects/pos_system/apps/api/tests/Feature/RetailIntelligenceApiTest.php" tests="16" assertions="29" errors="0" failures="0" skipped="1" time="1.097211">
        <testcase name="test_overview_requires_permission" file="/Users/gentianbeqiri/StudioProjects/pos_system/apps/api/tests/Feature/RetailIntelligenceApiTest.php" line="33" class="Tests\Feature\RetailIntelligenceApiTest" classname="Tests.Feature.RetailIntelligenceApiTest" assertions="1" time="0.043576"/>
        <testcase name="test_overview_returns_read_only_meta" file="/Users/gentianbeqiri/StudioProjects/pos_system/apps/api/tests/Feature/RetailIntelligenceApiTest.php" line="42" class="Tests\Feature\RetailIntelligenceApiTest" classname="Tests.Feature.RetailIntelligenceApiTest" assertions="6" time="0.073835"/>
        <testcase name="test_discover_promotion_strategies_analyze_permission" file="/Users/gentianbeqiri/StudioProjects/pos_system/apps/api/tests/Feature/RetailIntelligenceApiTest.php" line="54" class="Tests\Feature\RetailIntelligenceApiTest" classname="Tests.Feature.RetailIntelligenceApiTest" assertions="5" time="0.101124"/>
        <testcase name="test_tenant_isolation_on_fusion_product" file="/Users/gentianbeqiri/StudioProjects/pos_system/apps/api/tests/Feature/RetailIntelligenceApiTest.php" line="88" class="Tests\Feature\RetailIntelligenceApiTest" classname="Tests.Feature.RetailIntelligenceApiTest" assertions="1" time="0.055351"/>
        <testcase name="test_discover_preserves_null_incremental_contribution_for_basket_spend_without_assumption" file="/Users/gentianbeqiri/StudioProjects/pos_system/apps/api/tests/Feature/RetailIntelligenceApiTest.php" line="99" class="Tests\Feature\RetailIntelligenceApiTest" classname="Tests.Feature.RetailIntelligenceApiTest" assertions="2" time="0.107478"/>
        <testcase name="test_operational_tables_unchanged_after_analyze_calls" file="/Users/gentianbeqiri/StudioProjects/pos_system/apps/api/tests/Feature/RetailIntelligenceApiTest.php" line="124" class="Tests\Feature\RetailIntelligenceApiTest" classname="Tests.Feature.RetailIntelligenceApiTest" assertions="2" time="0.076850"/>
        <testcase name="test_overview_forbidden_for_analyze_only_permission" file="/Users/gentianbeqiri/StudioProjects/pos_system/apps/api/tests/Feature/RetailIntelligenceApiTest.php" line="141" class="Tests\Feature\RetailIntelligenceApiTest" classname="Tests.Feature.RetailIntelligenceApiTest" assertions="1" time="0.067677"/>
        <testcase name="test_discover_allowed_for_analyze_only_permission" file="/Users/gentianbeqiri/StudioProjects/pos_system/apps/api/tests/Feature/RetailIntelligenceApiTest.php" line="150" class="Tests\Feature\RetailIntelligenceApiTest" classname="Tests.Feature.RetailIntelligenceApiTest" assertions="1" time="0.085357"/>
        <testcase name="test_invalid_analysis_window_returns_422" file="/Users/gentianbeqiri/StudioProjects/pos_system/apps/api/tests/Feature/RetailIntelligenceApiTest.php" line="163" class="Tests\Feature\RetailIntelligenceApiTest" classname="Tests.Feature.RetailIntelligenceApiTest" assertions="1" time="0.067332"/>
        <testcase name="test_analysis_window_exceeds_max_days" file="/Users/gentianbeqiri/StudioProjects/pos_system/apps/api/tests/Feature/RetailIntelligenceApiTest.php" line="172" class="Tests\Feature\RetailIntelligenceApiTest" classname="Tests.Feature.RetailIntelligenceApiTest" assertions="1" time="0.068527"/>
        <testcase name="test_discover_rejects_more_than_five_products" file="/Users/gentianbeqiri/StudioProjects/pos_system/apps/api/tests/Feature/RetailIntelligenceApiTest.php" line="182" class="Tests\Feature\RetailIntelligenceApiTest" classname="Tests.Feature.RetailIntelligenceApiTest" assertions="0" time="0.055160">
          <skipped/>
        </testcase>
        <testcase name="test_cross_tenant_product_on_discover_returns_404" file="/Users/gentianbeqiri/StudioProjects/pos_system/apps/api/tests/Feature/RetailIntelligenceApiTest.php" line="198" class="Tests\Feature\RetailIntelligenceApiTest" classname="Tests.Feature.RetailIntelligenceApiTest" assertions="1" time="0.061089"/>
        <testcase name="test_fusion_batch_requires_view_permission" file="/Users/gentianbeqiri/StudioProjects/pos_system/apps/api/tests/Feature/RetailIntelligenceApiTest.php" line="212" class="Tests\Feature\RetailIntelligenceApiTest" classname="Tests.Feature.RetailIntelligenceApiTest" assertions="1" time="0.067495"/>
        <testcase name="test_unsupported_basket_assumption_rejected" file="/Users/gentianbeqiri/StudioProjects/pos_system/apps/api/tests/Feature/RetailIntelligenceApiTest.php" line="224" class="Tests\Feature\RetailIntelligenceApiTest" classname="Tests.Feature.RetailIntelligenceApiTest" assertions="1" time="0.072288"/>
        <testcase name="test_demand_summary_requires_retail_and_competitor_permissions" file="/Users/gentianbeqiri/StudioProjects/pos_system/apps/api/tests/Feature/RetailIntelligenceApiTest.php" line="237" class="Tests\Feature\RetailIntelligenceApiTest" classname="Tests.Feature.RetailIntelligenceApiTest" assertions="4" time="0.085404"/>
        <testcase name="test_unauthenticated_requests_rejected" file="/Users/gentianbeqiri/StudioProjects/pos_system/apps/api/tests/Feature/RetailIntelligenceApiTest.php" line="255" class="Tests\Feature\RetailIntelligenceApiTest" classname="Tests.Feature.RetailIntelligenceApiTest" assertions="1" time="0.008668"/>
      </testsuite>
      <testsuite name="Tests\Feature\RetailIntelligenceBasketMaterializationTest" file="/Users/gentianbeqiri/StudioProjects/pos_system/apps/api/tests/Feature/RetailIntelligenceBasketMaterializationTest.php" tests="12" assertions="53" errors="0" failures="0" skipped="0" time="0.442039">
        <testcase name="test_forward_completed_sale_materializes_basket" file="/Users/gentianbeqiri/StudioProjects/pos_system/apps/api/tests/Feature/RetailIntelligenceBasketMaterializationTest.php" line="36" class="Tests\Feature\RetailIntelligenceBasketMaterializationTest" classname="Tests.Feature.RetailIntelligenceBasketMaterializationTest" assertions="4" time="0.034273"/>
        <testcase name="test_storno_and_original_sale_id_excluded" file="/Users/gentianbeqiri/StudioProjects/pos_system/apps/api/tests/Feature/RetailIntelligenceBasketMaterializationTest.php" line="53" class="Tests\Feature\RetailIntelligenceBasketMaterializationTest" classname="Tests.Feature.RetailIntelligenceBasketMaterializationTest" assertions="1" time="0.034815"/>
        <testcase name="test_mixed_cost_basket_not_profit_complete" file="/Users/gentianbeqiri/StudioProjects/pos_system/apps/api/tests/Feature/RetailIntelligenceBasketMaterializationTest.php" line="82" class="Tests\Feature\RetailIntelligenceBasketMaterializationTest" classname="Tests.Feature.RetailIntelligenceBasketMaterializationTest" assertions="3" time="0.031451"/>
        <testcase name="test_repeated_scans_aggregate_per_product" file="/Users/gentianbeqiri/StudioProjects/pos_system/apps/api/tests/Feature/RetailIntelligenceBasketMaterializationTest.php" line="138" class="Tests\Feature\RetailIntelligenceBasketMaterializationTest" classname="Tests.Feature.RetailIntelligenceBasketMaterializationTest" assertions="3" time="0.035108"/>
        <testcase name="test_partial_refund_reduces_net_quantity" file="/Users/gentianbeqiri/StudioProjects/pos_system/apps/api/tests/Feature/RetailIntelligenceBasketMaterializationTest.php" line="182" class="Tests\Feature\RetailIntelligenceBasketMaterializationTest" classname="Tests.Feature.RetailIntelligenceBasketMaterializationTest" assertions="1" time="0.035325"/>
        <testcase name="test_dry_run_writes_nothing" file="/Users/gentianbeqiri/StudioProjects/pos_system/apps/api/tests/Feature/RetailIntelligenceBasketMaterializationTest.php" line="198" class="Tests\Feature\RetailIntelligenceBasketMaterializationTest" classname="Tests.Feature.RetailIntelligenceBasketMaterializationTest" assertions="2" time="0.034288"/>
        <testcase name="test_idempotent_rerun" file="/Users/gentianbeqiri/StudioProjects/pos_system/apps/api/tests/Feature/RetailIntelligenceBasketMaterializationTest.php" line="216" class="Tests\Feature\RetailIntelligenceBasketMaterializationTest" classname="Tests.Feature.RetailIntelligenceBasketMaterializationTest" assertions="1" time="0.035380"/>
        <testcase name="test_tenant_isolation" file="/Users/gentianbeqiri/StudioProjects/pos_system/apps/api/tests/Feature/RetailIntelligenceBasketMaterializationTest.php" line="231" class="Tests\Feature\RetailIntelligenceBasketMaterializationTest" classname="Tests.Feature.RetailIntelligenceBasketMaterializationTest" assertions="1" time="0.047218"/>
        <testcase name="test_only_completed_and_partially_refunded_sales_materialize" file="/Users/gentianbeqiri/StudioProjects/pos_system/apps/api/tests/Feature/RetailIntelligenceBasketMaterializationTest.php" line="245" class="Tests\Feature\RetailIntelligenceBasketMaterializationTest" classname="Tests.Feature.RetailIntelligenceBasketMaterializationTest" assertions="12" time="0.041583"/>
        <testcase name="test_removed_line_never_contributes_to_basket_facts" file="/Users/gentianbeqiri/StudioProjects/pos_system/apps/api/tests/Feature/RetailIntelligenceBasketMaterializationTest.php" line="278" class="Tests\Feature\RetailIntelligenceBasketMaterializationTest" classname="Tests.Feature.RetailIntelligenceBasketMaterializationTest" assertions="10" time="0.037084"/>
        <testcase name="test_weighted_decimal_quantity_and_partial_refund_math" file="/Users/gentianbeqiri/StudioProjects/pos_system/apps/api/tests/Feature/RetailIntelligenceBasketMaterializationTest.php" line="350" class="Tests\Feature\RetailIntelligenceBasketMaterializationTest" classname="Tests.Feature.RetailIntelligenceBasketMaterializationTest" assertions="13" time="0.039669"/>
        <testcase name="test_read_service_penetration_and_co_occurrence" file="/Users/gentianbeqiri/StudioProjects/pos_system/apps/api/tests/Feature/RetailIntelligenceBasketMaterializationTest.php" line="454" class="Tests\Feature\RetailIntelligenceBasketMaterializationTest" classname="Tests.Feature.RetailIntelligenceBasketMaterializationTest" assertions="2" time="0.035844"/>
      </testsuite>
      <testsuite name="Tests\Feature\RetailIntelligenceBusinessAdvisorQueryInvestigationTest" file="/Users/gentianbeqiri/StudioProjects/pos_system/apps/api/tests/Feature/RetailIntelligenceBusinessAdvisorQueryInvestigationTest.php" tests="1" assertions="4" errors="0" failures="0" skipped="0" time="3.939412">
        <testcase name="test_investigation_report_10_20_40_products_and_recommendation_http" file="/Users/gentianbeqiri/StudioProjects/pos_system/apps/api/tests/Feature/RetailIntelligenceBusinessAdvisorQueryInvestigationTest.php" line="170" class="Tests\Feature\RetailIntelligenceBusinessAdvisorQueryInvestigationTest" classname="Tests.Feature.RetailIntelligenceBusinessAdvisorQueryInvestigationTest" assertions="4" time="3.939412"/>
      </testsuite>
      <testsuite name="Tests\Feature\RetailIntelligenceBusinessAdvisorTest" file="/Users/gentianbeqiri/StudioProjects/pos_system/apps/api/tests/Feature/RetailIntelligenceBusinessAdvisorTest.php" tests="3" assertions="26" errors="0" failures="0" skipped="0" time="0.247166">
        <testcase name="test_business_advisor_requires_analyze_permission" file="/Users/gentianbeqiri/StudioProjects/pos_system/apps/api/tests/Feature/RetailIntelligenceBusinessAdvisorTest.php" line="29" class="Tests\Feature\RetailIntelligenceBusinessAdvisorTest" classname="Tests.Feature.RetailIntelligenceBusinessAdvisorTest" assertions="1" time="0.067522"/>
        <testcase name="test_business_advisor_returns_structured_product_advice" file="/Users/gentianbeqiri/StudioProjects/pos_system/apps/api/tests/Feature/RetailIntelligenceBusinessAdvisorTest.php" line="39" class="Tests\Feature\RetailIntelligenceBusinessAdvisorTest" classname="Tests.Feature.RetailIntelligenceBusinessAdvisorTest" assertions="23" time="0.095193"/>
        <testcase name="test_no_database_writes" file="/Users/gentianbeqiri/StudioProjects/pos_system/apps/api/tests/Feature/RetailIntelligenceBusinessAdvisorTest.php" line="84" class="Tests\Feature\RetailIntelligenceBusinessAdvisorTest" classname="Tests.Feature.RetailIntelligenceBusinessAdvisorTest" assertions="2" time="0.084450"/>
      </testsuite>
      <testsuite name="Tests\Feature\RetailIntelligenceCrossProductOptimizationTest" file="/Users/gentianbeqiri/StudioProjects/pos_system/apps/api/tests/Feature/RetailIntelligenceCrossProductOptimizationTest.php" tests="6" assertions="22" errors="0" failures="0" skipped="0" time="0.505200">
        <testcase name="test_cross_product_requires_analyze_permission" file="/Users/gentianbeqiri/StudioProjects/pos_system/apps/api/tests/Feature/RetailIntelligenceCrossProductOptimizationTest.php" line="30" class="Tests\Feature\RetailIntelligenceCrossProductOptimizationTest" classname="Tests.Feature.RetailIntelligenceCrossProductOptimizationTest" assertions="1" time="0.067686"/>
        <testcase name="test_automatic_discovery_read_only_meta" file="/Users/gentianbeqiri/StudioProjects/pos_system/apps/api/tests/Feature/RetailIntelligenceCrossProductOptimizationTest.php" line="41" class="Tests\Feature\RetailIntelligenceCrossProductOptimizationTest" classname="Tests.Feature.RetailIntelligenceCrossProductOptimizationTest" assertions="14" time="0.077621"/>
        <testcase name="test_manual_mode_requires_two_products" file="/Users/gentianbeqiri/StudioProjects/pos_system/apps/api/tests/Feature/RetailIntelligenceCrossProductOptimizationTest.php" line="66" class="Tests\Feature\RetailIntelligenceCrossProductOptimizationTest" classname="Tests.Feature.RetailIntelligenceCrossProductOptimizationTest" assertions="1" time="0.070952"/>
        <testcase name="test_no_database_writes" file="/Users/gentianbeqiri/StudioProjects/pos_system/apps/api/tests/Feature/RetailIntelligenceCrossProductOptimizationTest.php" line="80" class="Tests\Feature\RetailIntelligenceCrossProductOptimizationTest" classname="Tests.Feature.RetailIntelligenceCrossProductOptimizationTest" assertions="2" time="0.077506"/>
        <testcase name="test_tenant_isolation_manual_products" file="/Users/gentianbeqiri/StudioProjects/pos_system/apps/api/tests/Feature/RetailIntelligenceCrossProductOptimizationTest.php" line="100" class="Tests\Feature\RetailIntelligenceCrossProductOptimizationTest" classname="Tests.Feature.RetailIntelligenceCrossProductOptimizationTest" assertions="1" time="0.113976"/>
        <testcase name="test_includes_no_change_baseline_strategy" file="/Users/gentianbeqiri/StudioProjects/pos_system/apps/api/tests/Feature/RetailIntelligenceCrossProductOptimizationTest.php" line="115" class="Tests\Feature\RetailIntelligenceCrossProductOptimizationTest" classname="Tests.Feature.RetailIntelligenceCrossProductOptimizationTest" assertions="3" time="0.097458"/>
      </testsuite>
      <testsuite name="Tests\Feature\RetailIntelligenceFinancialOptimizationPerformanceTest" file="/Users/gentianbeqiri/StudioProjects/pos_system/apps/api/tests/Feature/RetailIntelligenceFinancialOptimizationPerformanceTest.php" tests="2" assertions="3" errors="0" failures="0" skipped="0" time="0.409541">
        <testcase name="test_financial_optimization_output_stable_across_repeated_runs" file="/Users/gentianbeqiri/StudioProjects/pos_system/apps/api/tests/Feature/RetailIntelligenceFinancialOptimizationPerformanceTest.php" line="112" class="Tests\Feature\RetailIntelligenceFinancialOptimizationPerformanceTest" classname="Tests.Feature.RetailIntelligenceFinancialOptimizationPerformanceTest" assertions="1" time="0.230175"/>
        <testcase name="test_financial_optimization_request_scoped_caching_reduces_duplicate_work" file="/Users/gentianbeqiri/StudioProjects/pos_system/apps/api/tests/Feature/RetailIntelligenceFinancialOptimizationPerformanceTest.php" line="124" class="Tests\Feature\RetailIntelligenceFinancialOptimizationPerformanceTest" classname="Tests.Feature.RetailIntelligenceFinancialOptimizationPerformanceTest" assertions="2" time="0.179366"/>
      </testsuite>
      <testsuite name="Tests\Feature\RetailIntelligenceFinancialOptimizationTest" file="/Users/gentianbeqiri/StudioProjects/pos_system/apps/api/tests/Feature/RetailIntelligenceFinancialOptimizationTest.php" tests="3" assertions="16" errors="0" failures="0" skipped="0" time="0.240546">
        <testcase name="test_financial_optimization_requires_analyze_permission" file="/Users/gentianbeqiri/StudioProjects/pos_system/apps/api/tests/Feature/RetailIntelligenceFinancialOptimizationTest.php" line="29" class="Tests\Feature\RetailIntelligenceFinancialOptimizationTest" classname="Tests.Feature.RetailIntelligenceFinancialOptimizationTest" assertions="1" time="0.068194"/>
        <testcase name="test_financial_optimization_includes_baseline_and_meta" file="/Users/gentianbeqiri/StudioProjects/pos_system/apps/api/tests/Feature/RetailIntelligenceFinancialOptimizationTest.php" line="39" class="Tests\Feature\RetailIntelligenceFinancialOptimizationTest" classname="Tests.Feature.RetailIntelligenceFinancialOptimizationTest" assertions="13" time="0.085018"/>
        <testcase name="test_no_database_writes" file="/Users/gentianbeqiri/StudioProjects/pos_system/apps/api/tests/Feature/RetailIntelligenceFinancialOptimizationTest.php" line="71" class="Tests\Feature\RetailIntelligenceFinancialOptimizationTest" classname="Tests.Feature.RetailIntelligenceFinancialOptimizationTest" assertions="2" time="0.087334"/>
      </testsuite>
      <testsuite name="Tests\Feature\RetailIntelligenceIncrementalityTest" file="/Users/gentianbeqiri/StudioProjects/pos_system/apps/api/tests/Feature/RetailIntelligenceIncrementalityTest.php" tests="7" assertions="12" errors="0" failures="0" skipped="0" time="0.366177">
        <testcase name="test_single_product_simulation_end_to_end" file="/Users/gentianbeqiri/StudioProjects/pos_system/apps/api/tests/Feature/RetailIntelligenceIncrementalityTest.php" line="32" class="Tests\Feature\RetailIntelligenceIncrementalityTest" classname="Tests.Feature.RetailIntelligenceIncrementalityTest" assertions="4" time="0.057871"/>
        <testcase name="test_missing_wac_not_evaluable" file="/Users/gentianbeqiri/StudioProjects/pos_system/apps/api/tests/Feature/RetailIntelligenceIncrementalityTest.php" line="50" class="Tests\Feature\RetailIntelligenceIncrementalityTest" classname="Tests.Feature.RetailIntelligenceIncrementalityTest" assertions="2" time="0.031729"/>
        <testcase name="test_currency_mismatch_rejected" file="/Users/gentianbeqiri/StudioProjects/pos_system/apps/api/tests/Feature/RetailIntelligenceIncrementalityTest.php" line="67" class="Tests\Feature\RetailIntelligenceIncrementalityTest" classname="Tests.Feature.RetailIntelligenceIncrementalityTest" assertions="1" time="0.055707"/>
        <testcase name="test_tenant_isolation" file="/Users/gentianbeqiri/StudioProjects/pos_system/apps/api/tests/Feature/RetailIntelligenceIncrementalityTest.php" line="82" class="Tests\Feature\RetailIntelligenceIncrementalityTest" classname="Tests.Feature.RetailIntelligenceIncrementalityTest" assertions="1" time="0.045549"/>
        <testcase name="test_no_database_writes" file="/Users/gentianbeqiri/StudioProjects/pos_system/apps/api/tests/Feature/RetailIntelligenceIncrementalityTest.php" line="98" class="Tests\Feature\RetailIntelligenceIncrementalityTest" classname="Tests.Feature.RetailIntelligenceIncrementalityTest" assertions="1" time="0.058134"/>
        <testcase name="test_no_operational_row_changes" file="/Users/gentianbeqiri/StudioProjects/pos_system/apps/api/tests/Feature/RetailIntelligenceIncrementalityTest.php" line="119" class="Tests\Feature\RetailIntelligenceIncrementalityTest" classname="Tests.Feature.RetailIntelligenceIncrementalityTest" assertions="2" time="0.059108"/>
        <testcase name="test_below_cost_promotion_flagged" file="/Users/gentianbeqiri/StudioProjects/pos_system/apps/api/tests/Feature/RetailIntelligenceIncrementalityTest.php" line="137" class="Tests\Feature\RetailIntelligenceIncrementalityTest" classname="Tests.Feature.RetailIntelligenceIncrementalityTest" assertions="1" time="0.058079"/>
      </testsuite>
      <testsuite name="Tests\Feature\RetailIntelligenceMarketHealthTest" file="/Users/gentianbeqiri/StudioProjects/pos_system/apps/api/tests/Feature/RetailIntelligenceMarketHealthTest.php" tests="4" assertions="16" errors="0" failures="0" skipped="0" time="0.336240">
        <testcase name="test_market_health_requires_analyze_permission" file="/Users/gentianbeqiri/StudioProjects/pos_system/apps/api/tests/Feature/RetailIntelligenceMarketHealthTest.php" line="30" class="Tests\Feature\RetailIntelligenceMarketHealthTest" classname="Tests.Feature.RetailIntelligenceMarketHealthTest" assertions="1" time="0.067099"/>
        <testcase name="test_market_health_analyze_returns_coverage_and_meta" file="/Users/gentianbeqiri/StudioProjects/pos_system/apps/api/tests/Feature/RetailIntelligenceMarketHealthTest.php" line="40" class="Tests\Feature\RetailIntelligenceMarketHealthTest" classname="Tests.Feature.RetailIntelligenceMarketHealthTest" assertions="12" time="0.079337"/>
        <testcase name="test_market_health_no_database_writes" file="/Users/gentianbeqiri/StudioProjects/pos_system/apps/api/tests/Feature/RetailIntelligenceMarketHealthTest.php" line="65" class="Tests\Feature\RetailIntelligenceMarketHealthTest" classname="Tests.Feature.RetailIntelligenceMarketHealthTest" assertions="2" time="0.076290"/>
        <testcase name="test_tenant_isolation_product_ids" file="/Users/gentianbeqiri/StudioProjects/pos_system/apps/api/tests/Feature/RetailIntelligenceMarketHealthTest.php" line="82" class="Tests\Feature\RetailIntelligenceMarketHealthTest" classname="Tests.Feature.RetailIntelligenceMarketHealthTest" assertions="1" time="0.113514"/>
      </testsuite>
      <testsuite name="Tests\Feature\RetailIntelligenceMerchantIntelligenceTest" file="/Users/gentianbeqiri/StudioProjects/pos_system/apps/api/tests/Feature/RetailIntelligenceMerchantIntelligenceTest.php" tests="6" assertions="51" errors="0" failures="0" skipped="0" time="0.599565">
        <testcase name="test_merchant_intelligence_requires_analyze_permission" file="/Users/gentianbeqiri/StudioProjects/pos_system/apps/api/tests/Feature/RetailIntelligenceMerchantIntelligenceTest.php" line="36" class="Tests\Feature\RetailIntelligenceMerchantIntelligenceTest" classname="Tests.Feature.RetailIntelligenceMerchantIntelligenceTest" assertions="1" time="0.077503"/>
        <testcase name="test_merchant_intelligence_catalog_discovery_structure" file="/Users/gentianbeqiri/StudioProjects/pos_system/apps/api/tests/Feature/RetailIntelligenceMerchantIntelligenceTest.php" line="46" class="Tests\Feature\RetailIntelligenceMerchantIntelligenceTest" classname="Tests.Feature.RetailIntelligenceMerchantIntelligenceTest" assertions="39" time="0.084130"/>
        <testcase name="test_rejects_foreign_category" file="/Users/gentianbeqiri/StudioProjects/pos_system/apps/api/tests/Feature/RetailIntelligenceMerchantIntelligenceTest.php" line="97" class="Tests\Feature\RetailIntelligenceMerchantIntelligenceTest" classname="Tests.Feature.RetailIntelligenceMerchantIntelligenceTest" assertions="1" time="0.096876"/>
        <testcase name="test_merchant_intelligence_survives_business_advisor_deep_product_budget" file="/Users/gentianbeqiri/StudioProjects/pos_system/apps/api/tests/Feature/RetailIntelligenceMerchantIntelligenceTest.php" line="118" class="Tests\Feature\RetailIntelligenceMerchantIntelligenceTest" classname="Tests.Feature.RetailIntelligenceMerchantIntelligenceTest" assertions="1" time="0.170754"/>
        <testcase name="test_merchant_intelligence_bounded_workload_on_fixture" file="/Users/gentianbeqiri/StudioProjects/pos_system/apps/api/tests/Feature/RetailIntelligenceMerchantIntelligenceTest.php" line="155" class="Tests\Feature\RetailIntelligenceMerchantIntelligenceTest" classname="Tests.Feature.RetailIntelligenceMerchantIntelligenceTest" assertions="7" time="0.082934"/>
        <testcase name="test_no_database_writes" file="/Users/gentianbeqiri/StudioProjects/pos_system/apps/api/tests/Feature/RetailIntelligenceMerchantIntelligenceTest.php" line="189" class="Tests\Feature\RetailIntelligenceMerchantIntelligenceTest" classname="Tests.Feature.RetailIntelligenceMerchantIntelligenceTest" assertions="2" time="0.087368"/>
      </testsuite>
      <testsuite name="Tests\Feature\RetailIntelligencePermissionsGrantTest" file="/Users/gentianbeqiri/StudioProjects/pos_system/apps/api/tests/Feature/RetailIntelligencePermissionsGrantTest.php" tests="2" assertions="5" errors="0" failures="0" skipped="0" time="0.059556">
        <testcase name="test_owner_role_includes_retail_intelligence_permissions_after_seeder" file="/Users/gentianbeqiri/StudioProjects/pos_system/apps/api/tests/Feature/RetailIntelligencePermissionsGrantTest.php" line="22" class="Tests\Feature\RetailIntelligencePermissionsGrantTest" classname="Tests.Feature.RetailIntelligencePermissionsGrantTest" assertions="2" time="0.028178"/>
        <testcase name="test_auth_me_returns_retail_intelligence_permissions_for_owner" file="/Users/gentianbeqiri/StudioProjects/pos_system/apps/api/tests/Feature/RetailIntelligencePermissionsGrantTest.php" line="33" class="Tests\Feature\RetailIntelligencePermissionsGrantTest" classname="Tests.Feature.RetailIntelligencePermissionsGrantTest" assertions="3" time="0.031378"/>
      </testsuite>
      <testsuite name="Tests\Feature\RetailIntelligencePhase10JPerformanceTest" file="/Users/gentianbeqiri/StudioProjects/pos_system/apps/api/tests/Feature/RetailIntelligencePhase10JPerformanceTest.php" tests="3" assertions="14" errors="0" failures="0" skipped="0" time="0.317869">
        <testcase name="test_discover_promotion_strategies_bounded_workload" file="/Users/gentianbeqiri/StudioProjects/pos_system/apps/api/tests/Feature/RetailIntelligencePhase10JPerformanceTest.php" line="34" class="Tests\Feature\RetailIntelligencePhase10JPerformanceTest" classname="Tests.Feature.RetailIntelligencePhase10JPerformanceTest" assertions="5" time="0.108168"/>
        <testcase name="test_overview_read_latency_budget" file="/Users/gentianbeqiri/StudioProjects/pos_system/apps/api/tests/Feature/RetailIntelligencePhase10JPerformanceTest.php" line="64" class="Tests\Feature\RetailIntelligencePhase10JPerformanceTest" classname="Tests.Feature.RetailIntelligencePhase10JPerformanceTest" assertions="2" time="0.069559"/>
        <testcase name="test_business_advisor_orchestration_latency_sample" file="/Users/gentianbeqiri/StudioProjects/pos_system/apps/api/tests/Feature/RetailIntelligencePhase10JPerformanceTest.php" line="78" class="Tests\Feature\RetailIntelligencePhase10JPerformanceTest" classname="Tests.Feature.RetailIntelligencePhase10JPerformanceTest" assertions="7" time="0.140143"/>
      </testsuite>
      <testsuite name="Tests\Feature\RetailIntelligencePhase10JReadOnlyAuditTest" file="/Users/gentianbeqiri/StudioProjects/pos_system/apps/api/tests/Feature/RetailIntelligencePhase10JReadOnlyAuditTest.php" tests="4" assertions="21" errors="0" failures="0" skipped="0" time="0.314185">
        <testcase name="test_analyze_endpoints_do_not_dispatch_jobs_or_bus" file="/Users/gentianbeqiri/StudioProjects/pos_system/apps/api/tests/Feature/RetailIntelligencePhase10JReadOnlyAuditTest.php" line="34" class="Tests\Feature\RetailIntelligencePhase10JReadOnlyAuditTest" classname="Tests.Feature.RetailIntelligencePhase10JReadOnlyAuditTest" assertions="9" time="0.163263"/>
        <testcase name="test_failed_analyze_request_still_has_no_operational_writes" file="/Users/gentianbeqiri/StudioProjects/pos_system/apps/api/tests/Feature/RetailIntelligencePhase10JReadOnlyAuditTest.php" line="81" class="Tests\Feature\RetailIntelligencePhase10JReadOnlyAuditTest" classname="Tests.Feature.RetailIntelligencePhase10JReadOnlyAuditTest" assertions="3" time="0.074505"/>
        <testcase name="test_analyze_routes_do_not_use_laravel_throttle_middleware" file="/Users/gentianbeqiri/StudioProjects/pos_system/apps/api/tests/Feature/RetailIntelligencePhase10JReadOnlyAuditTest.php" line="107" class="Tests\Feature\RetailIntelligencePhase10JReadOnlyAuditTest" classname="Tests.Feature.RetailIntelligencePhase10JReadOnlyAuditTest" assertions="7" time="0.007795"/>
        <testcase name="test_overview_read_path_has_no_sql_writes" file="/Users/gentianbeqiri/StudioProjects/pos_system/apps/api/tests/Feature/RetailIntelligencePhase10JReadOnlyAuditTest.php" line="123" class="Tests\Feature\RetailIntelligencePhase10JReadOnlyAuditTest" classname="Tests.Feature.RetailIntelligencePhase10JReadOnlyAuditTest" assertions="2" time="0.068623"/>
      </testsuite>
      <testsuite name="Tests\Feature\RetailIntelligencePhase10OptimizerCompletionTest" file="/Users/gentianbeqiri/StudioProjects/pos_system/apps/api/tests/Feature/RetailIntelligencePhase10OptimizerCompletionTest.php" tests="4" assertions="18" errors="0" failures="0" skipped="0" time="0.312620">
        <testcase name="test_promotion_discover_includes_optimizer_readiness_and_evidence_labels" file="/Users/gentianbeqiri/StudioProjects/pos_system/apps/api/tests/Feature/RetailIntelligencePhase10OptimizerCompletionTest.php" line="32" class="Tests\Feature\RetailIntelligencePhase10OptimizerCompletionTest" classname="Tests.Feature.RetailIntelligencePhase10OptimizerCompletionTest" assertions="10" time="0.095401"/>
        <testcase name="test_financial_optimization_includes_optimizer_readiness_and_competitor_context" file="/Users/gentianbeqiri/StudioProjects/pos_system/apps/api/tests/Feature/RetailIntelligencePhase10OptimizerCompletionTest.php" line="65" class="Tests\Feature\RetailIntelligencePhase10OptimizerCompletionTest" classname="Tests.Feature.RetailIntelligencePhase10OptimizerCompletionTest" assertions="4" time="0.095053"/>
        <testcase name="test_forecast_evidence_unknown_when_no_products" file="/Users/gentianbeqiri/StudioProjects/pos_system/apps/api/tests/Feature/RetailIntelligencePhase10OptimizerCompletionTest.php" line="87" class="Tests\Feature\RetailIntelligencePhase10OptimizerCompletionTest" classname="Tests.Feature.RetailIntelligencePhase10OptimizerCompletionTest" assertions="2" time="0.026276"/>
        <testcase name="test_promotion_discover_performs_no_operational_writes" file="/Users/gentianbeqiri/StudioProjects/pos_system/apps/api/tests/Feature/RetailIntelligencePhase10OptimizerCompletionTest.php" line="94" class="Tests\Feature\RetailIntelligencePhase10OptimizerCompletionTest" classname="Tests.Feature.RetailIntelligencePhase10OptimizerCompletionTest" assertions="2" time="0.095890"/>
      </testsuite>
      <testsuite name="Tests\Feature\RetailIntelligencePhase11KQueryBenchmarkTest" file="/Users/gentianbeqiri/StudioProjects/pos_system/apps/api/tests/Feature/RetailIntelligencePhase11KQueryBenchmarkTest.php" tests="1" assertions="4" errors="0" failures="0" skipped="0" time="1.616286">
        <testcase name="test_phase_11k_post_optimization_benchmark" file="/Users/gentianbeqiri/StudioProjects/pos_system/apps/api/tests/Feature/RetailIntelligencePhase11KQueryBenchmarkTest.php" line="125" class="Tests\Feature\RetailIntelligencePhase11KQueryBenchmarkTest" classname="Tests.Feature.RetailIntelligencePhase11KQueryBenchmarkTest" assertions="4" time="1.616286"/>
      </testsuite>
      <testsuite name="Tests\Feature\RetailIntelligencePhase12OperationalPromotionIntegrationTest" file="/Users/gentianbeqiri/StudioProjects/pos_system/apps/api/tests/Feature/RetailIntelligencePhase12OperationalPromotionIntegrationTest.php" tests="5" assertions="22" errors="0" failures="0" skipped="0" time="0.600004">
        <testcase name="test_promotion_discover_includes_read_only_operational_context" file="/Users/gentianbeqiri/StudioProjects/pos_system/apps/api/tests/Feature/RetailIntelligencePhase12OperationalPromotionIntegrationTest.php" line="38" class="Tests\Feature\RetailIntelligencePhase12OperationalPromotionIntegrationTest" classname="Tests.Feature.RetailIntelligencePhase12OperationalPromotionIntegrationTest" assertions="14" time="0.111003"/>
        <testcase name="test_financial_optimization_strips_sales_without_reports_permission" file="/Users/gentianbeqiri/StudioProjects/pos_system/apps/api/tests/Feature/RetailIntelligencePhase12OperationalPromotionIntegrationTest.php" line="84" class="Tests\Feature\RetailIntelligencePhase12OperationalPromotionIntegrationTest" classname="Tests.Feature.RetailIntelligencePhase12OperationalPromotionIntegrationTest" assertions="4" time="0.111936"/>
        <testcase name="test_learning_record_from_measurement_is_not_causal_uplift" file="/Users/gentianbeqiri/StudioProjects/pos_system/apps/api/tests/Feature/RetailIntelligencePhase12OperationalPromotionIntegrationTest.php" line="110" class="Tests\Feature\RetailIntelligencePhase12OperationalPromotionIntegrationTest" classname="Tests.Feature.RetailIntelligencePhase12OperationalPromotionIntegrationTest" assertions="2" time="0.093565"/>
        <testcase name="test_financial_optimization_strips_cost_fields_without_margin_permission" file="/Users/gentianbeqiri/StudioProjects/pos_system/apps/api/tests/Feature/RetailIntelligencePhase12OperationalPromotionIntegrationTest.php" line="122" class="Tests\Feature\RetailIntelligencePhase12OperationalPromotionIntegrationTest" classname="Tests.Feature.RetailIntelligencePhase12OperationalPromotionIntegrationTest" assertions="1" time="0.112565"/>
        <testcase name="test_tenant_isolation_on_operational_promotion_reads" file="/Users/gentianbeqiri/StudioProjects/pos_system/apps/api/tests/Feature/RetailIntelligencePhase12OperationalPromotionIntegrationTest.php" line="146" class="Tests\Feature\RetailIntelligencePhase12OperationalPromotionIntegrationTest" classname="Tests.Feature.RetailIntelligencePhase12OperationalPromotionIntegrationTest" assertions="1" time="0.170934"/>
      </testsuite>
      <testsuite name="Tests\Feature\RetailIntelligencePhase13SecurityReadinessTest" file="/Users/gentianbeqiri/StudioProjects/pos_system/apps/api/tests/Feature/RetailIntelligencePhase13SecurityReadinessTest.php" tests="5" assertions="14" errors="0" failures="0" skipped="0" time="0.491158">
        <testcase name="test_financial_optimization_cross_tenant_product_filter_returns_not_found" file="/Users/gentianbeqiri/StudioProjects/pos_system/apps/api/tests/Feature/RetailIntelligencePhase13SecurityReadinessTest.php" line="33" class="Tests\Feature\RetailIntelligencePhase13SecurityReadinessTest" classname="Tests.Feature.RetailIntelligencePhase13SecurityReadinessTest" assertions="1" time="0.118517"/>
        <testcase name="test_financial_brief_strips_cost_without_margin_permission" file="/Users/gentianbeqiri/StudioProjects/pos_system/apps/api/tests/Feature/RetailIntelligencePhase13SecurityReadinessTest.php" line="46" class="Tests\Feature\RetailIntelligencePhase13SecurityReadinessTest" classname="Tests.Feature.RetailIntelligencePhase13SecurityReadinessTest" assertions="2" time="0.091593"/>
        <testcase name="test_financial_brief_includes_cost_with_margin_permission" file="/Users/gentianbeqiri/StudioProjects/pos_system/apps/api/tests/Feature/RetailIntelligencePhase13SecurityReadinessTest.php" line="68" class="Tests\Feature\RetailIntelligencePhase13SecurityReadinessTest" classname="Tests.Feature.RetailIntelligencePhase13SecurityReadinessTest" assertions="3" time="0.094816"/>
        <testcase name="test_promotion_discover_does_not_mutate_operational_tables" file="/Users/gentianbeqiri/StudioProjects/pos_system/apps/api/tests/Feature/RetailIntelligencePhase13SecurityReadinessTest.php" line="91" class="Tests\Feature\RetailIntelligencePhase13SecurityReadinessTest" classname="Tests.Feature.RetailIntelligencePhase13SecurityReadinessTest" assertions="5" time="0.091820"/>
        <testcase name="test_business_advisor_analyze_is_advisory_with_no_operational_writes_flag" file="/Users/gentianbeqiri/StudioProjects/pos_system/apps/api/tests/Feature/RetailIntelligencePhase13SecurityReadinessTest.php" line="112" class="Tests\Feature\RetailIntelligencePhase13SecurityReadinessTest" classname="Tests.Feature.RetailIntelligencePhase13SecurityReadinessTest" assertions="3" time="0.094412"/>
      </testsuite>
      <testsuite name="Tests\Feature\RetailIntelligenceProductFusionTest" file="/Users/gentianbeqiri/StudioProjects/pos_system/apps/api/tests/Feature/RetailIntelligenceProductFusionTest.php" tests="8" assertions="18" errors="0" failures="0" skipped="0" time="0.374758">
        <testcase name="test_three_source_profile_when_all_materialized" file="/Users/gentianbeqiri/StudioProjects/pos_system/apps/api/tests/Feature/RetailIntelligenceProductFusionTest.php" line="36" class="Tests\Feature\RetailIntelligenceProductFusionTest" classname="Tests.Feature.RetailIntelligenceProductFusionTest" assertions="4" time="0.056537"/>
        <testcase name="test_basket_only_profile_marks_missing_demand_and_competitor" file="/Users/gentianbeqiri/StudioProjects/pos_system/apps/api/tests/Feature/RetailIntelligenceProductFusionTest.php" line="55" class="Tests\Feature\RetailIntelligenceProductFusionTest" classname="Tests.Feature.RetailIntelligenceProductFusionTest" assertions="3" time="0.048188"/>
        <testcase name="test_demand_only_profile" file="/Users/gentianbeqiri/StudioProjects/pos_system/apps/api/tests/Feature/RetailIntelligenceProductFusionTest.php" line="69" class="Tests\Feature\RetailIntelligenceProductFusionTest" classname="Tests.Feature.RetailIntelligenceProductFusionTest" assertions="2" time="0.040106"/>
        <testcase name="test_location_scope_does_not_substitute_business_wide_basket_stats" file="/Users/gentianbeqiri/StudioProjects/pos_system/apps/api/tests/Feature/RetailIntelligenceProductFusionTest.php" line="85" class="Tests\Feature\RetailIntelligenceProductFusionTest" classname="Tests.Feature.RetailIntelligenceProductFusionTest" assertions="2" time="0.051926"/>
        <testcase name="test_tenant_isolation_on_batch" file="/Users/gentianbeqiri/StudioProjects/pos_system/apps/api/tests/Feature/RetailIntelligenceProductFusionTest.php" line="104" class="Tests\Feature\RetailIntelligenceProductFusionTest" classname="Tests.Feature.RetailIntelligenceProductFusionTest" assertions="2" time="0.043415"/>
        <testcase name="test_batch_size_limit" file="/Users/gentianbeqiri/StudioProjects/pos_system/apps/api/tests/Feature/RetailIntelligenceProductFusionTest.php" line="121" class="Tests\Feature\RetailIntelligenceProductFusionTest" classname="Tests.Feature.RetailIntelligenceProductFusionTest" assertions="1" time="0.029361"/>
        <testcase name="test_no_operational_writes" file="/Users/gentianbeqiri/StudioProjects/pos_system/apps/api/tests/Feature/RetailIntelligenceProductFusionTest.php" line="134" class="Tests\Feature\RetailIntelligenceProductFusionTest" classname="Tests.Feature.RetailIntelligenceProductFusionTest" assertions="3" time="0.048399"/>
        <testcase name="test_fusion_signal_summary_is_deterministic" file="/Users/gentianbeqiri/StudioProjects/pos_system/apps/api/tests/Feature/RetailIntelligenceProductFusionTest.php" line="153" class="Tests\Feature\RetailIntelligenceProductFusionTest" classname="Tests.Feature.RetailIntelligenceProductFusionTest" assertions="1" time="0.056825"/>
      </testsuite>
      <testsuite name="Tests\Feature\RetailIntelligencePromotionPlannerTest" file="/Users/gentianbeqiri/StudioProjects/pos_system/apps/api/tests/Feature/RetailIntelligencePromotionPlannerTest.php" tests="4" assertions="37" errors="0" failures="0" skipped="0" time="0.435358">
        <testcase name="test_promotion_planner_requires_analyze_permission" file="/Users/gentianbeqiri/StudioProjects/pos_system/apps/api/tests/Feature/RetailIntelligencePromotionPlannerTest.php" line="32" class="Tests\Feature\RetailIntelligencePromotionPlannerTest" classname="Tests.Feature.RetailIntelligencePromotionPlannerTest" assertions="1" time="0.081215"/>
        <testcase name="test_promotion_planner_horizons_and_read_only_meta" file="/Users/gentianbeqiri/StudioProjects/pos_system/apps/api/tests/Feature/RetailIntelligencePromotionPlannerTest.php" line="42" class="Tests\Feature\RetailIntelligencePromotionPlannerTest" classname="Tests.Feature.RetailIntelligencePromotionPlannerTest" assertions="33" time="0.121552"/>
        <testcase name="test_promotion_planner_no_database_writes" file="/Users/gentianbeqiri/StudioProjects/pos_system/apps/api/tests/Feature/RetailIntelligencePromotionPlannerTest.php" line="73" class="Tests\Feature\RetailIntelligencePromotionPlannerTest" classname="Tests.Feature.RetailIntelligencePromotionPlannerTest" assertions="2" time="0.100602"/>
        <testcase name="test_tenant_isolation_on_explicit_product_ids" file="/Users/gentianbeqiri/StudioProjects/pos_system/apps/api/tests/Feature/RetailIntelligencePromotionPlannerTest.php" line="93" class="Tests\Feature\RetailIntelligencePromotionPlannerTest" classname="Tests.Feature.RetailIntelligencePromotionPlannerTest" assertions="1" time="0.131989"/>
      </testsuite>
      <testsuite name="Tests\Feature\RetailIntelligencePromotionStrategyLargeBasketTest" file="/Users/gentianbeqiri/StudioProjects/pos_system/apps/api/tests/Feature/RetailIntelligencePromotionStrategyLargeBasketTest.php" tests="3" assertions="12" errors="0" failures="0" skipped="0" time="0.707730">
        <testcase name="test_six_hundred_baskets_complete_within_budget" file="/Users/gentianbeqiri/StudioProjects/pos_system/apps/api/tests/Feature/RetailIntelligencePromotionStrategyLargeBasketTest.php" line="32" class="Tests\Feature\RetailIntelligencePromotionStrategyLargeBasketTest" classname="Tests.Feature.RetailIntelligencePromotionStrategyLargeBasketTest" assertions="6" time="0.135954"/>
        <testcase name="test_fifteen_hundred_baskets_chunked" file="/Users/gentianbeqiri/StudioProjects/pos_system/apps/api/tests/Feature/RetailIntelligencePromotionStrategyLargeBasketTest.php" line="71" class="Tests\Feature\RetailIntelligencePromotionStrategyLargeBasketTest" classname="Tests.Feature.RetailIntelligencePromotionStrategyLargeBasketTest" assertions="4" time="0.238786"/>
        <testcase name="test_five_thousand_one_baskets_returns_budget_exceeded" file="/Users/gentianbeqiri/StudioProjects/pos_system/apps/api/tests/Feature/RetailIntelligencePromotionStrategyLargeBasketTest.php" line="90" class="Tests\Feature\RetailIntelligencePromotionStrategyLargeBasketTest" classname="Tests.Feature.RetailIntelligencePromotionStrategyLargeBasketTest" assertions="2" time="0.332990"/>
      </testsuite>
      <testsuite name="Tests\Feature\RetailIntelligencePromotionStrategyTest" file="/Users/gentianbeqiri/StudioProjects/pos_system/apps/api/tests/Feature/RetailIntelligencePromotionStrategyTest.php" tests="7" assertions="11" errors="0" failures="0" skipped="0" time="0.332975">
        <testcase name="test_discover_ranks_candidates_read_only" file="/Users/gentianbeqiri/StudioProjects/pos_system/apps/api/tests/Feature/RetailIntelligencePromotionStrategyTest.php" line="31" class="Tests\Feature\RetailIntelligencePromotionStrategyTest" classname="Tests.Feature.RetailIntelligencePromotionStrategyTest" assertions="4" time="0.087618"/>
        <testcase name="test_ranking_prioritizes_financial_safety_over_attractive_discount" file="/Users/gentianbeqiri/StudioProjects/pos_system/apps/api/tests/Feature/RetailIntelligencePromotionStrategyTest.php" line="48" class="Tests\Feature\RetailIntelligencePromotionStrategyTest" classname="Tests.Feature.RetailIntelligencePromotionStrategyTest" assertions="1" time="0.007026"/>
        <testcase name="test_rejected_never_outranks_insufficient_despite_margin" file="/Users/gentianbeqiri/StudioProjects/pos_system/apps/api/tests/Feature/RetailIntelligencePromotionStrategyTest.php" line="70" class="Tests\Feature\RetailIntelligencePromotionStrategyTest" classname="Tests.Feature.RetailIntelligencePromotionStrategyTest" assertions="1" time="0.006724"/>
        <testcase name="test_no_database_writes" file="/Users/gentianbeqiri/StudioProjects/pos_system/apps/api/tests/Feature/RetailIntelligencePromotionStrategyTest.php" line="92" class="Tests\Feature\RetailIntelligencePromotionStrategyTest" classname="Tests.Feature.RetailIntelligencePromotionStrategyTest" assertions="1" time="0.068497"/>
        <testcase name="test_tenant_isolation" file="/Users/gentianbeqiri/StudioProjects/pos_system/apps/api/tests/Feature/RetailIntelligencePromotionStrategyTest.php" line="111" class="Tests\Feature\RetailIntelligencePromotionStrategyTest" classname="Tests.Feature.RetailIntelligencePromotionStrategyTest" assertions="1" time="0.042529"/>
        <testcase name="test_incremental_basket_assumption_stored_on_input_without_coercing_financials" file="/Users/gentianbeqiri/StudioProjects/pos_system/apps/api/tests/Feature/RetailIntelligencePromotionStrategyTest.php" line="120" class="Tests\Feature\RetailIntelligencePromotionStrategyTest" classname="Tests.Feature.RetailIntelligencePromotionStrategyTest" assertions="2" time="0.055438"/>
        <testcase name="test_no_operational_row_changes" file="/Users/gentianbeqiri/StudioProjects/pos_system/apps/api/tests/Feature/RetailIntelligencePromotionStrategyTest.php" line="146" class="Tests\Feature\RetailIntelligencePromotionStrategyTest" classname="Tests.Feature.RetailIntelligencePromotionStrategyTest" assertions="1" time="0.065142"/>
      </testsuite>
      <testsuite name="Tests\Feature\RetailIntelligenceRecommendationEvaluationTest" file="/Users/gentianbeqiri/StudioProjects/pos_system/apps/api/tests/Feature/RetailIntelligenceRecommendationEvaluationTest.php" tests="8" assertions="21" errors="0" failures="0" skipped="0" time="0.357215">
        <testcase name="test_evaluates_recommendations_end_to_end" file="/Users/gentianbeqiri/StudioProjects/pos_system/apps/api/tests/Feature/RetailIntelligenceRecommendationEvaluationTest.php" line="34" class="Tests\Feature\RetailIntelligenceRecommendationEvaluationTest" classname="Tests.Feature.RetailIntelligenceRecommendationEvaluationTest" assertions="6" time="0.059721"/>
        <testcase name="test_analysis_opportunity_financial_not_applicable" file="/Users/gentianbeqiri/StudioProjects/pos_system/apps/api/tests/Feature/RetailIntelligenceRecommendationEvaluationTest.php" line="53" class="Tests\Feature\RetailIntelligenceRecommendationEvaluationTest" classname="Tests.Feature.RetailIntelligenceRecommendationEvaluationTest" assertions="6" time="0.061942"/>
        <testcase name="test_deterministic_evaluation_ranking" file="/Users/gentianbeqiri/StudioProjects/pos_system/apps/api/tests/Feature/RetailIntelligenceRecommendationEvaluationTest.php" line="72" class="Tests\Feature\RetailIntelligenceRecommendationEvaluationTest" classname="Tests.Feature.RetailIntelligenceRecommendationEvaluationTest" assertions="2" time="0.061342"/>
        <testcase name="test_tenant_isolation_on_input" file="/Users/gentianbeqiri/StudioProjects/pos_system/apps/api/tests/Feature/RetailIntelligenceRecommendationEvaluationTest.php" line="87" class="Tests\Feature\RetailIntelligenceRecommendationEvaluationTest" classname="Tests.Feature.RetailIntelligenceRecommendationEvaluationTest" assertions="1" time="0.042650"/>
        <testcase name="test_bounded_batch_evaluation" file="/Users/gentianbeqiri/StudioProjects/pos_system/apps/api/tests/Feature/RetailIntelligenceRecommendationEvaluationTest.php" line="95" class="Tests\Feature\RetailIntelligenceRecommendationEvaluationTest" classname="Tests.Feature.RetailIntelligenceRecommendationEvaluationTest" assertions="1" time="0.007480"/>
        <testcase name="test_no_database_writes_during_evaluation" file="/Users/gentianbeqiri/StudioProjects/pos_system/apps/api/tests/Feature/RetailIntelligenceRecommendationEvaluationTest.php" line="101" class="Tests\Feature\RetailIntelligenceRecommendationEvaluationTest" classname="Tests.Feature.RetailIntelligenceRecommendationEvaluationTest" assertions="1" time="0.058239"/>
        <testcase name="test_no_operational_row_count_changes" file="/Users/gentianbeqiri/StudioProjects/pos_system/apps/api/tests/Feature/RetailIntelligenceRecommendationEvaluationTest.php" line="120" class="Tests\Feature\RetailIntelligenceRecommendationEvaluationTest" classname="Tests.Feature.RetailIntelligenceRecommendationEvaluationTest" assertions="2" time="0.058434"/>
        <testcase name="test_engine_evaluates_without_phase_10d_re_execution" file="/Users/gentianbeqiri/StudioProjects/pos_system/apps/api/tests/Feature/RetailIntelligenceRecommendationEvaluationTest.php" line="136" class="Tests\Feature\RetailIntelligenceRecommendationEvaluationTest" classname="Tests.Feature.RetailIntelligenceRecommendationEvaluationTest" assertions="2" time="0.007407"/>
      </testsuite>
      <testsuite name="Tests\Feature\RetailIntelligenceRecommendationTest" file="/Users/gentianbeqiri/StudioProjects/pos_system/apps/api/tests/Feature/RetailIntelligenceRecommendationTest.php" tests="8" assertions="19" errors="0" failures="0" skipped="0" time="0.416954">
        <testcase name="test_generates_advisory_recommendations_with_cost_fields" file="/Users/gentianbeqiri/StudioProjects/pos_system/apps/api/tests/Feature/RetailIntelligenceRecommendationTest.php" line="32" class="Tests\Feature\RetailIntelligenceRecommendationTest" classname="Tests.Feature.RetailIntelligenceRecommendationTest" assertions="5" time="0.058768"/>
        <testcase name="test_tenant_isolation_on_input" file="/Users/gentianbeqiri/StudioProjects/pos_system/apps/api/tests/Feature/RetailIntelligenceRecommendationTest.php" line="50" class="Tests\Feature\RetailIntelligenceRecommendationTest" classname="Tests.Feature.RetailIntelligenceRecommendationTest" assertions="1" time="0.041936"/>
        <testcase name="test_deterministic_ranking" file="/Users/gentianbeqiri/StudioProjects/pos_system/apps/api/tests/Feature/RetailIntelligenceRecommendationTest.php" line="58" class="Tests\Feature\RetailIntelligenceRecommendationTest" classname="Tests.Feature.RetailIntelligenceRecommendationTest" assertions="1" time="0.061497"/>
        <testcase name="test_break_even_percent_in_financial_analysis" file="/Users/gentianbeqiri/StudioProjects/pos_system/apps/api/tests/Feature/RetailIntelligenceRecommendationTest.php" line="70" class="Tests\Feature\RetailIntelligenceRecommendationTest" classname="Tests.Feature.RetailIntelligenceRecommendationTest" assertions="1" time="0.007252"/>
        <testcase name="test_unchanged_hypothetical_price_is_analysis_opportunity_without_scenario" file="/Users/gentianbeqiri/StudioProjects/pos_system/apps/api/tests/Feature/RetailIntelligenceRecommendationTest.php" line="77" class="Tests\Feature\RetailIntelligenceRecommendationTest" classname="Tests.Feature.RetailIntelligenceRecommendationTest" assertions="7" time="0.057929"/>
        <testcase name="test_cross_product_companion_recommendation_lists_two_products" file="/Users/gentianbeqiri/StudioProjects/pos_system/apps/api/tests/Feature/RetailIntelligenceRecommendationTest.php" line="94" class="Tests\Feature\RetailIntelligenceRecommendationTest" classname="Tests.Feature.RetailIntelligenceRecommendationTest" assertions="1" time="0.062327"/>
        <testcase name="test_no_database_writes_during_recommendation_generation" file="/Users/gentianbeqiri/StudioProjects/pos_system/apps/api/tests/Feature/RetailIntelligenceRecommendationTest.php" line="108" class="Tests\Feature\RetailIntelligenceRecommendationTest" classname="Tests.Feature.RetailIntelligenceRecommendationTest" assertions="1" time="0.058660"/>
        <testcase name="test_no_operational_row_count_changes" file="/Users/gentianbeqiri/StudioProjects/pos_system/apps/api/tests/Feature/RetailIntelligenceRecommendationTest.php" line="122" class="Tests\Feature\RetailIntelligenceRecommendationTest" classname="Tests.Feature.RetailIntelligenceRecommendationTest" assertions="2" time="0.068585"/>
      </testsuite>
      <testsuite name="Tests\Feature\RetailIntelligenceScenarioEngineTest" file="/Users/gentianbeqiri/StudioProjects/pos_system/apps/api/tests/Feature/RetailIntelligenceScenarioEngineTest.php" tests="10" assertions="16" errors="0" failures="0" skipped="0" time="0.591310">
        <testcase name="test_price_decrease_scenario_is_deterministic" file="/Users/gentianbeqiri/StudioProjects/pos_system/apps/api/tests/Feature/RetailIntelligenceScenarioEngineTest.php" line="36" class="Tests\Feature\RetailIntelligenceScenarioEngineTest" classname="Tests.Feature.RetailIntelligenceScenarioEngineTest" assertions="2" time="0.067336"/>
        <testcase name="test_tenant_isolation_on_input" file="/Users/gentianbeqiri/StudioProjects/pos_system/apps/api/tests/Feature/RetailIntelligenceScenarioEngineTest.php" line="52" class="Tests\Feature\RetailIntelligenceScenarioEngineTest" classname="Tests.Feature.RetailIntelligenceScenarioEngineTest" assertions="1" time="0.045549"/>
        <testcase name="test_location_must_belong_to_business" file="/Users/gentianbeqiri/StudioProjects/pos_system/apps/api/tests/Feature/RetailIntelligenceScenarioEngineTest.php" line="61" class="Tests\Feature\RetailIntelligenceScenarioEngineTest" classname="Tests.Feature.RetailIntelligenceScenarioEngineTest" assertions="1" time="0.074316"/>
        <testcase name="test_zero_hypothetical_price_allowed_with_limitations" file="/Users/gentianbeqiri/StudioProjects/pos_system/apps/api/tests/Feature/RetailIntelligenceScenarioEngineTest.php" line="76" class="Tests\Feature\RetailIntelligenceScenarioEngineTest" classname="Tests.Feature.RetailIntelligenceScenarioEngineTest" assertions="1" time="0.057538"/>
        <testcase name="test_custom_demand_sensitivity_assumptions" file="/Users/gentianbeqiri/StudioProjects/pos_system/apps/api/tests/Feature/RetailIntelligenceScenarioEngineTest.php" line="84" class="Tests\Feature\RetailIntelligenceScenarioEngineTest" classname="Tests.Feature.RetailIntelligenceScenarioEngineTest" assertions="2" time="0.057392"/>
        <testcase name="test_companion_uplift_default_zero_without_assumptions" file="/Users/gentianbeqiri/StudioProjects/pos_system/apps/api/tests/Feature/RetailIntelligenceScenarioEngineTest.php" line="103" class="Tests\Feature\RetailIntelligenceScenarioEngineTest" classname="Tests.Feature.RetailIntelligenceScenarioEngineTest" assertions="2" time="0.057847"/>
        <testcase name="test_explicit_companion_assumption_is_separate" file="/Users/gentianbeqiri/StudioProjects/pos_system/apps/api/tests/Feature/RetailIntelligenceScenarioEngineTest.php" line="112" class="Tests\Feature\RetailIntelligenceScenarioEngineTest" classname="Tests.Feature.RetailIntelligenceScenarioEngineTest" assertions="2" time="0.056599"/>
        <testcase name="test_batch_bound" file="/Users/gentianbeqiri/StudioProjects/pos_system/apps/api/tests/Feature/RetailIntelligenceScenarioEngineTest.php" line="131" class="Tests\Feature\RetailIntelligenceScenarioEngineTest" classname="Tests.Feature.RetailIntelligenceScenarioEngineTest" assertions="1" time="0.055128"/>
        <testcase name="test_scenario_execution_emits_no_database_writes" file="/Users/gentianbeqiri/StudioProjects/pos_system/apps/api/tests/Feature/RetailIntelligenceScenarioEngineTest.php" line="143" class="Tests\Feature\RetailIntelligenceScenarioEngineTest" classname="Tests.Feature.RetailIntelligenceScenarioEngineTest" assertions="1" time="0.061834"/>
        <testcase name="test_no_operational_row_changes" file="/Users/gentianbeqiri/StudioProjects/pos_system/apps/api/tests/Feature/RetailIntelligenceScenarioEngineTest.php" line="158" class="Tests\Feature\RetailIntelligenceScenarioEngineTest" classname="Tests.Feature.RetailIntelligenceScenarioEngineTest" assertions="3" time="0.057771"/>
      </testsuite>
      <testsuite name="Tests\Feature\RetailIntelligenceStrategyDiscoveryTest" file="/Users/gentianbeqiri/StudioProjects/pos_system/apps/api/tests/Feature/RetailIntelligenceStrategyDiscoveryTest.php" tests="3" assertions="15" errors="0" failures="0" skipped="0" time="0.238079">
        <testcase name="test_strategy_discovery_requires_analyze_permission" file="/Users/gentianbeqiri/StudioProjects/pos_system/apps/api/tests/Feature/RetailIntelligenceStrategyDiscoveryTest.php" line="29" class="Tests\Feature\RetailIntelligenceStrategyDiscoveryTest" classname="Tests.Feature.RetailIntelligenceStrategyDiscoveryTest" assertions="1" time="0.068508"/>
        <testcase name="test_strategy_discovery_returns_multiple_strategies_and_meta" file="/Users/gentianbeqiri/StudioProjects/pos_system/apps/api/tests/Feature/RetailIntelligenceStrategyDiscoveryTest.php" line="39" class="Tests\Feature\RetailIntelligenceStrategyDiscoveryTest" classname="Tests.Feature.RetailIntelligenceStrategyDiscoveryTest" assertions="12" time="0.086782"/>
        <testcase name="test_no_database_writes" file="/Users/gentianbeqiri/StudioProjects/pos_system/apps/api/tests/Feature/RetailIntelligenceStrategyDiscoveryTest.php" line="67" class="Tests\Feature\RetailIntelligenceStrategyDiscoveryTest" classname="Tests.Feature.RetailIntelligenceStrategyDiscoveryTest" assertions="2" time="0.082789"/>
      </testsuite>
      <testsuite name="Tests\Feature\RetailLearningDatasetIntegrityTest" file="/Users/gentianbeqiri/StudioProjects/pos_system/apps/api/tests/Feature/RetailLearningDatasetIntegrityTest.php" tests="10" assertions="28" errors="0" failures="0" skipped="0" time="0.133157">
        <testcase name="test_legacy_shadow_observations_excluded_from_trusted_learning" file="/Users/gentianbeqiri/StudioProjects/pos_system/apps/api/tests/Feature/RetailLearningDatasetIntegrityTest.php" line="33" class="Tests\Feature\RetailLearningDatasetIntegrityTest" classname="Tests.Feature.RetailLearningDatasetIntegrityTest" assertions="5" time="0.012859"/>
        <testcase name="test_generated_and_presented_are_distinct_canonical_rows" file="/Users/gentianbeqiri/StudioProjects/pos_system/apps/api/tests/Feature/RetailLearningDatasetIntegrityTest.php" line="70" class="Tests\Feature\RetailLearningDatasetIntegrityTest" classname="Tests.Feature.RetailLearningDatasetIntegrityTest" assertions="4" time="0.011786"/>
        <testcase name="test_temporal_leakage_reference_after_cutoff_excludes_record" file="/Users/gentianbeqiri/StudioProjects/pos_system/apps/api/tests/Feature/RetailLearningDatasetIntegrityTest.php" line="105" class="Tests\Feature\RetailLearningDatasetIntegrityTest" classname="Tests.Feature.RetailLearningDatasetIntegrityTest" assertions="2" time="0.011012"/>
        <testcase name="test_materialization_is_idempotent_per_source" file="/Users/gentianbeqiri/StudioProjects/pos_system/apps/api/tests/Feature/RetailLearningDatasetIntegrityTest.php" line="132" class="Tests\Feature\RetailLearningDatasetIntegrityTest" classname="Tests.Feature.RetailLearningDatasetIntegrityTest" assertions="4" time="0.011659"/>
        <testcase name="test_tenant_isolation_on_materialization" file="/Users/gentianbeqiri/StudioProjects/pos_system/apps/api/tests/Feature/RetailLearningDatasetIntegrityTest.php" line="155" class="Tests\Feature\RetailLearningDatasetIntegrityTest" classname="Tests.Feature.RetailLearningDatasetIntegrityTest" assertions="2" time="0.016896"/>
        <testcase name="test_promotion_measurement_missing_cost_is_provisional" file="/Users/gentianbeqiri/StudioProjects/pos_system/apps/api/tests/Feature/RetailLearningDatasetIntegrityTest.php" line="172" class="Tests\Feature\RetailLearningDatasetIntegrityTest" classname="Tests.Feature.RetailLearningDatasetIntegrityTest" assertions="3" time="0.010836"/>
        <testcase name="test_learning_dataset_quality_api_requires_view_permission" file="/Users/gentianbeqiri/StudioProjects/pos_system/apps/api/tests/Feature/RetailLearningDatasetIntegrityTest.php" line="235" class="Tests\Feature\RetailLearningDatasetIntegrityTest" classname="Tests.Feature.RetailLearningDatasetIntegrityTest" assertions="2" time="0.031866"/>
        <testcase name="test_materialization_does_not_mutate_operational_catalog" file="/Users/gentianbeqiri/StudioProjects/pos_system/apps/api/tests/Feature/RetailLearningDatasetIntegrityTest.php" line="249" class="Tests\Feature\RetailLearningDatasetIntegrityTest" classname="Tests.Feature.RetailLearningDatasetIntegrityTest" assertions="3" time="0.010792"/>
        <testcase name="test_outcome_chronology_guard" file="/Users/gentianbeqiri/StudioProjects/pos_system/apps/api/tests/Feature/RetailLearningDatasetIntegrityTest.php" line="272" class="Tests\Feature\RetailLearningDatasetIntegrityTest" classname="Tests.Feature.RetailLearningDatasetIntegrityTest" assertions="2" time="0.006832"/>
        <testcase name="test_bounded_window_rejects_excessive_span" file="/Users/gentianbeqiri/StudioProjects/pos_system/apps/api/tests/Feature/RetailLearningDatasetIntegrityTest.php" line="289" class="Tests\Feature\RetailLearningDatasetIntegrityTest" classname="Tests.Feature.RetailLearningDatasetIntegrityTest" assertions="1" time="0.008619"/>
      </testsuite>
      <testsuite name="Tests\Feature\RetailLearningPhase14_3BTest" file="/Users/gentianbeqiri/StudioProjects/pos_system/apps/api/tests/Feature/RetailLearningPhase14_3BTest.php" tests="12" assertions="24" errors="0" failures="0" skipped="0" time="0.136339">
        <testcase name="test_point_in_time_policy_flags_late_feature_materialization" file="/Users/gentianbeqiri/StudioProjects/pos_system/apps/api/tests/Feature/RetailLearningPhase14_3BTest.php" line="40" class="Tests\Feature\RetailLearningPhase14_3BTest" classname="Tests.Feature.RetailLearningPhase14_3BTest" assertions="1" time="0.010329"/>
        <testcase name="test_feature_link_marks_missing_features_as_excluded" file="/Users/gentianbeqiri/StudioProjects/pos_system/apps/api/tests/Feature/RetailLearningPhase14_3BTest.php" line="72" class="Tests\Feature\RetailLearningPhase14_3BTest" classname="Tests.Feature.RetailLearningPhase14_3BTest" assertions="2" time="0.015207"/>
        <testcase name="test_manifest_content_fingerprint_changes_when_source_changes" file="/Users/gentianbeqiri/StudioProjects/pos_system/apps/api/tests/Feature/RetailLearningPhase14_3BTest.php" line="92" class="Tests\Feature\RetailLearningPhase14_3BTest" classname="Tests.Feature.RetailLearningPhase14_3BTest" assertions="4" time="0.015789"/>
        <testcase name="test_manifest_rebuild_with_unchanged_content_is_idempotent" file="/Users/gentianbeqiri/StudioProjects/pos_system/apps/api/tests/Feature/RetailLearningPhase14_3BTest.php" line="119" class="Tests\Feature\RetailLearningPhase14_3BTest" classname="Tests.Feature.RetailLearningPhase14_3BTest" assertions="3" time="0.012258"/>
        <testcase name="test_prediction_evaluation_does_not_treat_missing_actual_as_zero" file="/Users/gentianbeqiri/StudioProjects/pos_system/apps/api/tests/Feature/RetailLearningPhase14_3BTest.php" line="141" class="Tests\Feature\RetailLearningPhase14_3BTest" classname="Tests.Feature.RetailLearningPhase14_3BTest" assertions="4" time="0.013987"/>
        <testcase name="test_wape_handles_zero_actual_demand" file="/Users/gentianbeqiri/StudioProjects/pos_system/apps/api/tests/Feature/RetailLearningPhase14_3BTest.php" line="184" class="Tests\Feature\RetailLearningPhase14_3BTest" classname="Tests.Feature.RetailLearningPhase14_3BTest" assertions="2" time="0.007029"/>
        <testcase name="test_wape_null_when_all_actuals_zero" file="/Users/gentianbeqiri/StudioProjects/pos_system/apps/api/tests/Feature/RetailLearningPhase14_3BTest.php" line="195" class="Tests\Feature\RetailLearningPhase14_3BTest" classname="Tests.Feature.RetailLearningPhase14_3BTest" assertions="2" time="0.006505"/>
        <testcase name="test_export_is_deterministic_and_tenant_scoped" file="/Users/gentianbeqiri/StudioProjects/pos_system/apps/api/tests/Feature/RetailLearningPhase14_3BTest.php" line="205" class="Tests\Feature\RetailLearningPhase14_3BTest" classname="Tests.Feature.RetailLearningPhase14_3BTest" assertions="2" time="0.012831"/>
        <testcase name="test_evaluation_idempotency" file="/Users/gentianbeqiri/StudioProjects/pos_system/apps/api/tests/Feature/RetailLearningPhase14_3BTest.php" line="233" class="Tests\Feature\RetailLearningPhase14_3BTest" classname="Tests.Feature.RetailLearningPhase14_3BTest" assertions="1" time="0.010830"/>
        <testcase name="test_manifest_is_immutable" file="/Users/gentianbeqiri/StudioProjects/pos_system/apps/api/tests/Feature/RetailLearningPhase14_3BTest.php" line="283" class="Tests\Feature\RetailLearningPhase14_3BTest" classname="Tests.Feature.RetailLearningPhase14_3BTest" assertions="1" time="0.009393"/>
        <testcase name="test_phase_14_3b_does_not_mutate_operational_tables" file="/Users/gentianbeqiri/StudioProjects/pos_system/apps/api/tests/Feature/RetailLearningPhase14_3BTest.php" line="296" class="Tests\Feature\RetailLearningPhase14_3BTest" classname="Tests.Feature.RetailLearningPhase14_3BTest" assertions="1" time="0.011830"/>
        <testcase name="test_max_inclusive_feature_day_policy" file="/Users/gentianbeqiri/StudioProjects/pos_system/apps/api/tests/Feature/RetailLearningPhase14_3BTest.php" line="317" class="Tests\Feature\RetailLearningPhase14_3BTest" classname="Tests.Feature.RetailLearningPhase14_3BTest" assertions="1" time="0.010351"/>
      </testsuite>
      <testsuite name="Tests\Feature\RetailLearningPhase14_3CTest" file="/Users/gentianbeqiri/StudioProjects/pos_system/apps/api/tests/Feature/RetailLearningPhase14_3CTest.php" tests="9" assertions="16" errors="0" failures="0" skipped="0" time="0.130760">
        <testcase name="test_content_fingerprint_changes_when_canonical_payload_changes" file="/Users/gentianbeqiri/StudioProjects/pos_system/apps/api/tests/Feature/RetailLearningPhase14_3CTest.php" line="36" class="Tests\Feature\RetailLearningPhase14_3CTest" classname="Tests.Feature.RetailLearningPhase14_3CTest" assertions="1" time="0.012198"/>
        <testcase name="test_manifest_writes_immutable_snapshot_chunks" file="/Users/gentianbeqiri/StudioProjects/pos_system/apps/api/tests/Feature/RetailLearningPhase14_3CTest.php" line="61" class="Tests\Feature\RetailLearningPhase14_3CTest" classname="Tests.Feature.RetailLearningPhase14_3CTest" assertions="3" time="0.011081"/>
        <testcase name="test_pipeline_run_is_idempotent_for_completed_window" file="/Users/gentianbeqiri/StudioProjects/pos_system/apps/api/tests/Feature/RetailLearningPhase14_3CTest.php" line="83" class="Tests\Feature\RetailLearningPhase14_3CTest" classname="Tests.Feature.RetailLearningPhase14_3CTest" assertions="3" time="0.016917"/>
        <testcase name="test_experiment_registry_is_tenant_isolated" file="/Users/gentianbeqiri/StudioProjects/pos_system/apps/api/tests/Feature/RetailLearningPhase14_3CTest.php" line="105" class="Tests\Feature\RetailLearningPhase14_3CTest" classname="Tests.Feature.RetailLearningPhase14_3CTest" assertions="2" time="0.011965"/>
        <testcase name="test_shadow_assignment_is_deterministic_per_unit" file="/Users/gentianbeqiri/StudioProjects/pos_system/apps/api/tests/Feature/RetailLearningPhase14_3CTest.php" line="117" class="Tests\Feature\RetailLearningPhase14_3CTest" classname="Tests.Feature.RetailLearningPhase14_3CTest" assertions="2" time="0.009707"/>
        <testcase name="test_experiment_analysis_contract_disclaims_causal_claims" file="/Users/gentianbeqiri/StudioProjects/pos_system/apps/api/tests/Feature/RetailLearningPhase14_3CTest.php" line="137" class="Tests\Feature\RetailLearningPhase14_3CTest" classname="Tests.Feature.RetailLearningPhase14_3CTest" assertions="2" time="0.009248"/>
        <testcase name="test_canonical_serializer_fingerprint_stable" file="/Users/gentianbeqiri/StudioProjects/pos_system/apps/api/tests/Feature/RetailLearningPhase14_3CTest.php" line="148" class="Tests\Feature\RetailLearningPhase14_3CTest" classname="Tests.Feature.RetailLearningPhase14_3CTest" assertions="1" time="0.010351"/>
        <testcase name="test_phase_14_3c_does_not_mutate_operational_catalog" file="/Users/gentianbeqiri/StudioProjects/pos_system/apps/api/tests/Feature/RetailLearningPhase14_3CTest.php" line="170" class="Tests\Feature\RetailLearningPhase14_3CTest" classname="Tests.Feature.RetailLearningPhase14_3CTest" assertions="1" time="0.013608"/>
        <testcase name="test_learning_experiment_api_requires_record_permission" file="/Users/gentianbeqiri/StudioProjects/pos_system/apps/api/tests/Feature/RetailLearningPhase14_3CTest.php" line="189" class="Tests\Feature\RetailLearningPhase14_3CTest" classname="Tests.Feature.RetailLearningPhase14_3CTest" assertions="1" time="0.035685"/>
      </testsuite>
      <testsuite name="Tests\Feature\RetailLearningPhase8CompletionTest" file="/Users/gentianbeqiri/StudioProjects/pos_system/apps/api/tests/Feature/RetailLearningPhase8CompletionTest.php" tests="11" assertions="30" errors="0" failures="0" skipped="0" time="0.145390">
        <testcase name="test_canonical_record_includes_recommendation_context_and_lifecycle" file="/Users/gentianbeqiri/StudioProjects/pos_system/apps/api/tests/Feature/RetailLearningPhase8CompletionTest.php" line="29" class="Tests\Feature\RetailLearningPhase8CompletionTest" classname="Tests.Feature.RetailLearningPhase8CompletionTest" assertions="4" time="0.010772"/>
        <testcase name="test_missing_primary_comparison_reference_is_provisional" file="/Users/gentianbeqiri/StudioProjects/pos_system/apps/api/tests/Feature/RetailLearningPhase8CompletionTest.php" line="49" class="Tests\Feature\RetailLearningPhase8CompletionTest" classname="Tests.Feature.RetailLearningPhase8CompletionTest" assertions="2" time="0.010309"/>
        <testcase name="test_distinct_fanta_variants_remain_distinct_products" file="/Users/gentianbeqiri/StudioProjects/pos_system/apps/api/tests/Feature/RetailLearningPhase8CompletionTest.php" line="70" class="Tests\Feature\RetailLearningPhase8CompletionTest" classname="Tests.Feature.RetailLearningPhase8CompletionTest" assertions="3" time="0.011370"/>
        <testcase name="test_deferred_review_is_not_rejection" file="/Users/gentianbeqiri/StudioProjects/pos_system/apps/api/tests/Feature/RetailLearningPhase8CompletionTest.php" line="94" class="Tests\Feature\RetailLearningPhase8CompletionTest" classname="Tests.Feature.RetailLearningPhase8CompletionTest" assertions="2" time="0.010424"/>
        <testcase name="test_accepted_review_does_not_imply_operational_implementation" file="/Users/gentianbeqiri/StudioProjects/pos_system/apps/api/tests/Feature/RetailLearningPhase8CompletionTest.php" line="109" class="Tests\Feature\RetailLearningPhase8CompletionTest" classname="Tests.Feature.RetailLearningPhase8CompletionTest" assertions="3" time="0.010592"/>
        <testcase name="test_outcome_without_price_history_marks_not_observed" file="/Users/gentianbeqiri/StudioProjects/pos_system/apps/api/tests/Feature/RetailLearningPhase8CompletionTest.php" line="126" class="Tests\Feature\RetailLearningPhase8CompletionTest" classname="Tests.Feature.RetailLearningPhase8CompletionTest" assertions="3" time="0.010563"/>
        <testcase name="test_observed_operational_price_change_in_followup_window" file="/Users/gentianbeqiri/StudioProjects/pos_system/apps/api/tests/Feature/RetailLearningPhase8CompletionTest.php" line="144" class="Tests\Feature\RetailLearningPhase8CompletionTest" classname="Tests.Feature.RetailLearningPhase8CompletionTest" assertions="2" time="0.014238"/>
        <testcase name="test_repeated_materialization_is_idempotent" file="/Users/gentianbeqiri/StudioProjects/pos_system/apps/api/tests/Feature/RetailLearningPhase8CompletionTest.php" line="172" class="Tests\Feature\RetailLearningPhase8CompletionTest" classname="Tests.Feature.RetailLearningPhase8CompletionTest" assertions="4" time="0.011083"/>
        <testcase name="test_cross_tenant_records_are_isolated" file="/Users/gentianbeqiri/StudioProjects/pos_system/apps/api/tests/Feature/RetailLearningPhase8CompletionTest.php" line="190" class="Tests\Feature\RetailLearningPhase8CompletionTest" classname="Tests.Feature.RetailLearningPhase8CompletionTest" assertions="1" time="0.011708"/>
        <testcase name="test_quality_api_includes_ml_readiness_indicators" file="/Users/gentianbeqiri/StudioProjects/pos_system/apps/api/tests/Feature/RetailLearningPhase8CompletionTest.php" line="202" class="Tests\Feature\RetailLearningPhase8CompletionTest" classname="Tests.Feature.RetailLearningPhase8CompletionTest" assertions="4" time="0.033654"/>
        <testcase name="test_materialization_does_not_write_operational_tables" file="/Users/gentianbeqiri/StudioProjects/pos_system/apps/api/tests/Feature/RetailLearningPhase8CompletionTest.php" line="222" class="Tests\Feature\RetailLearningPhase8CompletionTest" classname="Tests.Feature.RetailLearningPhase8CompletionTest" assertions="2" time="0.010677"/>
      </testsuite>
      <testsuite name="Tests\Feature\RetailLearningPipelinePhase14_4_1Test" file="/Users/gentianbeqiri/StudioProjects/pos_system/apps/api/tests/Feature/RetailLearningPipelinePhase14_4_1Test.php" tests="9" assertions="37" errors="0" failures="0" skipped="0" time="3.753156">
        <testcase name="test_failed_execution_can_retry_on_same_row_without_deleting_history" file="/Users/gentianbeqiri/StudioProjects/pos_system/apps/api/tests/Feature/RetailLearningPipelinePhase14_4_1Test.php" line="35" class="Tests\Feature\RetailLearningPipelinePhase14_4_1Test" classname="Tests.Feature.RetailLearningPipelinePhase14_4_1Test" assertions="7" time="0.014338"/>
        <testcase name="test_interrupted_running_execution_is_recovered_after_stale_threshold" file="/Users/gentianbeqiri/StudioProjects/pos_system/apps/api/tests/Feature/RetailLearningPipelinePhase14_4_1Test.php" line="72" class="Tests\Feature\RetailLearningPipelinePhase14_4_1Test" classname="Tests.Feature.RetailLearningPipelinePhase14_4_1Test" assertions="4" time="0.014105"/>
        <testcase name="test_stale_running_is_not_recovered_while_another_worker_holds_the_lock" file="/Users/gentianbeqiri/StudioProjects/pos_system/apps/api/tests/Feature/RetailLearningPipelinePhase14_4_1Test.php" line="101" class="Tests\Feature\RetailLearningPipelinePhase14_4_1Test" classname="Tests.Feature.RetailLearningPipelinePhase14_4_1Test" assertions="5" time="1.796101"/>
        <testcase name="test_concurrent_same_fingerprint_second_call_returns_in_progress_run" file="/Users/gentianbeqiri/StudioProjects/pos_system/apps/api/tests/Feature/RetailLearningPipelinePhase14_4_1Test.php" line="136" class="Tests\Feature\RetailLearningPipelinePhase14_4_1Test" classname="Tests.Feature.RetailLearningPipelinePhase14_4_1Test" assertions="2" time="1.806266"/>
        <testcase name="test_concurrent_different_windows_both_complete" file="/Users/gentianbeqiri/StudioProjects/pos_system/apps/api/tests/Feature/RetailLearningPipelinePhase14_4_1Test.php" line="168" class="Tests\Feature\RetailLearningPipelinePhase14_4_1Test" classname="Tests.Feature.RetailLearningPipelinePhase14_4_1Test" assertions="4" time="0.044397"/>
        <testcase name="test_force_after_completed_archives_history_and_preserves_manifest_immutability" file="/Users/gentianbeqiri/StudioProjects/pos_system/apps/api/tests/Feature/RetailLearningPipelinePhase14_4_1Test.php" line="186" class="Tests\Feature\RetailLearningPipelinePhase14_4_1Test" classname="Tests.Feature.RetailLearningPipelinePhase14_4_1Test" assertions="8" time="0.026555"/>
        <testcase name="test_force_after_failed_starts_new_attempt" file="/Users/gentianbeqiri/StudioProjects/pos_system/apps/api/tests/Feature/RetailLearningPipelinePhase14_4_1Test.php" line="212" class="Tests\Feature\RetailLearningPipelinePhase14_4_1Test" classname="Tests.Feature.RetailLearningPipelinePhase14_4_1Test" assertions="4" time="0.016976"/>
        <testcase name="test_pipeline_runs_are_tenant_isolated" file="/Users/gentianbeqiri/StudioProjects/pos_system/apps/api/tests/Feature/RetailLearningPipelinePhase14_4_1Test.php" line="247" class="Tests\Feature\RetailLearningPipelinePhase14_4_1Test" classname="Tests.Feature.RetailLearningPipelinePhase14_4_1Test" assertions="2" time="0.020723"/>
        <testcase name="test_pipeline_does_not_mutate_operational_catalog" file="/Users/gentianbeqiri/StudioProjects/pos_system/apps/api/tests/Feature/RetailLearningPipelinePhase14_4_1Test.php" line="260" class="Tests\Feature\RetailLearningPipelinePhase14_4_1Test" classname="Tests.Feature.RetailLearningPipelinePhase14_4_1Test" assertions="1" time="0.013696"/>
      </testsuite>
      <testsuite name="Tests\Feature\SaleListSummaryTest" file="/Users/gentianbeqiri/StudioProjects/pos_system/apps/api/tests/Feature/SaleListSummaryTest.php" tests="1" assertions="9" errors="0" failures="0" skipped="0" time="0.043252">
        <testcase name="test_sales_index_summary_covers_all_filtered_pages_not_only_current_page" file="/Users/gentianbeqiri/StudioProjects/pos_system/apps/api/tests/Feature/SaleListSummaryTest.php" line="23" class="Tests\Feature\SaleListSummaryTest" classname="Tests.Feature.SaleListSummaryTest" assertions="9" time="0.043252"/>
      </testsuite>
      <testsuite name="Tests\Feature\SaleRefundSyncTest" file="/Users/gentianbeqiri/StudioProjects/pos_system/apps/api/tests/Feature/SaleRefundSyncTest.php" tests="1" assertions="2" errors="0" failures="0" skipped="0" time="0.041918">
        <testcase name="test_sync_push_processes_queued_sale_refund" file="/Users/gentianbeqiri/StudioProjects/pos_system/apps/api/tests/Feature/SaleRefundSyncTest.php" line="25" class="Tests\Feature\SaleRefundSyncTest" classname="Tests.Feature.SaleRefundSyncTest" assertions="2" time="0.041918"/>
      </testsuite>
      <testsuite name="Tests\Feature\SaleRefundTest" file="/Users/gentianbeqiri/StudioProjects/pos_system/apps/api/tests/Feature/SaleRefundTest.php" tests="5" assertions="28" errors="0" failures="0" skipped="0" time="0.230353">
        <testcase name="test_full_refund_reverses_stock_and_marks_sale_refunded" file="/Users/gentianbeqiri/StudioProjects/pos_system/apps/api/tests/Feature/SaleRefundTest.php" line="27" class="Tests\Feature\SaleRefundTest" classname="Tests.Feature.SaleRefundTest" assertions="7" time="0.046443"/>
        <testcase name="test_partial_refund_leaves_sale_partially_refunded" file="/Users/gentianbeqiri/StudioProjects/pos_system/apps/api/tests/Feature/SaleRefundTest.php" line="152" class="Tests\Feature\SaleRefundTest" classname="Tests.Feature.SaleRefundTest" assertions="4" time="0.040541"/>
        <testcase name="test_discounted_sale_full_refund_uses_economic_payable" file="/Users/gentianbeqiri/StudioProjects/pos_system/apps/api/tests/Feature/SaleRefundTest.php" line="261" class="Tests\Feature\SaleRefundTest" classname="Tests.Feature.SaleRefundTest" assertions="5" time="0.045761"/>
        <testcase name="test_discounted_partial_refunds_cannot_exceed_payable" file="/Users/gentianbeqiri/StudioProjects/pos_system/apps/api/tests/Feature/SaleRefundTest.php" line="331" class="Tests\Feature\SaleRefundTest" classname="Tests.Feature.SaleRefundTest" assertions="7" time="0.048464"/>
        <testcase name="test_analytics_rebuild_preserves_partial_refund_net" file="/Users/gentianbeqiri/StudioProjects/pos_system/apps/api/tests/Feature/SaleRefundTest.php" line="410" class="Tests\Feature\SaleRefundTest" classname="Tests.Feature.SaleRefundTest" assertions="5" time="0.049143"/>
      </testsuite>
      <testsuite name="Tests\Feature\SaleSyncIngestTest" file="/Users/gentianbeqiri/StudioProjects/pos_system/apps/api/tests/Feature/SaleSyncIngestTest.php" tests="2" assertions="16" errors="0" failures="0" skipped="0" time="0.095225">
        <testcase name="test_completed_sale_sync_is_idempotent_and_creates_one_sale" file="/Users/gentianbeqiri/StudioProjects/pos_system/apps/api/tests/Feature/SaleSyncIngestTest.php" line="26" class="Tests\Feature\SaleSyncIngestTest" classname="Tests.Feature.SaleSyncIngestTest" assertions="8" time="0.046425"/>
        <testcase name="test_sale_timestamps_are_stored_and_returned_as_utc" file="/Users/gentianbeqiri/StudioProjects/pos_system/apps/api/tests/Feature/SaleSyncIngestTest.php" line="152" class="Tests\Feature\SaleSyncIngestTest" classname="Tests.Feature.SaleSyncIngestTest" assertions="8" time="0.048801"/>
      </testsuite>
      <testsuite name="Tests\Feature\ShadowIntelligenceObservabilityTest" file="/Users/gentianbeqiri/StudioProjects/pos_system/apps/api/tests/Feature/ShadowIntelligenceObservabilityTest.php" tests="8" assertions="29" errors="0" failures="0" skipped="0" time="0.199076">
        <testcase name="test_materialize_observation_is_idempotent_and_immutable" file="/Users/gentianbeqiri/StudioProjects/pos_system/apps/api/tests/Feature/ShadowIntelligenceObservabilityTest.php" line="32" class="Tests\Feature\ShadowIntelligenceObservabilityTest" classname="Tests.Feature.ShadowIntelligenceObservabilityTest" assertions="4" time="0.036922"/>
        <testcase name="test_review_requires_shadow_review_permission_and_is_tenant_isolated" file="/Users/gentianbeqiri/StudioProjects/pos_system/apps/api/tests/Feature/ShadowIntelligenceObservabilityTest.php" line="67" class="Tests\Feature\ShadowIntelligenceObservabilityTest" classname="Tests.Feature.ShadowIntelligenceObservabilityTest" assertions="4" time="0.061369"/>
        <testcase name="test_shadow_paths_do_not_mutate_operational_prices_or_promotions" file="/Users/gentianbeqiri/StudioProjects/pos_system/apps/api/tests/Feature/ShadowIntelligenceObservabilityTest.php" line="117" class="Tests\Feature\ShadowIntelligenceObservabilityTest" classname="Tests.Feature.ShadowIntelligenceObservabilityTest" assertions="3" time="0.038190"/>
        <testcase name="test_outcome_measurement_is_observational_with_non_causal_labels" file="/Users/gentianbeqiri/StudioProjects/pos_system/apps/api/tests/Feature/ShadowIntelligenceObservabilityTest.php" line="152" class="Tests\Feature\ShadowIntelligenceObservabilityTest" classname="Tests.Feature.ShadowIntelligenceObservabilityTest" assertions="4" time="0.014537"/>
        <testcase name="test_prediction_monitor_handles_missing_actuals_without_fabrication" file="/Users/gentianbeqiri/StudioProjects/pos_system/apps/api/tests/Feature/ShadowIntelligenceObservabilityTest.php" line="227" class="Tests\Feature\ShadowIntelligenceObservabilityTest" classname="Tests.Feature.ShadowIntelligenceObservabilityTest" assertions="4" time="0.010654"/>
        <testcase name="test_source_health_snapshot_is_idempotent_per_day" file="/Users/gentianbeqiri/StudioProjects/pos_system/apps/api/tests/Feature/ShadowIntelligenceObservabilityTest.php" line="258" class="Tests\Feature\ShadowIntelligenceObservabilityTest" classname="Tests.Feature.ShadowIntelligenceObservabilityTest" assertions="4" time="0.013122"/>
        <testcase name="test_shadow_artisan_commands_are_registered" file="/Users/gentianbeqiri/StudioProjects/pos_system/apps/api/tests/Feature/ShadowIntelligenceObservabilityTest.php" line="271" class="Tests\Feature\ShadowIntelligenceObservabilityTest" classname="Tests.Feature.ShadowIntelligenceObservabilityTest" assertions="3" time="0.011537"/>
        <testcase name="test_artisan_shadow_commands_exit_successfully" file="/Users/gentianbeqiri/StudioProjects/pos_system/apps/api/tests/Feature/ShadowIntelligenceObservabilityTest.php" line="283" class="Tests\Feature\ShadowIntelligenceObservabilityTest" classname="Tests.Feature.ShadowIntelligenceObservabilityTest" assertions="3" time="0.012746"/>
      </testsuite>
      <testsuite name="Tests\Feature\ShadowIntelligencePhase14E2EValidationTest" file="/Users/gentianbeqiri/StudioProjects/pos_system/apps/api/tests/Feature/ShadowIntelligencePhase14E2EValidationTest.php" tests="7" assertions="28" errors="0" failures="0" skipped="0" time="0.359510">
        <testcase name="test_fanta_primary_125l_gap_not_cheapest_variant" file="/Users/gentianbeqiri/StudioProjects/pos_system/apps/api/tests/Feature/ShadowIntelligencePhase14E2EValidationTest.php" line="40" class="Tests\Feature\ShadowIntelligencePhase14E2EValidationTest" classname="Tests.Feature.ShadowIntelligencePhase14E2EValidationTest" assertions="7" time="0.043290"/>
        <testcase name="test_phase14_pipeline_operational_data_unchanged_after_intelligence_flow" file="/Users/gentianbeqiri/StudioProjects/pos_system/apps/api/tests/Feature/ShadowIntelligencePhase14E2EValidationTest.php" line="57" class="Tests\Feature\ShadowIntelligencePhase14E2EValidationTest" classname="Tests.Feature.ShadowIntelligencePhase14E2EValidationTest" assertions="7" time="0.084394"/>
        <testcase name="test_accepted_review_does_not_implement_price_change" file="/Users/gentianbeqiri/StudioProjects/pos_system/apps/api/tests/Feature/ShadowIntelligencePhase14E2EValidationTest.php" line="100" class="Tests\Feature\ShadowIntelligencePhase14E2EValidationTest" classname="Tests.Feature.ShadowIntelligencePhase14E2EValidationTest" assertions="3" time="0.059203"/>
        <testcase name="test_deferred_review_semantics_on_learning_materializer" file="/Users/gentianbeqiri/StudioProjects/pos_system/apps/api/tests/Feature/ShadowIntelligencePhase14E2EValidationTest.php" line="127" class="Tests\Feature\ShadowIntelligencePhase14E2EValidationTest" classname="Tests.Feature.ShadowIntelligencePhase14E2EValidationTest" assertions="3" time="0.056925"/>
        <testcase name="test_unknown_wac_remains_unknown_in_brief" file="/Users/gentianbeqiri/StudioProjects/pos_system/apps/api/tests/Feature/ShadowIntelligencePhase14E2EValidationTest.php" line="162" class="Tests\Feature\ShadowIntelligencePhase14E2EValidationTest" classname="Tests.Feature.ShadowIntelligencePhase14E2EValidationTest" assertions="2" time="0.039341"/>
        <testcase name="test_ml_training_inspect_does_not_auto_promote_without_readiness" file="/Users/gentianbeqiri/StudioProjects/pos_system/apps/api/tests/Feature/ShadowIntelligencePhase14E2EValidationTest.php" line="176" class="Tests\Feature\ShadowIntelligencePhase14E2EValidationTest" classname="Tests.Feature.ShadowIntelligencePhase14E2EValidationTest" assertions="3" time="0.034937"/>
        <testcase name="test_shadow_materializer_payload_is_advisory" file="/Users/gentianbeqiri/StudioProjects/pos_system/apps/api/tests/Feature/ShadowIntelligencePhase14E2EValidationTest.php" line="185" class="Tests\Feature\ShadowIntelligencePhase14E2EValidationTest" classname="Tests.Feature.ShadowIntelligencePhase14E2EValidationTest" assertions="3" time="0.041421"/>
      </testsuite>
      <testsuite name="Tests\Feature\ShadowIntelligenceTrustB1Test" file="/Users/gentianbeqiri/StudioProjects/pos_system/apps/api/tests/Feature/ShadowIntelligenceTrustB1Test.php" tests="10" assertions="32" errors="0" failures="0" skipped="0" time="0.407730">
        <testcase name="test_materialize_is_server_authoritative_and_rejects_legacy_payload_post" file="/Users/gentianbeqiri/StudioProjects/pos_system/apps/api/tests/Feature/ShadowIntelligenceTrustB1Test.php" line="25" class="Tests\Feature\ShadowIntelligenceTrustB1Test" classname="Tests.Feature.ShadowIntelligenceTrustB1Test" assertions="5" time="0.035810"/>
        <testcase name="test_unknown_family_rejected" file="/Users/gentianbeqiri/StudioProjects/pos_system/apps/api/tests/Feature/ShadowIntelligenceTrustB1Test.php" line="58" class="Tests\Feature\ShadowIntelligenceTrustB1Test" classname="Tests.Feature.ShadowIntelligenceTrustB1Test" assertions="1" time="0.031770"/>
        <testcase name="test_cross_tenant_product_and_location_rejected" file="/Users/gentianbeqiri/StudioProjects/pos_system/apps/api/tests/Feature/ShadowIntelligenceTrustB1Test.php" line="77" class="Tests\Feature\ShadowIntelligenceTrustB1Test" classname="Tests.Feature.ShadowIntelligenceTrustB1Test" assertions="2" time="0.035437"/>
        <testcase name="test_idempotent_replay_and_conflict_409" file="/Users/gentianbeqiri/StudioProjects/pos_system/apps/api/tests/Feature/ShadowIntelligenceTrustB1Test.php" line="112" class="Tests\Feature\ShadowIntelligenceTrustB1Test" classname="Tests.Feature.ShadowIntelligenceTrustB1Test" assertions="3" time="0.042134"/>
        <testcase name="test_presented_requires_valid_generated_reference" file="/Users/gentianbeqiri/StudioProjects/pos_system/apps/api/tests/Feature/ShadowIntelligenceTrustB1Test.php" line="146" class="Tests\Feature\ShadowIntelligenceTrustB1Test" classname="Tests.Feature.ShadowIntelligenceTrustB1Test" assertions="3" time="0.038134"/>
        <testcase name="test_same_product_distinct_idempotency_keys_create_distinct_generated_observations" file="/Users/gentianbeqiri/StudioProjects/pos_system/apps/api/tests/Feature/ShadowIntelligenceTrustB1Test.php" line="180" class="Tests\Feature\ShadowIntelligenceTrustB1Test" classname="Tests.Feature.ShadowIntelligenceTrustB1Test" assertions="5" time="0.036156"/>
        <testcase name="test_review_requires_shadow_review_permission_and_metadata_validation" file="/Users/gentianbeqiri/StudioProjects/pos_system/apps/api/tests/Feature/ShadowIntelligenceTrustB1Test.php" line="218" class="Tests\Feature\ShadowIntelligenceTrustB1Test" classname="Tests.Feature.ShadowIntelligenceTrustB1Test" assertions="3" time="0.080739"/>
        <testcase name="test_fingerprint_stability_for_canonical_core" file="/Users/gentianbeqiri/StudioProjects/pos_system/apps/api/tests/Feature/ShadowIntelligenceTrustB1Test.php" line="258" class="Tests\Feature\ShadowIntelligenceTrustB1Test" classname="Tests.Feature.ShadowIntelligenceTrustB1Test" assertions="2" time="0.009977"/>
        <testcase name="test_read_endpoints_require_shadow_view_permission" file="/Users/gentianbeqiri/StudioProjects/pos_system/apps/api/tests/Feature/ShadowIntelligenceTrustB1Test.php" line="292" class="Tests\Feature\ShadowIntelligenceTrustB1Test" classname="Tests.Feature.ShadowIntelligenceTrustB1Test" assertions="6" time="0.062020"/>
        <testcase name="test_legacy_observation_trust_label_on_direct_model_rows" file="/Users/gentianbeqiri/StudioProjects/pos_system/apps/api/tests/Feature/ShadowIntelligenceTrustB1Test.php" line="308" class="Tests\Feature\ShadowIntelligenceTrustB1Test" classname="Tests.Feature.ShadowIntelligenceTrustB1Test" assertions="2" time="0.035553"/>
      </testsuite>
      <testsuite name="Tests\Feature\StockConcurrencyTest" file="/Users/gentianbeqiri/StudioProjects/pos_system/apps/api/tests/Feature/StockConcurrencyTest.php" tests="1" assertions="3" errors="0" failures="0" skipped="0" time="0.038925">
        <testcase name="test_ten_sequential_sales_reduce_stock_correctly" file="/Users/gentianbeqiri/StudioProjects/pos_system/apps/api/tests/Feature/StockConcurrencyTest.php" line="25" class="Tests\Feature\StockConcurrencyTest" classname="Tests.Feature.StockConcurrencyTest" assertions="3" time="0.038925"/>
      </testsuite>
      <testsuite name="Tests\Feature\StockCountCollaborativePhase2Test" file="/Users/gentianbeqiri/StudioProjects/pos_system/apps/api/tests/Feature/StockCountCollaborativePhase2Test.php" tests="9" assertions="33" errors="0" failures="0" skipped="0" time="0.406488">
        <testcase name="test_participant_picker_rejects_inactive_or_foreign_user" file="/Users/gentianbeqiri/StudioProjects/pos_system/apps/api/tests/Feature/StockCountCollaborativePhase2Test.php" line="26" class="Tests\Feature\StockCountCollaborativePhase2Test" classname="Tests.Feature.StockCountCollaborativePhase2Test" assertions="2" time="0.038554"/>
        <testcase name="test_inventory_count_cannot_post" file="/Users/gentianbeqiri/StudioProjects/pos_system/apps/api/tests/Feature/StockCountCollaborativePhase2Test.php" line="49" class="Tests\Feature\StockCountCollaborativePhase2Test" classname="Tests.Feature.StockCountCollaborativePhase2Test" assertions="4" time="0.043696"/>
        <testcase name="test_post_blocked_until_all_participants_complete" file="/Users/gentianbeqiri/StudioProjects/pos_system/apps/api/tests/Feature/StockCountCollaborativePhase2Test.php" line="65" class="Tests\Feature\StockCountCollaborativePhase2Test" classname="Tests.Feature.StockCountCollaborativePhase2Test" assertions="4" time="0.049463"/>
        <testcase name="test_review_lock_rejects_late_worker_observation" file="/Users/gentianbeqiri/StudioProjects/pos_system/apps/api/tests/Feature/StockCountCollaborativePhase2Test.php" line="88" class="Tests\Feature\StockCountCollaborativePhase2Test" classname="Tests.Feature.StockCountCollaborativePhase2Test" assertions="5" time="0.055031"/>
        <testcase name="test_reopened_participant_can_observe_again" file="/Users/gentianbeqiri/StudioProjects/pos_system/apps/api/tests/Feature/StockCountCollaborativePhase2Test.php" line="143" class="Tests\Feature\StockCountCollaborativePhase2Test" classname="Tests.Feature.StockCountCollaborativePhase2Test" assertions="4" time="0.046035"/>
        <testcase name="test_exclude_participant_preserves_observations" file="/Users/gentianbeqiri/StudioProjects/pos_system/apps/api/tests/Feature/StockCountCollaborativePhase2Test.php" line="167" class="Tests\Feature\StockCountCollaborativePhase2Test" classname="Tests.Feature.StockCountCollaborativePhase2Test" assertions="4" time="0.041295"/>
        <testcase name="test_review_lines_surfaces_cross_worker_conflict_kind" file="/Users/gentianbeqiri/StudioProjects/pos_system/apps/api/tests/Feature/StockCountCollaborativePhase2Test.php" line="188" class="Tests\Feature\StockCountCollaborativePhase2Test" classname="Tests.Feature.StockCountCollaborativePhase2Test" assertions="3" time="0.044529"/>
        <testcase name="test_cashier_sees_only_assigned_collaborative_counts" file="/Users/gentianbeqiri/StudioProjects/pos_system/apps/api/tests/Feature/StockCountCollaborativePhase2Test.php" line="210" class="Tests\Feature\StockCountCollaborativePhase2Test" classname="Tests.Feature.StockCountCollaborativePhase2Test" assertions="3" time="0.044491"/>
        <testcase name="test_dashboard_aggregates_without_per_participant_queries" file="/Users/gentianbeqiri/StudioProjects/pos_system/apps/api/tests/Feature/StockCountCollaborativePhase2Test.php" line="222" class="Tests\Feature\StockCountCollaborativePhase2Test" classname="Tests.Feature.StockCountCollaborativePhase2Test" assertions="4" time="0.043394"/>
      </testsuite>
      <testsuite name="Tests\Feature\StockCountCollaborativeProductionTest" file="/Users/gentianbeqiri/StudioProjects/pos_system/apps/api/tests/Feature/StockCountCollaborativeProductionTest.php" tests="4" assertions="20" errors="0" failures="0" skipped="0" time="0.226310">
        <testcase name="test_multi_device_workflow_posts_correct_balances" file="/Users/gentianbeqiri/StudioProjects/pos_system/apps/api/tests/Feature/StockCountCollaborativeProductionTest.php" line="28" class="Tests\Feature\StockCountCollaborativeProductionTest" classname="Tests.Feature.StockCountCollaborativeProductionTest" assertions="13" time="0.074075"/>
        <testcase name="test_open_store_reconciliation_after_collaborative_post" file="/Users/gentianbeqiri/StudioProjects/pos_system/apps/api/tests/Feature/StockCountCollaborativeProductionTest.php" line="88" class="Tests\Feature\StockCountCollaborativeProductionTest" classname="Tests.Feature.StockCountCollaborativeProductionTest" assertions="3" time="0.059305"/>
        <testcase name="test_explicit_zero_posts_to_zero_and_gr_after_counted_at" file="/Users/gentianbeqiri/StudioProjects/pos_system/apps/api/tests/Feature/StockCountCollaborativeProductionTest.php" line="173" class="Tests\Feature\StockCountCollaborativeProductionTest" classname="Tests.Feature.StockCountCollaborativeProductionTest" assertions="2" time="0.046046"/>
        <testcase name="test_inventory_count_cannot_resolve_or_cancel" file="/Users/gentianbeqiri/StudioProjects/pos_system/apps/api/tests/Feature/StockCountCollaborativeProductionTest.php" line="224" class="Tests\Feature\StockCountCollaborativeProductionTest" classname="Tests.Feature.StockCountCollaborativeProductionTest" assertions="2" time="0.046884"/>
      </testsuite>
      <testsuite name="Tests\Feature\StockCountCollaborativeTest" file="/Users/gentianbeqiri/StudioProjects/pos_system/apps/api/tests/Feature/StockCountCollaborativeTest.php" tests="8" assertions="35" errors="0" failures="0" skipped="0" time="0.349551">
        <testcase name="test_standard_session_still_uses_line_upsert" file="/Users/gentianbeqiri/StudioProjects/pos_system/apps/api/tests/Feature/StockCountCollaborativeTest.php" line="26" class="Tests\Feature\StockCountCollaborativeTest" classname="Tests.Feature.StockCountCollaborativeTest" assertions="3" time="0.036572"/>
        <testcase name="test_same_worker_increment_observations_sum_on_line" file="/Users/gentianbeqiri/StudioProjects/pos_system/apps/api/tests/Feature/StockCountCollaborativeTest.php" line="43" class="Tests\Feature\StockCountCollaborativeTest" classname="Tests.Feature.StockCountCollaborativeTest" assertions="6" time="0.046861"/>
        <testcase name="test_two_workers_same_product_creates_conflict_not_sum" file="/Users/gentianbeqiri/StudioProjects/pos_system/apps/api/tests/Feature/StockCountCollaborativeTest.php" line="68" class="Tests\Feature\StockCountCollaborativeTest" classname="Tests.Feature.StockCountCollaborativeTest" assertions="5" time="0.043628"/>
        <testcase name="test_admin_resolve_sets_final_line_and_preserves_observations" file="/Users/gentianbeqiri/StudioProjects/pos_system/apps/api/tests/Feature/StockCountCollaborativeTest.php" line="91" class="Tests\Feature\StockCountCollaborativeTest" classname="Tests.Feature.StockCountCollaborativeTest" assertions="7" time="0.045964"/>
        <testcase name="test_post_blocked_with_unresolved_conflict" file="/Users/gentianbeqiri/StudioProjects/pos_system/apps/api/tests/Feature/StockCountCollaborativeTest.php" line="123" class="Tests\Feature\StockCountCollaborativeTest" classname="Tests.Feature.StockCountCollaborativeTest" assertions="5" time="0.055056"/>
        <testcase name="test_participant_complete_does_not_change_stock" file="/Users/gentianbeqiri/StudioProjects/pos_system/apps/api/tests/Feature/StockCountCollaborativeTest.php" line="163" class="Tests\Feature\StockCountCollaborativeTest" classname="Tests.Feature.StockCountCollaborativeTest" assertions="3" time="0.045491"/>
        <testcase name="test_cashier_not_assigned_cannot_observe" file="/Users/gentianbeqiri/StudioProjects/pos_system/apps/api/tests/Feature/StockCountCollaborativeTest.php" line="182" class="Tests\Feature\StockCountCollaborativeTest" classname="Tests.Feature.StockCountCollaborativeTest" assertions="2" time="0.036672"/>
        <testcase name="test_observation_idempotent_on_retry" file="/Users/gentianbeqiri/StudioProjects/pos_system/apps/api/tests/Feature/StockCountCollaborativeTest.php" line="195" class="Tests\Feature\StockCountCollaborativeTest" classname="Tests.Feature.StockCountCollaborativeTest" assertions="4" time="0.039306"/>
      </testsuite>
      <testsuite name="Tests\Feature\StockCountSessionTest" file="/Users/gentianbeqiri/StudioProjects/pos_system/apps/api/tests/Feature/StockCountSessionTest.php" tests="5" assertions="49" errors="0" failures="0" skipped="0" time="0.268150">
        <testcase name="test_count_preserves_sales_and_receipts_after_observation_and_ignores_late_precount_sales" file="/Users/gentianbeqiri/StudioProjects/pos_system/apps/api/tests/Feature/StockCountSessionTest.php" line="25" class="Tests\Feature\StockCountSessionTest" classname="Tests.Feature.StockCountSessionTest" assertions="4" time="0.058042"/>
        <testcase name="test_ordered_offline_count_operations_resume_and_post_once" file="/Users/gentianbeqiri/StudioProjects/pos_system/apps/api/tests/Feature/StockCountSessionTest.php" line="59" class="Tests\Feature\StockCountSessionTest" classname="Tests.Feature.StockCountSessionTest" assertions="14" time="0.057855"/>
        <testcase name="test_session_count_review_and_post_idempotent" file="/Users/gentianbeqiri/StudioProjects/pos_system/apps/api/tests/Feature/StockCountSessionTest.php" line="93" class="Tests\Feature\StockCountSessionTest" classname="Tests.Feature.StockCountSessionTest" assertions="17" time="0.060068"/>
        <testcase name="test_legacy_immediate_post_still_works" file="/Users/gentianbeqiri/StudioProjects/pos_system/apps/api/tests/Feature/StockCountSessionTest.php" line="153" class="Tests\Feature\StockCountSessionTest" classname="Tests.Feature.StockCountSessionTest" assertions="3" time="0.044075"/>
        <testcase name="test_stock_summary_endpoint" file="/Users/gentianbeqiri/StudioProjects/pos_system/apps/api/tests/Feature/StockCountSessionTest.php" line="176" class="Tests\Feature\StockCountSessionTest" classname="Tests.Feature.StockCountSessionTest" assertions="11" time="0.048110"/>
      </testsuite>
      <testsuite name="Tests\Feature\StockCountTemporalSafetyTest" file="/Users/gentianbeqiri/StudioProjects/pos_system/apps/api/tests/Feature/StockCountTemporalSafetyTest.php" tests="4" assertions="13" errors="0" failures="0" skipped="0" time="0.186198">
        <testcase name="test_same_worker_two_observations_without_interleaved_movement_merges" file="/Users/gentianbeqiri/StudioProjects/pos_system/apps/api/tests/Feature/StockCountTemporalSafetyTest.php" line="28" class="Tests\Feature\StockCountTemporalSafetyTest" classname="Tests.Feature.StockCountTemporalSafetyTest" assertions="5" time="0.043746"/>
        <testcase name="test_sale_between_observations_flags_conflict_instead_of_max_timestamp_merge" file="/Users/gentianbeqiri/StudioProjects/pos_system/apps/api/tests/Feature/StockCountTemporalSafetyTest.php" line="53" class="Tests\Feature\StockCountTemporalSafetyTest" classname="Tests.Feature.StockCountTemporalSafetyTest" assertions="4" time="0.045563"/>
        <testcase name="test_purchase_between_observations_flags_temporal_conflict" file="/Users/gentianbeqiri/StudioProjects/pos_system/apps/api/tests/Feature/StockCountTemporalSafetyTest.php" line="99" class="Tests\Feature\StockCountTemporalSafetyTest" classname="Tests.Feature.StockCountTemporalSafetyTest" assertions="2" time="0.042852"/>
        <testcase name="test_admin_recount_after_interleaved_sale_posts_correct_balance" file="/Users/gentianbeqiri/StudioProjects/pos_system/apps/api/tests/Feature/StockCountTemporalSafetyTest.php" line="139" class="Tests\Feature\StockCountTemporalSafetyTest" classname="Tests.Feature.StockCountTemporalSafetyTest" assertions="2" time="0.054036"/>
      </testsuite>
      <testsuite name="Tests\Feature\StockCountTest" file="/Users/gentianbeqiri/StudioProjects/pos_system/apps/api/tests/Feature/StockCountTest.php" tests="1" assertions="6" errors="0" failures="0" skipped="0" time="0.043932">
        <testcase name="test_stock_count_posts_variance_adjustments" file="/Users/gentianbeqiri/StudioProjects/pos_system/apps/api/tests/Feature/StockCountTest.php" line="24" class="Tests\Feature\StockCountTest" classname="Tests.Feature.StockCountTest" assertions="6" time="0.043932"/>
      </testsuite>
      <testsuite name="Tests\Feature\StockTransferTest" file="/Users/gentianbeqiri/StudioProjects/pos_system/apps/api/tests/Feature/StockTransferTest.php" tests="1" assertions="3" errors="0" failures="0" skipped="0" time="0.045629">
        <testcase name="test_transfer_moves_stock_between_warehouses" file="/Users/gentianbeqiri/StudioProjects/pos_system/apps/api/tests/Feature/StockTransferTest.php" line="23" class="Tests\Feature\StockTransferTest" classname="Tests.Feature.StockTransferTest" assertions="3" time="0.045629"/>
      </testsuite>
      <testsuite name="Tests\Feature\StockValuationSummaryParityTest" file="/Users/gentianbeqiri/StudioProjects/pos_system/apps/api/tests/Feature/StockValuationSummaryParityTest.php" tests="3" assertions="43" errors="0" failures="0" skipped="0" time="0.151987">
        <testcase name="test_sql_summary_matches_canonical_row_aggregator_mixed_dataset" file="/Users/gentianbeqiri/StudioProjects/pos_system/apps/api/tests/Feature/StockValuationSummaryParityTest.php" line="29" class="Tests\Feature\StockValuationSummaryParityTest" classname="Tests.Feature.StockValuationSummaryParityTest" assertions="21" time="0.041699"/>
        <testcase name="test_all_warehouses_sql_summary_matches_canonical" file="/Users/gentianbeqiri/StudioProjects/pos_system/apps/api/tests/Feature/StockValuationSummaryParityTest.php" line="90" class="Tests\Feature\StockValuationSummaryParityTest" classname="Tests.Feature.StockValuationSummaryParityTest" assertions="18" time="0.043573"/>
        <testcase name="test_summary_uses_bounded_query_count_not_full_row_load" file="/Users/gentianbeqiri/StudioProjects/pos_system/apps/api/tests/Feature/StockValuationSummaryParityTest.php" line="120" class="Tests\Feature\StockValuationSummaryParityTest" classname="Tests.Feature.StockValuationSummaryParityTest" assertions="4" time="0.066714"/>
      </testsuite>
      <testsuite name="Tests\Feature\StockValuationSummaryScaleTest" file="/Users/gentianbeqiri/StudioProjects/pos_system/apps/api/tests/Feature/StockValuationSummaryScaleTest.php" tests="1" assertions="5" errors="0" failures="0" skipped="0" time="0.193929">
        <testcase name="test_summary_completes_with_five_thousand_balance_rows_without_row_scan_select" file="/Users/gentianbeqiri/StudioProjects/pos_system/apps/api/tests/Feature/StockValuationSummaryScaleTest.php" line="29" class="Tests\Feature\StockValuationSummaryScaleTest" classname="Tests.Feature.StockValuationSummaryScaleTest" assertions="5" time="0.193929"/>
      </testsuite>
      <testsuite name="Tests\Feature\StockValuationTest" file="/Users/gentianbeqiri/StudioProjects/pos_system/apps/api/tests/Feature/StockValuationTest.php" tests="4" assertions="11" errors="0" failures="0" skipped="0" time="0.177853">
        <testcase name="test_valuation_excludes_negative_qty_from_financial_totals" file="/Users/gentianbeqiri/StudioProjects/pos_system/apps/api/tests/Feature/StockValuationTest.php" line="25" class="Tests\Feature\StockValuationTest" classname="Tests.Feature.StockValuationTest" assertions="4" time="0.042204"/>
        <testcase name="test_unknown_wac_excluded_from_cost_value" file="/Users/gentianbeqiri/StudioProjects/pos_system/apps/api/tests/Feature/StockValuationTest.php" line="57" class="Tests\Feature\StockValuationTest" classname="Tests.Feature.StockValuationTest" assertions="3" time="0.039489"/>
        <testcase name="test_location_price_used_without_promotion" file="/Users/gentianbeqiri/StudioProjects/pos_system/apps/api/tests/Feature/StockValuationTest.php" line="78" class="Tests\Feature\StockValuationTest" classname="Tests.Feature.StockValuationTest" assertions="2" time="0.044197"/>
        <testcase name="test_tenant_isolation" file="/Users/gentianbeqiri/StudioProjects/pos_system/apps/api/tests/Feature/StockValuationTest.php" line="105" class="Tests\Feature\StockValuationTest" classname="Tests.Feature.StockValuationTest" assertions="2" time="0.051963"/>
      </testsuite>
      <testsuite name="Tests\Feature\SupplierCheckoutTest" file="/Users/gentianbeqiri/StudioProjects/pos_system/apps/api/tests/Feature/SupplierCheckoutTest.php" tests="3" assertions="17" errors="0" failures="0" skipped="0" time="0.109508">
        <testcase name="test_cashier_can_load_supplier_checkout_for_date" file="/Users/gentianbeqiri/StudioProjects/pos_system/apps/api/tests/Feature/SupplierCheckoutTest.php" line="26" class="Tests\Feature\SupplierCheckoutTest" classname="Tests.Feature.SupplierCheckoutTest" assertions="8" time="0.037547"/>
        <testcase name="test_supplier_checkout_includes_products_received_from_distributor" file="/Users/gentianbeqiri/StudioProjects/pos_system/apps/api/tests/Feature/SupplierCheckoutTest.php" line="179" class="Tests\Feature\SupplierCheckoutTest" classname="Tests.Feature.SupplierCheckoutTest" assertions="4" time="0.036047"/>
        <testcase name="test_cashier_can_load_supplier_checkout_for_date_range" file="/Users/gentianbeqiri/StudioProjects/pos_system/apps/api/tests/Feature/SupplierCheckoutTest.php" line="292" class="Tests\Feature\SupplierCheckoutTest" classname="Tests.Feature.SupplierCheckoutTest" assertions="5" time="0.035914"/>
      </testsuite>
      <testsuite name="Tests\Feature\SupplierDeleteTest" file="/Users/gentianbeqiri/StudioProjects/pos_system/apps/api/tests/Feature/SupplierDeleteTest.php" tests="1" assertions="4" errors="0" failures="0" skipped="0" time="0.036020">
        <testcase name="test_deleting_supplier_unlinks_products_but_keeps_them" file="/Users/gentianbeqiri/StudioProjects/pos_system/apps/api/tests/Feature/SupplierDeleteTest.php" line="22" class="Tests\Feature\SupplierDeleteTest" classname="Tests.Feature.SupplierDeleteTest" assertions="4" time="0.036020"/>
      </testsuite>
      <testsuite name="Tests\Feature\SwiftposCentralAdministrationTest" file="/Users/gentianbeqiri/StudioProjects/pos_system/apps/api/tests/Feature/SwiftposCentralAdministrationTest.php" tests="3" assertions="59" errors="0" failures="0" skipped="0" time="0.104312">
        <testcase name="test_central_administration_is_isolated_and_does_not_use_tenant_sales" file="/Users/gentianbeqiri/StudioProjects/pos_system/apps/api/tests/Feature/SwiftposCentralAdministrationTest.php" line="23" class="Tests\Feature\SwiftposCentralAdministrationTest" classname="Tests.Feature.SwiftposCentralAdministrationTest" assertions="11" time="0.025461"/>
        <testcase name="test_plans_subscriptions_billing_devices_and_monitoring_stay_in_central" file="/Users/gentianbeqiri/StudioProjects/pos_system/apps/api/tests/Feature/SwiftposCentralAdministrationTest.php" line="51" class="Tests\Feature\SwiftposCentralAdministrationTest" classname="Tests.Feature.SwiftposCentralAdministrationTest" assertions="29" time="0.033948"/>
        <testcase name="test_device_allowance_and_last_super_admin_are_enforced" file="/Users/gentianbeqiri/StudioProjects/pos_system/apps/api/tests/Feature/SwiftposCentralAdministrationTest.php" line="166" class="Tests\Feature\SwiftposCentralAdministrationTest" classname="Tests.Feature.SwiftposCentralAdministrationTest" assertions="19" time="0.044903"/>
      </testsuite>
      <testsuite name="Tests\Feature\SwiftposCentralCompanyRegistryTest" file="/Users/gentianbeqiri/StudioProjects/pos_system/apps/api/tests/Feature/SwiftposCentralCompanyRegistryTest.php" tests="6" assertions="114" errors="0" failures="0" skipped="0" time="0.088685">
        <testcase name="test_central_registers_lists_and_updates_a_cloud_company_without_provisioning" file="/Users/gentianbeqiri/StudioProjects/pos_system/apps/api/tests/Feature/SwiftposCentralCompanyRegistryTest.php" line="42" class="Tests\Feature\SwiftposCentralCompanyRegistryTest" classname="Tests.Feature.SwiftposCentralCompanyRegistryTest" assertions="40" time="0.021501"/>
        <testcase name="test_slug_and_hostname_are_unique_and_hostnames_are_rejected" file="/Users/gentianbeqiri/StudioProjects/pos_system/apps/api/tests/Feature/SwiftposCentralCompanyRegistryTest.php" line="135" class="Tests\Feature\SwiftposCentralCompanyRegistryTest" classname="Tests.Feature.SwiftposCentralCompanyRegistryTest" assertions="23" time="0.018405"/>
        <testcase name="test_cloud_and_legacy_editions_hide_the_registry_and_legacy_markets_remain" file="/Users/gentianbeqiri/StudioProjects/pos_system/apps/api/tests/Feature/SwiftposCentralCompanyRegistryTest.php" line="160" class="Tests\Feature\SwiftposCentralCompanyRegistryTest" classname="Tests.Feature.SwiftposCentralCompanyRegistryTest" assertions="5" time="0.012023"/>
        <testcase name="test_unauthorized_callers_cannot_manage_companies" file="/Users/gentianbeqiri/StudioProjects/pos_system/apps/api/tests/Feature/SwiftposCentralCompanyRegistryTest.php" line="175" class="Tests\Feature\SwiftposCentralCompanyRegistryTest" classname="Tests.Feature.SwiftposCentralCompanyRegistryTest" assertions="2" time="0.010478"/>
        <testcase name="test_central_administrator_command_requires_central_and_a_strong_password" file="/Users/gentianbeqiri/StudioProjects/pos_system/apps/api/tests/Feature/SwiftposCentralCompanyRegistryTest.php" line="186" class="Tests\Feature\SwiftposCentralCompanyRegistryTest" classname="Tests.Feature.SwiftposCentralCompanyRegistryTest" assertions="9" time="0.013910"/>
        <testcase name="test_platform_console_has_no_stop_market_api_fallback" file="/Users/gentianbeqiri/StudioProjects/pos_system/apps/api/tests/Feature/SwiftposCentralCompanyRegistryTest.php" line="224" class="Tests\Feature\SwiftposCentralCompanyRegistryTest" classname="Tests.Feature.SwiftposCentralCompanyRegistryTest" assertions="35" time="0.012368"/>
      </testsuite>
      <testsuite name="Tests\Feature\SwiftposCloudDeviceActivationTest" file="/Users/gentianbeqiri/StudioProjects/pos_system/apps/api/tests/Feature/SwiftposCloudDeviceActivationTest.php" tests="5" assertions="54" errors="0" failures="0" skipped="0" time="0.074635">
        <testcase name="test_legacy_and_cloud_editions_do_not_expose_activation" file="/Users/gentianbeqiri/StudioProjects/pos_system/apps/api/tests/Feature/SwiftposCloudDeviceActivationTest.php" line="23" class="Tests\Feature\SwiftposCloudDeviceActivationTest" classname="Tests.Feature.SwiftposCloudDeviceActivationTest" assertions="2" time="0.013083"/>
        <testcase name="test_simulated_provisioning_is_not_ready_for_activation" file="/Users/gentianbeqiri/StudioProjects/pos_system/apps/api/tests/Feature/SwiftposCloudDeviceActivationTest.php" line="35" class="Tests\Feature\SwiftposCloudDeviceActivationTest" classname="Tests.Feature.SwiftposCloudDeviceActivationTest" assertions="5" time="0.011284"/>
        <testcase name="test_activation_code_is_one_time_expiring_revocable_and_device_bound" file="/Users/gentianbeqiri/StudioProjects/pos_system/apps/api/tests/Feature/SwiftposCloudDeviceActivationTest.php" line="58" class="Tests\Feature\SwiftposCloudDeviceActivationTest" classname="Tests.Feature.SwiftposCloudDeviceActivationTest" assertions="36" time="0.025661"/>
        <testcase name="test_stop_market_and_arbitrary_hosts_are_rejected" file="/Users/gentianbeqiri/StudioProjects/pos_system/apps/api/tests/Feature/SwiftposCloudDeviceActivationTest.php" line="152" class="Tests\Feature\SwiftposCloudDeviceActivationTest" classname="Tests.Feature.SwiftposCloudDeviceActivationTest" assertions="5" time="0.010791"/>
        <testcase name="test_activation_does_not_switch_database_connections_or_require_a_user_token" file="/Users/gentianbeqiri/StudioProjects/pos_system/apps/api/tests/Feature/SwiftposCloudDeviceActivationTest.php" line="168" class="Tests\Feature\SwiftposCloudDeviceActivationTest" classname="Tests.Feature.SwiftposCloudDeviceActivationTest" assertions="6" time="0.013816"/>
      </testsuite>
      <testsuite name="Tests\Feature\SwiftposCloudDualTenantDatabaseTest" file="/Users/gentianbeqiri/StudioProjects/pos_system/apps/api/tests/Feature/SwiftposCloudDualTenantDatabaseTest.php" tests="1" assertions="4" errors="0" failures="0" skipped="1" time="0.007122">
        <testcase name="test_dual_tenant_mariadb_isolation_harness_is_not_executed" file="/Users/gentianbeqiri/StudioProjects/pos_system/apps/api/tests/Feature/SwiftposCloudDualTenantDatabaseTest.php" line="24" class="Tests\Feature\SwiftposCloudDualTenantDatabaseTest" classname="Tests.Feature.SwiftposCloudDualTenantDatabaseTest" assertions="4" time="0.007122">
          <skipped/>
        </testcase>
      </testsuite>
      <testsuite name="Tests\Feature\SwiftposCloudMultiTenantIsolationTest" file="/Users/gentianbeqiri/StudioProjects/pos_system/apps/api/tests/Feature/SwiftposCloudMultiTenantIsolationTest.php" tests="4" assertions="13" errors="0" failures="0" skipped="0" time="0.183118">
        <testcase name="test_alpha_token_cannot_read_beta_product" file="/Users/gentianbeqiri/StudioProjects/pos_system/apps/api/tests/Feature/SwiftposCloudMultiTenantIsolationTest.php" line="31" class="Tests\Feature\SwiftposCloudMultiTenantIsolationTest" classname="Tests.Feature.SwiftposCloudMultiTenantIsolationTest" assertions="3" time="0.044956"/>
        <testcase name="test_alpha_sync_push_rejects_foreign_device_id" file="/Users/gentianbeqiri/StudioProjects/pos_system/apps/api/tests/Feature/SwiftposCloudMultiTenantIsolationTest.php" line="51" class="Tests\Feature\SwiftposCloudMultiTenantIsolationTest" classname="Tests.Feature.SwiftposCloudMultiTenantIsolationTest" assertions="3" time="0.048371"/>
        <testcase name="test_alpha_token_cannot_verify_beta_sale_ids" file="/Users/gentianbeqiri/StudioProjects/pos_system/apps/api/tests/Feature/SwiftposCloudMultiTenantIsolationTest.php" line="82" class="Tests\Feature\SwiftposCloudMultiTenantIsolationTest" classname="Tests.Feature.SwiftposCloudMultiTenantIsolationTest" assertions="3" time="0.044513"/>
        <testcase name="test_alpha_user_cannot_list_beta_devices" file="/Users/gentianbeqiri/StudioProjects/pos_system/apps/api/tests/Feature/SwiftposCloudMultiTenantIsolationTest.php" line="99" class="Tests\Feature\SwiftposCloudMultiTenantIsolationTest" classname="Tests.Feature.SwiftposCloudMultiTenantIsolationTest" assertions="4" time="0.045278"/>
      </testsuite>
      <testsuite name="Tests\Feature\SwiftposCloudTenantProvisioningTest" file="/Users/gentianbeqiri/StudioProjects/pos_system/apps/api/tests/Feature/SwiftposCloudTenantProvisioningTest.php" tests="7" assertions="270" errors="0" failures="0" skipped="0" time="0.096955">
        <testcase name="test_simulated_provisioning_is_idempotent_and_does_not_touch_infrastructure" file="/Users/gentianbeqiri/StudioProjects/pos_system/apps/api/tests/Feature/SwiftposCloudTenantProvisioningTest.php" line="38" class="Tests\Feature\SwiftposCloudTenantProvisioningTest" classname="Tests.Feature.SwiftposCloudTenantProvisioningTest" assertions="36" time="0.019969"/>
        <testcase name="test_a_running_attempt_blocks_a_second_provision_request" file="/Users/gentianbeqiri/StudioProjects/pos_system/apps/api/tests/Feature/SwiftposCloudTenantProvisioningTest.php" line="109" class="Tests\Feature\SwiftposCloudTenantProvisioningTest" classname="Tests.Feature.SwiftposCloudTenantProvisioningTest" assertions="3" time="0.010865"/>
        <testcase name="test_invalid_status_is_rejected" file="/Users/gentianbeqiri/StudioProjects/pos_system/apps/api/tests/Feature/SwiftposCloudTenantProvisioningTest.php" line="133" class="Tests\Feature\SwiftposCloudTenantProvisioningTest" classname="Tests.Feature.SwiftposCloudTenantProvisioningTest" assertions="5" time="0.010726"/>
        <testcase name="test_ssl_and_health_failures_retry_without_deleting_owned_resources" file="/Users/gentianbeqiri/StudioProjects/pos_system/apps/api/tests/Feature/SwiftposCloudTenantProvisioningTest.php" line="146" class="Tests\Feature\SwiftposCloudTenantProvisioningTest" classname="Tests.Feature.SwiftposCloudTenantProvisioningTest" assertions="23" time="0.022890"/>
        <testcase name="test_production_adapters_and_modes_fail_closed" file="/Users/gentianbeqiri/StudioProjects/pos_system/apps/api/tests/Feature/SwiftposCloudTenantProvisioningTest.php" line="190" class="Tests\Feature\SwiftposCloudTenantProvisioningTest" classname="Tests.Feature.SwiftposCloudTenantProvisioningTest" assertions="6" time="0.010582"/>
        <testcase name="test_cloud_and_legacy_editions_and_unauthorized_callers_cannot_provision" file="/Users/gentianbeqiri/StudioProjects/pos_system/apps/api/tests/Feature/SwiftposCloudTenantProvisioningTest.php" line="209" class="Tests\Feature\SwiftposCloudTenantProvisioningTest" classname="Tests.Feature.SwiftposCloudTenantProvisioningTest" assertions="5" time="0.010390"/>
        <testcase name="test_provisioning_code_does_not_call_shell_or_cpanel" file="/Users/gentianbeqiri/StudioProjects/pos_system/apps/api/tests/Feature/SwiftposCloudTenantProvisioningTest.php" line="227" class="Tests\Feature\SwiftposCloudTenantProvisioningTest" classname="Tests.Feature.SwiftposCloudTenantProvisioningTest" assertions="192" time="0.011533"/>
      </testsuite>
      <testsuite name="Tests\Feature\SwiftposLaunchBlockersTest" file="/Users/gentianbeqiri/StudioProjects/pos_system/apps/api/tests/Feature/SwiftposLaunchBlockersTest.php" tests="3" assertions="7" errors="0" failures="0" skipped="0" time="1.206554">
        <testcase name="test_refund_idempotency_replays_the_same_partial_refund" file="/Users/gentianbeqiri/StudioProjects/pos_system/apps/api/tests/Feature/SwiftposLaunchBlockersTest.php" line="27" class="Tests\Feature\SwiftposLaunchBlockersTest" classname="Tests.Feature.SwiftposLaunchBlockersTest" assertions="2" time="0.076298"/>
        <testcase name="test_two_partial_refunds_with_distinct_keys_create_two_refunds" file="/Users/gentianbeqiri/StudioProjects/pos_system/apps/api/tests/Feature/SwiftposLaunchBlockersTest.php" line="81" class="Tests\Feature\SwiftposLaunchBlockersTest" classname="Tests.Feature.SwiftposLaunchBlockersTest" assertions="3" time="0.114318"/>
        <testcase name="test_revocation_retry_uses_fresh_attempt_timestamp" file="/Users/gentianbeqiri/StudioProjects/pos_system/apps/api/tests/Feature/SwiftposLaunchBlockersTest.php" line="138" class="Tests\Feature\SwiftposLaunchBlockersTest" classname="Tests.Feature.SwiftposLaunchBlockersTest" assertions="2" time="1.015937"/>
      </testsuite>
      <testsuite name="Tests\Feature\SwiftposLocalTenantPreparationTest" file="/Users/gentianbeqiri/StudioProjects/pos_system/apps/api/tests/Feature/SwiftposLocalTenantPreparationTest.php" tests="15" assertions="328" errors="0" failures="0" skipped="0" time="0.270692">
        <testcase name="test_prepares_a_local_cloud_tenant_runtime" file="/Users/gentianbeqiri/StudioProjects/pos_system/apps/api/tests/Feature/SwiftposLocalTenantPreparationTest.php" line="88" class="Tests\Feature\SwiftposLocalTenantPreparationTest" classname="Tests.Feature.SwiftposLocalTenantPreparationTest" assertions="47" time="0.033255"/>
        <testcase name="test_prepares_two_independent_tenant_runtimes" file="/Users/gentianbeqiri/StudioProjects/pos_system/apps/api/tests/Feature/SwiftposLocalTenantPreparationTest.php" line="127" class="Tests\Feature\SwiftposLocalTenantPreparationTest" classname="Tests.Feature.SwiftposLocalTenantPreparationTest" assertions="26" time="0.030547"/>
        <testcase name="test_rejects_an_invalid_hostname" file="/Users/gentianbeqiri/StudioProjects/pos_system/apps/api/tests/Feature/SwiftposLocalTenantPreparationTest.php" line="153" class="Tests\Feature\SwiftposLocalTenantPreparationTest" classname="Tests.Feature.SwiftposLocalTenantPreparationTest" assertions="34" time="0.016403"/>
        <testcase name="test_rejects_path_traversal" file="/Users/gentianbeqiri/StudioProjects/pos_system/apps/api/tests/Feature/SwiftposLocalTenantPreparationTest.php" line="175" class="Tests\Feature\SwiftposLocalTenantPreparationTest" classname="Tests.Feature.SwiftposLocalTenantPreparationTest" assertions="19" time="0.014795"/>
        <testcase name="test_rejects_symlink_escape" file="/Users/gentianbeqiri/StudioProjects/pos_system/apps/api/tests/Feature/SwiftposLocalTenantPreparationTest.php" line="191" class="Tests\Feature\SwiftposLocalTenantPreparationTest" classname="Tests.Feature.SwiftposLocalTenantPreparationTest" assertions="21" time="0.013850"/>
        <testcase name="test_rejects_an_existing_tenant_directory" file="/Users/gentianbeqiri/StudioProjects/pos_system/apps/api/tests/Feature/SwiftposLocalTenantPreparationTest.php" line="215" class="Tests\Feature\SwiftposLocalTenantPreparationTest" classname="Tests.Feature.SwiftposLocalTenantPreparationTest" assertions="14" time="0.012051"/>
        <testcase name="test_rejects_missing_database_credentials" file="/Users/gentianbeqiri/StudioProjects/pos_system/apps/api/tests/Feature/SwiftposLocalTenantPreparationTest.php" line="227" class="Tests\Feature\SwiftposLocalTenantPreparationTest" classname="Tests.Feature.SwiftposLocalTenantPreparationTest" assertions="25" time="0.017718"/>
        <testcase name="test_rejects_sqlite_and_unsupported_drivers" file="/Users/gentianbeqiri/StudioProjects/pos_system/apps/api/tests/Feature/SwiftposLocalTenantPreparationTest.php" line="244" class="Tests\Feature\SwiftposLocalTenantPreparationTest" classname="Tests.Feature.SwiftposLocalTenantPreparationTest" assertions="16" time="0.019612"/>
        <testcase name="test_rejects_the_stop_market_database" file="/Users/gentianbeqiri/StudioProjects/pos_system/apps/api/tests/Feature/SwiftposLocalTenantPreparationTest.php" line="258" class="Tests\Feature\SwiftposLocalTenantPreparationTest" classname="Tests.Feature.SwiftposLocalTenantPreparationTest" assertions="22" time="0.012935"/>
        <testcase name="test_removes_only_files_created_when_preparation_fails" file="/Users/gentianbeqiri/StudioProjects/pos_system/apps/api/tests/Feature/SwiftposLocalTenantPreparationTest.php" line="278" class="Tests\Feature\SwiftposLocalTenantPreparationTest" classname="Tests.Feature.SwiftposLocalTenantPreparationTest" assertions="20" time="0.013423"/>
        <testcase name="test_preparation_does_not_query_or_migrate" file="/Users/gentianbeqiri/StudioProjects/pos_system/apps/api/tests/Feature/SwiftposLocalTenantPreparationTest.php" line="311" class="Tests\Feature\SwiftposLocalTenantPreparationTest" classname="Tests.Feature.SwiftposLocalTenantPreparationTest" assertions="16" time="0.020183"/>
        <testcase name="test_does_not_copy_business_data_or_the_shared_environment" file="/Users/gentianbeqiri/StudioProjects/pos_system/apps/api/tests/Feature/SwiftposLocalTenantPreparationTest.php" line="327" class="Tests\Feature\SwiftposLocalTenantPreparationTest" classname="Tests.Feature.SwiftposLocalTenantPreparationTest" assertions="16" time="0.018434"/>
        <testcase name="test_console_output_does_not_contain_secrets" file="/Users/gentianbeqiri/StudioProjects/pos_system/apps/api/tests/Feature/SwiftposLocalTenantPreparationTest.php" line="363" class="Tests\Feature\SwiftposLocalTenantPreparationTest" classname="Tests.Feature.SwiftposLocalTenantPreparationTest" assertions="17" time="0.017486"/>
        <testcase name="test_legacy_bootstrap_remains_unchanged" file="/Users/gentianbeqiri/StudioProjects/pos_system/apps/api/tests/Feature/SwiftposLocalTenantPreparationTest.php" line="376" class="Tests\Feature\SwiftposLocalTenantPreparationTest" classname="Tests.Feature.SwiftposLocalTenantPreparationTest" assertions="21" time="0.017340"/>
        <testcase name="test_rejects_the_shared_release_as_the_runtime_root" file="/Users/gentianbeqiri/StudioProjects/pos_system/apps/api/tests/Feature/SwiftposLocalTenantPreparationTest.php" line="396" class="Tests\Feature\SwiftposLocalTenantPreparationTest" classname="Tests.Feature.SwiftposLocalTenantPreparationTest" assertions="14" time="0.012660"/>
      </testsuite>
      <testsuite name="Tests\Feature\SwiftposMlDirectServiceIsolationTest" file="/Users/gentianbeqiri/StudioProjects/pos_system/apps/api/tests/Feature/SwiftposMlDirectServiceIsolationTest.php" tests="4" assertions="132" errors="0" failures="0" skipped="0" time="0.082784">
        <testcase name="test_cloud_and_central_direct_calls_throw_before_ml_sql" file="/Users/gentianbeqiri/StudioProjects/pos_system/apps/api/tests/Feature/SwiftposMlDirectServiceIsolationTest.php" line="55" class="Tests\Feature\SwiftposMlDirectServiceIsolationTest" classname="Tests.Feature.SwiftposMlDirectServiceIsolationTest" assertions="50" time="0.017451"/>
        <testcase name="test_invalid_edition_throws_before_ml_sql" file="/Users/gentianbeqiri/StudioProjects/pos_system/apps/api/tests/Feature/SwiftposMlDirectServiceIsolationTest.php" line="83" class="Tests\Feature\SwiftposMlDirectServiceIsolationTest" classname="Tests.Feature.SwiftposMlDirectServiceIsolationTest" assertions="25" time="0.013525"/>
        <testcase name="test_legacy_and_unset_edition_enter_existing_implementations" file="/Users/gentianbeqiri/StudioProjects/pos_system/apps/api/tests/Feature/SwiftposMlDirectServiceIsolationTest.php" line="103" class="Tests\Feature\SwiftposMlDirectServiceIsolationTest" classname="Tests.Feature.SwiftposMlDirectServiceIsolationTest" assertions="44" time="0.037649"/>
        <testcase name="test_existing_artisan_and_queue_guards_still_refuse_outside_legacy" file="/Users/gentianbeqiri/StudioProjects/pos_system/apps/api/tests/Feature/SwiftposMlDirectServiceIsolationTest.php" line="195" class="Tests\Feature\SwiftposMlDirectServiceIsolationTest" classname="Tests.Feature.SwiftposMlDirectServiceIsolationTest" assertions="13" time="0.014158"/>
      </testsuite>
      <testsuite name="Tests\Feature\SwiftposMlExecutionIsolationTest" file="/Users/gentianbeqiri/StudioProjects/pos_system/apps/api/tests/Feature/SwiftposMlExecutionIsolationTest.php" tests="8" assertions="47" errors="0" failures="0" skipped="0" time="0.107713">
        <testcase name="test_cloud_and_central_ml_http_routes_return_not_found" file="/Users/gentianbeqiri/StudioProjects/pos_system/apps/api/tests/Feature/SwiftposMlExecutionIsolationTest.php" line="35" class="Tests\Feature\SwiftposMlExecutionIsolationTest" classname="Tests.Feature.SwiftposMlExecutionIsolationTest" assertions="6" time="0.015646"/>
        <testcase name="test_legacy_ml_readiness_keeps_permission_denial" file="/Users/gentianbeqiri/StudioProjects/pos_system/apps/api/tests/Feature/SwiftposMlExecutionIsolationTest.php" line="52" class="Tests\Feature\SwiftposMlExecutionIsolationTest" classname="Tests.Feature.SwiftposMlExecutionIsolationTest" assertions="1" time="0.011774"/>
        <testcase name="test_cloud_and_central_ml_commands_fail_before_work" file="/Users/gentianbeqiri/StudioProjects/pos_system/apps/api/tests/Feature/SwiftposMlExecutionIsolationTest.php" line="64" class="Tests\Feature\SwiftposMlExecutionIsolationTest" classname="Tests.Feature.SwiftposMlExecutionIsolationTest" assertions="28" time="0.014238"/>
        <testcase name="test_legacy_ml_train_command_still_requires_a_business" file="/Users/gentianbeqiri/StudioProjects/pos_system/apps/api/tests/Feature/SwiftposMlExecutionIsolationTest.php" line="88" class="Tests\Feature\SwiftposMlExecutionIsolationTest" classname="Tests.Feature.SwiftposMlExecutionIsolationTest" assertions="2" time="0.017442"/>
        <testcase name="test_cloud_and_central_ml_jobs_do_not_execute_work" file="/Users/gentianbeqiri/StudioProjects/pos_system/apps/api/tests/Feature/SwiftposMlExecutionIsolationTest.php" line="98" class="Tests\Feature\SwiftposMlExecutionIsolationTest" classname="Tests.Feature.SwiftposMlExecutionIsolationTest" assertions="6" time="0.012976"/>
        <testcase name="test_legacy_materialize_job_still_reads_analytics" file="/Users/gentianbeqiri/StudioProjects/pos_system/apps/api/tests/Feature/SwiftposMlExecutionIsolationTest.php" line="122" class="Tests\Feature\SwiftposMlExecutionIsolationTest" classname="Tests.Feature.SwiftposMlExecutionIsolationTest" assertions="1" time="0.011728"/>
        <testcase name="test_retrain_evaluation_does_not_enqueue_training_outside_legacy" file="/Users/gentianbeqiri/StudioProjects/pos_system/apps/api/tests/Feature/SwiftposMlExecutionIsolationTest.php" line="138" class="Tests\Feature\SwiftposMlExecutionIsolationTest" classname="Tests.Feature.SwiftposMlExecutionIsolationTest" assertions="2" time="0.011335"/>
        <testcase name="test_locations_remain_available_when_machine_learning_is_disabled" file="/Users/gentianbeqiri/StudioProjects/pos_system/apps/api/tests/Feature/SwiftposMlExecutionIsolationTest.php" line="171" class="Tests\Feature\SwiftposMlExecutionIsolationTest" classname="Tests.Feature.SwiftposMlExecutionIsolationTest" assertions="1" time="0.012575"/>
      </testsuite>
      <testsuite name="Tests\Feature\SwiftposMlFeatureStoreIsolationTest" file="/Users/gentianbeqiri/StudioProjects/pos_system/apps/api/tests/Feature/SwiftposMlFeatureStoreIsolationTest.php" tests="4" assertions="97" errors="0" failures="0" skipped="0" time="0.364568">
        <testcase name="test_cloud_and_central_ignore_populated_feature_rows" file="/Users/gentianbeqiri/StudioProjects/pos_system/apps/api/tests/Feature/SwiftposMlFeatureStoreIsolationTest.php" line="48" class="Tests\Feature\SwiftposMlFeatureStoreIsolationTest" classname="Tests.Feature.SwiftposMlFeatureStoreIsolationTest" assertions="33" time="0.062822"/>
        <testcase name="test_legacy_preserves_partial_readiness_calculation" file="/Users/gentianbeqiri/StudioProjects/pos_system/apps/api/tests/Feature/SwiftposMlFeatureStoreIsolationTest.php" line="75" class="Tests\Feature\SwiftposMlFeatureStoreIsolationTest" classname="Tests.Feature.SwiftposMlFeatureStoreIsolationTest" assertions="5" time="0.057747"/>
        <testcase name="test_invalid_edition_fails_closed_before_feature_store_queries" file="/Users/gentianbeqiri/StudioProjects/pos_system/apps/api/tests/Feature/SwiftposMlFeatureStoreIsolationTest.php" line="97" class="Tests\Feature\SwiftposMlFeatureStoreIsolationTest" classname="Tests.Feature.SwiftposMlFeatureStoreIsolationTest" assertions="7" time="0.052699"/>
        <testcase name="test_financial_optimization_and_promotion_strategy_keep_non_ml_evidence" file="/Users/gentianbeqiri/StudioProjects/pos_system/apps/api/tests/Feature/SwiftposMlFeatureStoreIsolationTest.php" line="116" class="Tests\Feature\SwiftposMlFeatureStoreIsolationTest" classname="Tests.Feature.SwiftposMlFeatureStoreIsolationTest" assertions="52" time="0.191299"/>
      </testsuite>
      <testsuite name="Tests\Feature\SwiftposMlFinalIsolationTest" file="/Users/gentianbeqiri/StudioProjects/pos_system/apps/api/tests/Feature/SwiftposMlFinalIsolationTest.php" tests="4" assertions="203" errors="0" failures="0" skipped="0" time="0.096084">
        <testcase name="test_cloud_and_central_cannot_read_or_write_ml_data_or_calculate_predictions" file="/Users/gentianbeqiri/StudioProjects/pos_system/apps/api/tests/Feature/SwiftposMlFinalIsolationTest.php" line="87" class="Tests\Feature\SwiftposMlFinalIsolationTest" classname="Tests.Feature.SwiftposMlFinalIsolationTest" assertions="76" time="0.013973"/>
        <testcase name="test_invalid_edition_fails_closed_before_ml_work" file="/Users/gentianbeqiri/StudioProjects/pos_system/apps/api/tests/Feature/SwiftposMlFinalIsolationTest.php" line="126" class="Tests\Feature\SwiftposMlFinalIsolationTest" classname="Tests.Feature.SwiftposMlFinalIsolationTest" assertions="34" time="0.013036"/>
        <testcase name="test_legacy_and_unset_edition_keep_existing_ml_behavior" file="/Users/gentianbeqiri/StudioProjects/pos_system/apps/api/tests/Feature/SwiftposMlFinalIsolationTest.php" line="146" class="Tests\Feature\SwiftposMlFinalIsolationTest" classname="Tests.Feature.SwiftposMlFinalIsolationTest" assertions="40" time="0.021688"/>
        <testcase name="test_cloud_keeps_non_ml_behavior_and_existing_ml_gates" file="/Users/gentianbeqiri/StudioProjects/pos_system/apps/api/tests/Feature/SwiftposMlFinalIsolationTest.php" line="227" class="Tests\Feature\SwiftposMlFinalIsolationTest" classname="Tests.Feature.SwiftposMlFinalIsolationTest" assertions="53" time="0.047387"/>
      </testsuite>
      <testsuite name="Tests\Feature\SwiftposMlForecastSnapshotIsolationTest" file="/Users/gentianbeqiri/StudioProjects/pos_system/apps/api/tests/Feature/SwiftposMlForecastSnapshotIsolationTest.php" tests="3" assertions="145" errors="0" failures="0" skipped="0" time="0.175535">
        <testcase name="test_cloud_and_central_return_no_champion_without_querying_ml_tables" file="/Users/gentianbeqiri/StudioProjects/pos_system/apps/api/tests/Feature/SwiftposMlForecastSnapshotIsolationTest.php" line="56" class="Tests\Feature\SwiftposMlForecastSnapshotIsolationTest" classname="Tests.Feature.SwiftposMlForecastSnapshotIsolationTest" assertions="32" time="0.035509"/>
        <testcase name="test_legacy_still_resolves_the_seeded_champion_and_forecast" file="/Users/gentianbeqiri/StudioProjects/pos_system/apps/api/tests/Feature/SwiftposMlForecastSnapshotIsolationTest.php" line="84" class="Tests\Feature\SwiftposMlForecastSnapshotIsolationTest" classname="Tests.Feature.SwiftposMlForecastSnapshotIsolationTest" assertions="7" time="0.033575"/>
        <testcase name="test_cloud_and_central_consumers_hide_predictions_and_keep_non_ml_evidence" file="/Users/gentianbeqiri/StudioProjects/pos_system/apps/api/tests/Feature/SwiftposMlForecastSnapshotIsolationTest.php" line="102" class="Tests\Feature\SwiftposMlForecastSnapshotIsolationTest" classname="Tests.Feature.SwiftposMlForecastSnapshotIsolationTest" assertions="106" time="0.106451"/>
      </testsuite>
      <testsuite name="Tests\Feature\SwiftposMlLearningExportIsolationTest" file="/Users/gentianbeqiri/StudioProjects/pos_system/apps/api/tests/Feature/SwiftposMlLearningExportIsolationTest.php" tests="5" assertions="46" errors="0" failures="0" skipped="0" time="0.076918">
        <testcase name="test_cloud_and_central_strict_export_does_not_read_feature_links" file="/Users/gentianbeqiri/StudioProjects/pos_system/apps/api/tests/Feature/SwiftposMlLearningExportIsolationTest.php" line="38" class="Tests\Feature\SwiftposMlLearningExportIsolationTest" classname="Tests.Feature.SwiftposMlLearningExportIsolationTest" assertions="14" time="0.009170"/>
        <testcase name="test_legacy_strict_export_still_reads_a_verified_link" file="/Users/gentianbeqiri/StudioProjects/pos_system/apps/api/tests/Feature/SwiftposMlLearningExportIsolationTest.php" line="60" class="Tests\Feature\SwiftposMlLearningExportIsolationTest" classname="Tests.Feature.SwiftposMlLearningExportIsolationTest" assertions="4" time="0.009774"/>
        <testcase name="test_non_strict_export_stays_available_without_feature_link_queries" file="/Users/gentianbeqiri/StudioProjects/pos_system/apps/api/tests/Feature/SwiftposMlLearningExportIsolationTest.php" line="80" class="Tests\Feature\SwiftposMlLearningExportIsolationTest" classname="Tests.Feature.SwiftposMlLearningExportIsolationTest" assertions="15" time="0.011126"/>
        <testcase name="test_http_export_authorization_is_unchanged_and_cloud_non_strict_export_works" file="/Users/gentianbeqiri/StudioProjects/pos_system/apps/api/tests/Feature/SwiftposMlLearningExportIsolationTest.php" line="100" class="Tests\Feature\SwiftposMlLearningExportIsolationTest" classname="Tests.Feature.SwiftposMlLearningExportIsolationTest" assertions="11" time="0.038013"/>
        <testcase name="test_invalid_edition_fails_closed_before_feature_link_query" file="/Users/gentianbeqiri/StudioProjects/pos_system/apps/api/tests/Feature/SwiftposMlLearningExportIsolationTest.php" line="134" class="Tests\Feature\SwiftposMlLearningExportIsolationTest" classname="Tests.Feature.SwiftposMlLearningExportIsolationTest" assertions="2" time="0.008835"/>
      </testsuite>
      <testsuite name="Tests\Feature\SwiftposMlScheduleIsolationTest" file="/Users/gentianbeqiri/StudioProjects/pos_system/apps/api/tests/Feature/SwiftposMlScheduleIsolationTest.php" tests="5" assertions="41" errors="0" failures="0" skipped="0" time="0.107831">
        <testcase name="test_legacy_edition_registers_all_three_ml_schedules" file="/Users/gentianbeqiri/StudioProjects/pos_system/apps/api/tests/Feature/SwiftposMlScheduleIsolationTest.php" line="35" class="Tests\Feature\SwiftposMlScheduleIsolationTest" classname="Tests.Feature.SwiftposMlScheduleIsolationTest" assertions="8" time="0.023370"/>
        <testcase name="test_missing_edition_preserves_legacy_schedules" file="/Users/gentianbeqiri/StudioProjects/pos_system/apps/api/tests/Feature/SwiftposMlScheduleIsolationTest.php" line="46" class="Tests\Feature\SwiftposMlScheduleIsolationTest" classname="Tests.Feature.SwiftposMlScheduleIsolationTest" assertions="9" time="0.019355"/>
        <testcase name="test_cloud_edition_registers_no_ml_schedules" file="/Users/gentianbeqiri/StudioProjects/pos_system/apps/api/tests/Feature/SwiftposMlScheduleIsolationTest.php" line="58" class="Tests\Feature\SwiftposMlScheduleIsolationTest" classname="Tests.Feature.SwiftposMlScheduleIsolationTest" assertions="13" time="0.026375"/>
        <testcase name="test_central_edition_registers_no_ml_schedules" file="/Users/gentianbeqiri/StudioProjects/pos_system/apps/api/tests/Feature/SwiftposMlScheduleIsolationTest.php" line="75" class="Tests\Feature\SwiftposMlScheduleIsolationTest" classname="Tests.Feature.SwiftposMlScheduleIsolationTest" assertions="9" time="0.022010"/>
        <testcase name="test_invalid_edition_fails_instead_of_registering_schedules" file="/Users/gentianbeqiri/StudioProjects/pos_system/apps/api/tests/Feature/SwiftposMlScheduleIsolationTest.php" line="87" class="Tests\Feature\SwiftposMlScheduleIsolationTest" classname="Tests.Feature.SwiftposMlScheduleIsolationTest" assertions="2" time="0.016721"/>
      </testsuite>
      <testsuite name="Tests\Feature\SwiftposPhase8C1SecurityTest" file="/Users/gentianbeqiri/StudioProjects/pos_system/apps/api/tests/Feature/SwiftposPhase8C1SecurityTest.php" tests="9" assertions="47" errors="0" failures="0" skipped="0" time="0.886104">
        <testcase name="test_legacy_schedule_keeps_the_existing_market_commands" file="/Users/gentianbeqiri/StudioProjects/pos_system/apps/api/tests/Feature/SwiftposPhase8C1SecurityTest.php" line="24" class="Tests\Feature\SwiftposPhase8C1SecurityTest" classname="Tests.Feature.SwiftposPhase8C1SecurityTest" assertions="6" time="0.016480"/>
        <testcase name="test_central_roles_cannot_use_legacy_business_writes" file="/Users/gentianbeqiri/StudioProjects/pos_system/apps/api/tests/Feature/SwiftposPhase8C1SecurityTest.php" line="38" class="Tests\Feature\SwiftposPhase8C1SecurityTest" classname="Tests.Feature.SwiftposPhase8C1SecurityTest" assertions="7" time="0.032606"/>
        <testcase name="test_central_role_matrix_follows_the_existing_policy" file="/Users/gentianbeqiri/StudioProjects/pos_system/apps/api/tests/Feature/SwiftposPhase8C1SecurityTest.php" line="57" class="Tests\Feature\SwiftposPhase8C1SecurityTest" classname="Tests.Feature.SwiftposPhase8C1SecurityTest" assertions="8" time="0.025903"/>
        <testcase name="test_legacy_market_administration_still_creates_a_business" file="/Users/gentianbeqiri/StudioProjects/pos_system/apps/api/tests/Feature/SwiftposPhase8C1SecurityTest.php" line="88" class="Tests\Feature\SwiftposPhase8C1SecurityTest" classname="Tests.Feature.SwiftposPhase8C1SecurityTest" assertions="3" time="0.042658"/>
        <testcase name="test_domain_policy_fails_closed_in_production_and_stays_open_for_local_fixtures" file="/Users/gentianbeqiri/StudioProjects/pos_system/apps/api/tests/Feature/SwiftposPhase8C1SecurityTest.php" line="105" class="Tests\Feature\SwiftposPhase8C1SecurityTest" classname="Tests.Feature.SwiftposPhase8C1SecurityTest" assertions="3" time="0.009528"/>
        <testsuite name="Tests\Feature\SwiftposPhase8C1SecurityTest::test_worker_wrapper_rejects_the_shared_release_artisan" tests="4" assertions="20" errors="0" failures="0" skipped="0" time="0.758929">
          <testcase name="test_worker_wrapper_rejects_the_shared_release_artisan with data set &quot;cloud queue&quot;" file="/Users/gentianbeqiri/StudioProjects/pos_system/apps/api/tests/Feature/SwiftposPhase8C1SecurityTest.php" line="143" class="Tests\Feature\SwiftposPhase8C1SecurityTest" classname="Tests.Feature.SwiftposPhase8C1SecurityTest" assertions="5" time="0.208835"/>
          <testcase name="test_worker_wrapper_rejects_the_shared_release_artisan with data set &quot;cloud schedule&quot;" file="/Users/gentianbeqiri/StudioProjects/pos_system/apps/api/tests/Feature/SwiftposPhase8C1SecurityTest.php" line="143" class="Tests\Feature\SwiftposPhase8C1SecurityTest" classname="Tests.Feature.SwiftposPhase8C1SecurityTest" assertions="5" time="0.151164"/>
          <testcase name="test_worker_wrapper_rejects_the_shared_release_artisan with data set &quot;central queue&quot;" file="/Users/gentianbeqiri/StudioProjects/pos_system/apps/api/tests/Feature/SwiftposPhase8C1SecurityTest.php" line="143" class="Tests\Feature\SwiftposPhase8C1SecurityTest" classname="Tests.Feature.SwiftposPhase8C1SecurityTest" assertions="5" time="0.165142"/>
          <testcase name="test_worker_wrapper_rejects_the_shared_release_artisan with data set &quot;central schedule&quot;" file="/Users/gentianbeqiri/StudioProjects/pos_system/apps/api/tests/Feature/SwiftposPhase8C1SecurityTest.php" line="143" class="Tests\Feature\SwiftposPhase8C1SecurityTest" classname="Tests.Feature.SwiftposPhase8C1SecurityTest" assertions="5" time="0.233788"/>
        </testsuite>
      </testsuite>
      <testsuite name="Tests\Feature\SwiftposPhase8C2BSecurityTest" file="/Users/gentianbeqiri/StudioProjects/pos_system/apps/api/tests/Feature/SwiftposPhase8C2BSecurityTest.php" tests="5" assertions="46" errors="0" failures="0" skipped="1" time="0.138757">
        <testcase name="test_device_revocation_keeps_tokens_until_the_cloud_gate_is_enabled" file="/Users/gentianbeqiri/StudioProjects/pos_system/apps/api/tests/Feature/SwiftposPhase8C2BSecurityTest.php" line="39" class="Tests\Feature\SwiftposPhase8C2BSecurityTest" classname="Tests.Feature.SwiftposPhase8C2BSecurityTest" assertions="10" time="0.022827"/>
        <testcase name="test_cloud_gate_revokes_the_device_token_and_a_retry_is_idempotent" file="/Users/gentianbeqiri/StudioProjects/pos_system/apps/api/tests/Feature/SwiftposPhase8C2BSecurityTest.php" line="55" class="Tests\Feature\SwiftposPhase8C2BSecurityTest" classname="Tests.Feature.SwiftposPhase8C2BSecurityTest" assertions="14" time="0.028797"/>
        <testcase name="test_revocation_rejects_a_device_from_another_business" file="/Users/gentianbeqiri/StudioProjects/pos_system/apps/api/tests/Feature/SwiftposPhase8C2BSecurityTest.php" line="81" class="Tests\Feature\SwiftposPhase8C2BSecurityTest" classname="Tests.Feature.SwiftposPhase8C2BSecurityTest" assertions="8" time="0.052268"/>
        <testcase name="test_central_revocation_is_idempotent_and_does_not_delete_tenant_tokens" file="/Users/gentianbeqiri/StudioProjects/pos_system/apps/api/tests/Feature/SwiftposPhase8C2BSecurityTest.php" line="98" class="Tests\Feature\SwiftposPhase8C2BSecurityTest" classname="Tests.Feature.SwiftposPhase8C2BSecurityTest" assertions="8" time="0.026822"/>
        <testcase name="test_mariadb_activation_concurrency_harness_is_not_executed" file="/Users/gentianbeqiri/StudioProjects/pos_system/apps/api/tests/Feature/SwiftposPhase8C2BSecurityTest.php" line="143" class="Tests\Feature\SwiftposPhase8C2BSecurityTest" classname="Tests.Feature.SwiftposPhase8C2BSecurityTest" assertions="6" time="0.008043">
          <skipped/>
        </testcase>
      </testsuite>
      <testsuite name="Tests\Feature\SwiftposPhase8C2CSecurityTest" file="/Users/gentianbeqiri/StudioProjects/pos_system/apps/api/tests/Feature/SwiftposPhase8C2CSecurityTest.php" tests="1" assertions="30" errors="0" failures="0" skipped="0" time="0.034893">
        <testcase name="test_central_revocation_stays_pending_until_the_tenant_accepts_it" file="/Users/gentianbeqiri/StudioProjects/pos_system/apps/api/tests/Feature/SwiftposPhase8C2CSecurityTest.php" line="35" class="Tests\Feature\SwiftposPhase8C2CSecurityTest" classname="Tests.Feature.SwiftposPhase8C2CSecurityTest" assertions="30" time="0.034893"/>
      </testsuite>
      <testsuite name="Tests\Feature\SwiftposPhase8C2DSecurityTest" file="/Users/gentianbeqiri/StudioProjects/pos_system/apps/api/tests/Feature/SwiftposPhase8C2DSecurityTest.php" tests="4" assertions="9" errors="0" failures="0" skipped="0" time="0.039969">
        <testcase name="test_courier_stays_disabled_until_explicitly_enabled" file="/Users/gentianbeqiri/StudioProjects/pos_system/apps/api/tests/Feature/SwiftposPhase8C2DSecurityTest.php" line="20" class="Tests\Feature\SwiftposPhase8C2DSecurityTest" classname="Tests.Feature.SwiftposPhase8C2DSecurityTest" assertions="3" time="0.010087"/>
        <testcase name="test_courier_posts_to_the_registry_hostname_and_rejects_redirects" file="/Users/gentianbeqiri/StudioProjects/pos_system/apps/api/tests/Feature/SwiftposPhase8C2DSecurityTest.php" line="33" class="Tests\Feature\SwiftposPhase8C2DSecurityTest" classname="Tests.Feature.SwiftposPhase8C2DSecurityTest" assertions="3" time="0.010672"/>
        <testcase name="test_courier_marks_enforced_only_after_tenant_acknowledgment" file="/Users/gentianbeqiri/StudioProjects/pos_system/apps/api/tests/Feature/SwiftposPhase8C2DSecurityTest.php" line="54" class="Tests\Feature\SwiftposPhase8C2DSecurityTest" classname="Tests.Feature.SwiftposPhase8C2DSecurityTest" assertions="2" time="0.010634"/>
        <testcase name="test_origin_policy_rejects_stop_market_hostnames" file="/Users/gentianbeqiri/StudioProjects/pos_system/apps/api/tests/Feature/SwiftposPhase8C2DSecurityTest.php" line="77" class="Tests\Feature\SwiftposPhase8C2DSecurityTest" classname="Tests.Feature.SwiftposPhase8C2DSecurityTest" assertions="1" time="0.008575"/>
      </testsuite>
      <testsuite name="Tests\Feature\SwiftposProductionIntegrationPreparationTest" file="/Users/gentianbeqiri/StudioProjects/pos_system/apps/api/tests/Feature/SwiftposProductionIntegrationPreparationTest.php" tests="5" assertions="25" errors="0" failures="0" skipped="0" time="0.056340">
        <testcase name="test_official_hostnames_are_reserved_and_tenant_names_follow_the_parent" file="/Users/gentianbeqiri/StudioProjects/pos_system/apps/api/tests/Feature/SwiftposProductionIntegrationPreparationTest.php" line="26" class="Tests\Feature\SwiftposProductionIntegrationPreparationTest" classname="Tests.Feature.SwiftposProductionIntegrationPreparationTest" assertions="5" time="0.015382"/>
        <testcase name="test_prepared_clients_describe_operations_and_refuse_without_a_transport" file="/Users/gentianbeqiri/StudioProjects/pos_system/apps/api/tests/Feature/SwiftposProductionIntegrationPreparationTest.php" line="59" class="Tests\Feature\SwiftposProductionIntegrationPreparationTest" classname="Tests.Feature.SwiftposProductionIntegrationPreparationTest" assertions="8" time="0.008488"/>
        <testcase name="test_sealed_vault_stores_ciphertext_and_revokes_without_a_plaintext_fallback" file="/Users/gentianbeqiri/StudioProjects/pos_system/apps/api/tests/Feature/SwiftposProductionIntegrationPreparationTest.php" line="108" class="Tests\Feature\SwiftposProductionIntegrationPreparationTest" classname="Tests.Feature.SwiftposProductionIntegrationPreparationTest" assertions="2" time="0.008483"/>
        <testcase name="test_sealed_vault_round_trip_and_revocation" file="/Users/gentianbeqiri/StudioProjects/pos_system/apps/api/tests/Feature/SwiftposProductionIntegrationPreparationTest.php" line="119" class="Tests\Feature\SwiftposProductionIntegrationPreparationTest" classname="Tests.Feature.SwiftposProductionIntegrationPreparationTest" assertions="6" time="0.013947"/>
        <testcase name="test_service_provider_keeps_refusing_clients_bound" file="/Users/gentianbeqiri/StudioProjects/pos_system/apps/api/tests/Feature/SwiftposProductionIntegrationPreparationTest.php" line="137" class="Tests\Feature\SwiftposProductionIntegrationPreparationTest" classname="Tests.Feature.SwiftposProductionIntegrationPreparationTest" assertions="4" time="0.010039"/>
      </testsuite>
      <testsuite name="Tests\Feature\SwiftposProductionProvisioningTest" file="/Users/gentianbeqiri/StudioProjects/pos_system/apps/api/tests/Feature/SwiftposProductionProvisioningTest.php" tests="6" assertions="114" errors="0" failures="0" skipped="0" time="0.188056">
        <testcase name="test_default_production_mode_does_not_execute_and_simulation_cannot_activate" file="/Users/gentianbeqiri/StudioProjects/pos_system/apps/api/tests/Feature/SwiftposProductionProvisioningTest.php" line="49" class="Tests\Feature\SwiftposProductionProvisioningTest" classname="Tests.Feature.SwiftposProductionProvisioningTest" assertions="7" time="0.017011"/>
        <testcase name="test_local_fixture_provisions_a_clean_tenant_without_live_infrastructure" file="/Users/gentianbeqiri/StudioProjects/pos_system/apps/api/tests/Feature/SwiftposProductionProvisioningTest.php" line="69" class="Tests\Feature\SwiftposProductionProvisioningTest" classname="Tests.Feature.SwiftposProductionProvisioningTest" assertions="36" time="0.018131"/>
        <testcase name="test_fixture_failures_never_mark_the_company_ready" file="/Users/gentianbeqiri/StudioProjects/pos_system/apps/api/tests/Feature/SwiftposProductionProvisioningTest.php" line="135" class="Tests\Feature\SwiftposProductionProvisioningTest" classname="Tests.Feature.SwiftposProductionProvisioningTest" assertions="46" time="0.050114"/>
        <testcase name="test_retry_keeps_completed_resources_and_rejects_bad_identity" file="/Users/gentianbeqiri/StudioProjects/pos_system/apps/api/tests/Feature/SwiftposProductionProvisioningTest.php" line="173" class="Tests\Feature\SwiftposProductionProvisioningTest" classname="Tests.Feature.SwiftposProductionProvisioningTest" assertions="10" time="0.029422"/>
        <testcase name="test_hostname_and_restore_targets_are_rejected" file="/Users/gentianbeqiri/StudioProjects/pos_system/apps/api/tests/Feature/SwiftposProductionProvisioningTest.php" line="200" class="Tests\Feature\SwiftposProductionProvisioningTest" classname="Tests.Feature.SwiftposProductionProvisioningTest" assertions="11" time="0.054211"/>
        <testcase name="test_operator_cannot_run_production_and_a_lock_blocks_a_second_attempt" file="/Users/gentianbeqiri/StudioProjects/pos_system/apps/api/tests/Feature/SwiftposProductionProvisioningTest.php" line="229" class="Tests\Feature\SwiftposProductionProvisioningTest" classname="Tests.Feature.SwiftposProductionProvisioningTest" assertions="4" time="0.019167"/>
      </testsuite>
      <testsuite name="Tests\Feature\SwiftposShadowMlIsolationTest" file="/Users/gentianbeqiri/StudioProjects/pos_system/apps/api/tests/Feature/SwiftposShadowMlIsolationTest.php" tests="5" assertions="66" errors="0" failures="0" skipped="0" time="0.167835">
        <testcase name="test_cloud_and_central_monitoring_does_not_query_or_write" file="/Users/gentianbeqiri/StudioProjects/pos_system/apps/api/tests/Feature/SwiftposShadowMlIsolationTest.php" line="42" class="Tests\Feature\SwiftposShadowMlIsolationTest" classname="Tests.Feature.SwiftposShadowMlIsolationTest" assertions="18" time="0.013630"/>
        <testcase name="test_monitoring_schedule_is_legacy_only_and_other_shadow_schedules_remain" file="/Users/gentianbeqiri/StudioProjects/pos_system/apps/api/tests/Feature/SwiftposShadowMlIsolationTest.php" line="73" class="Tests\Feature\SwiftposShadowMlIsolationTest" classname="Tests.Feature.SwiftposShadowMlIsolationTest" assertions="21" time="0.049458"/>
        <testcase name="test_invalid_edition_fails_closed" file="/Users/gentianbeqiri/StudioProjects/pos_system/apps/api/tests/Feature/SwiftposShadowMlIsolationTest.php" line="99" class="Tests\Feature\SwiftposShadowMlIsolationTest" classname="Tests.Feature.SwiftposShadowMlIsolationTest" assertions="4" time="0.021808"/>
        <testcase name="test_http_monitoring_routes_are_hidden_outside_legacy_and_keep_legacy_authorization" file="/Users/gentianbeqiri/StudioProjects/pos_system/apps/api/tests/Feature/SwiftposShadowMlIsolationTest.php" line="123" class="Tests\Feature\SwiftposShadowMlIsolationTest" classname="Tests.Feature.SwiftposShadowMlIsolationTest" assertions="18" time="0.061656"/>
        <testcase name="test_legacy_monitor_still_reads_predictions_and_writes_a_snapshot" file="/Users/gentianbeqiri/StudioProjects/pos_system/apps/api/tests/Feature/SwiftposShadowMlIsolationTest.php" line="164" class="Tests\Feature\SwiftposShadowMlIsolationTest" classname="Tests.Feature.SwiftposShadowMlIsolationTest" assertions="5" time="0.021283"/>
      </testsuite>
      <testsuite name="Tests\Feature\SwiftposTenantFilesystemIsolationTest" file="/Users/gentianbeqiri/StudioProjects/pos_system/apps/api/tests/Feature/SwiftposTenantFilesystemIsolationTest.php" tests="4" assertions="117" errors="0" failures="0" skipped="0" time="1.630387">
        <testcase name="test_tenant_storage_public_and_private_files_stay_inside_each_runtime" file="/Users/gentianbeqiri/StudioProjects/pos_system/apps/api/tests/Feature/SwiftposTenantFilesystemIsolationTest.php" line="137" class="Tests\Feature\SwiftposTenantFilesystemIsolationTest" classname="Tests.Feature.SwiftposTenantFilesystemIsolationTest" assertions="66" time="0.777961"/>
        <testcase name="test_cloud_backups_stay_inside_the_tenant_and_do_not_dump" file="/Users/gentianbeqiri/StudioProjects/pos_system/apps/api/tests/Feature/SwiftposTenantFilesystemIsolationTest.php" line="181" class="Tests\Feature\SwiftposTenantFilesystemIsolationTest" classname="Tests.Feature.SwiftposTenantFilesystemIsolationTest" assertions="25" time="0.664034"/>
        <testcase name="test_cloud_import_does_not_run_or_migrate" file="/Users/gentianbeqiri/StudioProjects/pos_system/apps/api/tests/Feature/SwiftposTenantFilesystemIsolationTest.php" line="213" class="Tests\Feature\SwiftposTenantFilesystemIsolationTest" classname="Tests.Feature.SwiftposTenantFilesystemIsolationTest" assertions="14" time="0.177390"/>
        <testcase name="test_open_basedir_directive_covers_one_tenant_and_the_release" file="/Users/gentianbeqiri/StudioProjects/pos_system/apps/api/tests/Feature/SwiftposTenantFilesystemIsolationTest.php" line="233" class="Tests\Feature\SwiftposTenantFilesystemIsolationTest" classname="Tests.Feature.SwiftposTenantFilesystemIsolationTest" assertions="12" time="0.011003"/>
      </testsuite>
      <testsuite name="Tests\Feature\SwiftposTenantHttpSecurityTest" file="/Users/gentianbeqiri/StudioProjects/pos_system/apps/api/tests/Feature/SwiftposTenantHttpSecurityTest.php" tests="7" assertions="106" errors="0" failures="0" skipped="0" time="2.969272">
        <testcase name="test_cloud_platform_routes_return_404_and_central_keeps_authentication" file="/Users/gentianbeqiri/StudioProjects/pos_system/apps/api/tests/Feature/SwiftposTenantHttpSecurityTest.php" line="116" class="Tests\Feature\SwiftposTenantHttpSecurityTest" classname="Tests.Feature.SwiftposTenantHttpSecurityTest" assertions="10" time="0.014130"/>
        <testcase name="test_pinned_hostname_is_fail_closed_and_does_not_select_a_database" file="/Users/gentianbeqiri/StudioProjects/pos_system/apps/api/tests/Feature/SwiftposTenantHttpSecurityTest.php" line="138" class="Tests\Feature\SwiftposTenantHttpSecurityTest" classname="Tests.Feature.SwiftposTenantHttpSecurityTest" assertions="27" time="0.459489"/>
        <testcase name="test_invalid_application_url_fails_closed" file="/Users/gentianbeqiri/StudioProjects/pos_system/apps/api/tests/Feature/SwiftposTenantHttpSecurityTest.php" line="179" class="Tests\Feature\SwiftposTenantHttpSecurityTest" classname="Tests.Feature.SwiftposTenantHttpSecurityTest" assertions="16" time="0.381220"/>
        <testcase name="test_route_cache_does_not_cross_edition_boundaries" file="/Users/gentianbeqiri/StudioProjects/pos_system/apps/api/tests/Feature/SwiftposTenantHttpSecurityTest.php" line="197" class="Tests\Feature\SwiftposTenantHttpSecurityTest" classname="Tests.Feature.SwiftposTenantHttpSecurityTest" assertions="19" time="0.907962"/>
        <testcase name="test_pinned_cloud_validation_stays_active_when_app_env_is_testing" file="/Users/gentianbeqiri/StudioProjects/pos_system/apps/api/tests/Feature/SwiftposTenantHttpSecurityTest.php" line="230" class="Tests\Feature\SwiftposTenantHttpSecurityTest" classname="Tests.Feature.SwiftposTenantHttpSecurityTest" assertions="10" time="0.447019"/>
        <testcase name="test_unpinned_cloud_cannot_bypass_validation_with_app_env_testing" file="/Users/gentianbeqiri/StudioProjects/pos_system/apps/api/tests/Feature/SwiftposTenantHttpSecurityTest.php" line="251" class="Tests\Feature\SwiftposTenantHttpSecurityTest" classname="Tests.Feature.SwiftposTenantHttpSecurityTest" assertions="5" time="0.243289"/>
        <testcase name="test_runtime_diagnostics_do_not_expose_secrets" file="/Users/gentianbeqiri/StudioProjects/pos_system/apps/api/tests/Feature/SwiftposTenantHttpSecurityTest.php" line="264" class="Tests\Feature\SwiftposTenantHttpSecurityTest" classname="Tests.Feature.SwiftposTenantHttpSecurityTest" assertions="19" time="0.516162"/>
      </testsuite>
      <testsuite name="Tests\Feature\SwiftposTenantOperationsTest" file="/Users/gentianbeqiri/StudioProjects/pos_system/apps/api/tests/Feature/SwiftposTenantOperationsTest.php" tests="8" assertions="226" errors="0" failures="0" skipped="0" time="1.582742">
        <testcase name="test_password_is_read_from_an_owner_only_file_and_not_from_arguments" file="/Users/gentianbeqiri/StudioProjects/pos_system/apps/api/tests/Feature/SwiftposTenantOperationsTest.php" line="120" class="Tests\Feature\SwiftposTenantOperationsTest" classname="Tests.Feature.SwiftposTenantOperationsTest" assertions="29" time="0.173871"/>
        <testcase name="test_password_arguments_and_unsafe_files_are_rejected" file="/Users/gentianbeqiri/StudioProjects/pos_system/apps/api/tests/Feature/SwiftposTenantOperationsTest.php" line="159" class="Tests\Feature\SwiftposTenantOperationsTest" classname="Tests.Feature.SwiftposTenantOperationsTest" assertions="21" time="0.172340"/>
        <testcase name="test_doctor_reports_a_valid_tenant_without_secrets_or_queries" file="/Users/gentianbeqiri/StudioProjects/pos_system/apps/api/tests/Feature/SwiftposTenantOperationsTest.php" line="213" class="Tests\Feature\SwiftposTenantOperationsTest" classname="Tests.Feature.SwiftposTenantOperationsTest" assertions="43" time="0.180974"/>
        <testcase name="test_doctor_rejects_invalid_configuration_without_leaking_secrets" file="/Users/gentianbeqiri/StudioProjects/pos_system/apps/api/tests/Feature/SwiftposTenantOperationsTest.php" line="273" class="Tests\Feature\SwiftposTenantOperationsTest" classname="Tests.Feature.SwiftposTenantOperationsTest" assertions="19" time="0.142309"/>
        <testcase name="test_tenant_diagnostics_stay_isolated" file="/Users/gentianbeqiri/StudioProjects/pos_system/apps/api/tests/Feature/SwiftposTenantOperationsTest.php" line="297" class="Tests\Feature\SwiftposTenantOperationsTest" classname="Tests.Feature.SwiftposTenantOperationsTest" assertions="33" time="0.323044"/>
        <testcase name="test_queue_and_scheduler_templates_use_the_tenant_artisan" file="/Users/gentianbeqiri/StudioProjects/pos_system/apps/api/tests/Feature/SwiftposTenantOperationsTest.php" line="321" class="Tests\Feature\SwiftposTenantOperationsTest" classname="Tests.Feature.SwiftposTenantOperationsTest" assertions="41" time="0.249049"/>
        <testcase name="test_cloud_scheduler_omits_machine_learning_and_legacy_schedules_remain" file="/Users/gentianbeqiri/StudioProjects/pos_system/apps/api/tests/Feature/SwiftposTenantOperationsTest.php" line="362" class="Tests\Feature\SwiftposTenantOperationsTest" classname="Tests.Feature.SwiftposTenantOperationsTest" assertions="29" time="0.330753"/>
        <testcase name="test_pos_routes_remain_unchanged" file="/Users/gentianbeqiri/StudioProjects/pos_system/apps/api/tests/Feature/SwiftposTenantOperationsTest.php" line="413" class="Tests\Feature\SwiftposTenantOperationsTest" classname="Tests.Feature.SwiftposTenantOperationsTest" assertions="11" time="0.010402"/>
      </testsuite>
      <testsuite name="Tests\Feature\SwiftposTenantRuntimeIsolationTest" file="/Users/gentianbeqiri/StudioProjects/pos_system/apps/api/tests/Feature/SwiftposTenantRuntimeIsolationTest.php" tests="16" assertions="216" errors="0" failures="0" skipped="0" time="5.039894">
        <testcase name="test_two_runtimes_keep_separate_environment_storage_and_cache_paths" file="/Users/gentianbeqiri/StudioProjects/pos_system/apps/api/tests/Feature/SwiftposTenantRuntimeIsolationTest.php" line="92" class="Tests\Feature\SwiftposTenantRuntimeIsolationTest" classname="Tests.Feature.SwiftposTenantRuntimeIsolationTest" assertions="80" time="0.263418"/>
        <testcase name="test_http_and_artisan_entrypoints_resolve_the_same_tenant_paths" file="/Users/gentianbeqiri/StudioProjects/pos_system/apps/api/tests/Feature/SwiftposTenantRuntimeIsolationTest.php" line="138" class="Tests\Feature\SwiftposTenantRuntimeIsolationTest" classname="Tests.Feature.SwiftposTenantRuntimeIsolationTest" assertions="16" time="0.283260"/>
        <testcase name="test_config_cache_stays_inside_each_tenant_runtime" file="/Users/gentianbeqiri/StudioProjects/pos_system/apps/api/tests/Feature/SwiftposTenantRuntimeIsolationTest.php" line="167" class="Tests\Feature\SwiftposTenantRuntimeIsolationTest" classname="Tests.Feature.SwiftposTenantRuntimeIsolationTest" assertions="27" time="1.004879"/>
        <testcase name="test_missing_environment_file_fails_closed_for_http_and_artisan" file="/Users/gentianbeqiri/StudioProjects/pos_system/apps/api/tests/Feature/SwiftposTenantRuntimeIsolationTest.php" line="221" class="Tests\Feature\SwiftposTenantRuntimeIsolationTest" classname="Tests.Feature.SwiftposTenantRuntimeIsolationTest" assertions="6" time="0.166200"/>
        <testcase name="test_invalid_edition_fails_closed" file="/Users/gentianbeqiri/StudioProjects/pos_system/apps/api/tests/Feature/SwiftposTenantRuntimeIsolationTest.php" line="234" class="Tests\Feature\SwiftposTenantRuntimeIsolationTest" classname="Tests.Feature.SwiftposTenantRuntimeIsolationTest" assertions="3" time="0.083862"/>
        <testcase name="test_sqlite_fails_closed_from_the_environment_file_and_the_process" file="/Users/gentianbeqiri/StudioProjects/pos_system/apps/api/tests/Feature/SwiftposTenantRuntimeIsolationTest.php" line="242" class="Tests\Feature\SwiftposTenantRuntimeIsolationTest" classname="Tests.Feature.SwiftposTenantRuntimeIsolationTest" assertions="5" time="0.249588"/>
        <testcase name="test_stop_market_database_name_fails_closed_from_the_file_and_the_process" file="/Users/gentianbeqiri/StudioProjects/pos_system/apps/api/tests/Feature/SwiftposTenantRuntimeIsolationTest.php" line="256" class="Tests\Feature\SwiftposTenantRuntimeIsolationTest" classname="Tests.Feature.SwiftposTenantRuntimeIsolationTest" assertions="5" time="0.254027"/>
        <testcase name="test_missing_app_key_fails_closed" file="/Users/gentianbeqiri/StudioProjects/pos_system/apps/api/tests/Feature/SwiftposTenantRuntimeIsolationTest.php" line="274" class="Tests\Feature\SwiftposTenantRuntimeIsolationTest" classname="Tests.Feature.SwiftposTenantRuntimeIsolationTest" assertions="3" time="0.138543"/>
        <testcase name="test_missing_database_credentials_fail_closed" file="/Users/gentianbeqiri/StudioProjects/pos_system/apps/api/tests/Feature/SwiftposTenantRuntimeIsolationTest.php" line="282" class="Tests\Feature\SwiftposTenantRuntimeIsolationTest" classname="Tests.Feature.SwiftposTenantRuntimeIsolationTest" assertions="7" time="0.391583"/>
        <testcase name="test_invalid_cache_paths_and_missing_runtime_directories_fail_closed" file="/Users/gentianbeqiri/StudioProjects/pos_system/apps/api/tests/Feature/SwiftposTenantRuntimeIsolationTest.php" line="292" class="Tests\Feature\SwiftposTenantRuntimeIsolationTest" classname="Tests.Feature.SwiftposTenantRuntimeIsolationTest" assertions="11" time="0.364567"/>
        <testcase name="test_legacy_bootstrap_remains_unchanged" file="/Users/gentianbeqiri/StudioProjects/pos_system/apps/api/tests/Feature/SwiftposTenantRuntimeIsolationTest.php" line="321" class="Tests\Feature\SwiftposTenantRuntimeIsolationTest" classname="Tests.Feature.SwiftposTenantRuntimeIsolationTest" assertions="15" time="0.160430"/>
        <testcase name="test_pinned_runtime_rejects_a_legacy_or_missing_edition" file="/Users/gentianbeqiri/StudioProjects/pos_system/apps/api/tests/Feature/SwiftposTenantRuntimeIsolationTest.php" line="346" class="Tests\Feature\SwiftposTenantRuntimeIsolationTest" classname="Tests.Feature.SwiftposTenantRuntimeIsolationTest" assertions="7" time="0.220469"/>
        <testcase name="test_database_url_cannot_override_the_effective_tenant_database" file="/Users/gentianbeqiri/StudioProjects/pos_system/apps/api/tests/Feature/SwiftposTenantRuntimeIsolationTest.php" line="373" class="Tests\Feature\SwiftposTenantRuntimeIsolationTest" classname="Tests.Feature.SwiftposTenantRuntimeIsolationTest" assertions="12" time="0.496792"/>
        <testcase name="test_cached_configuration_cannot_change_the_runtime_identity" file="/Users/gentianbeqiri/StudioProjects/pos_system/apps/api/tests/Feature/SwiftposTenantRuntimeIsolationTest.php" line="408" class="Tests\Feature\SwiftposTenantRuntimeIsolationTest" classname="Tests.Feature.SwiftposTenantRuntimeIsolationTest" assertions="5" time="0.281064"/>
        <testcase name="test_cloud_scheduler_does_not_register_legacy_commands" file="/Users/gentianbeqiri/StudioProjects/pos_system/apps/api/tests/Feature/SwiftposTenantRuntimeIsolationTest.php" line="425" class="Tests\Feature\SwiftposTenantRuntimeIsolationTest" classname="Tests.Feature.SwiftposTenantRuntimeIsolationTest" assertions="6" time="0.166141"/>
        <testcase name="test_production_cloud_requires_an_explicit_parent_domain_and_cookie_policy" file="/Users/gentianbeqiri/StudioProjects/pos_system/apps/api/tests/Feature/SwiftposTenantRuntimeIsolationTest.php" line="437" class="Tests\Feature\SwiftposTenantRuntimeIsolationTest" classname="Tests.Feature.SwiftposTenantRuntimeIsolationTest" assertions="8" time="0.515069"/>
      </testsuite>
      <testsuite name="Tests\Feature\SyncIdempotencyTest" file="/Users/gentianbeqiri/StudioProjects/pos_system/apps/api/tests/Feature/SyncIdempotencyTest.php" tests="1" assertions="7" errors="0" failures="0" skipped="0" time="0.041408">
        <testcase name="test_duplicate_sync_push_does_not_create_two_resources" file="/Users/gentianbeqiri/StudioProjects/pos_system/apps/api/tests/Feature/SyncIdempotencyTest.php" line="23" class="Tests\Feature\SyncIdempotencyTest" classname="Tests.Feature.SyncIdempotencyTest" assertions="7" time="0.041408"/>
      </testsuite>
      <testsuite name="Tests\Feature\SyncPullPaginationTest" file="/Users/gentianbeqiri/StudioProjects/pos_system/apps/api/tests/Feature/SyncPullPaginationTest.php" tests="4" assertions="19" errors="0" failures="0" skipped="0" time="0.129662">
        <testcase name="test_pull_paginates_products_and_resumes_with_cursor" file="/Users/gentianbeqiri/StudioProjects/pos_system/apps/api/tests/Feature/SyncPullPaginationTest.php" line="23" class="Tests\Feature\SyncPullPaginationTest" classname="Tests.Feature.SyncPullPaginationTest" assertions="12" time="0.038134"/>
        <testcase name="test_pull_since_returns_only_newer_products_not_the_full_catalog" file="/Users/gentianbeqiri/StudioProjects/pos_system/apps/api/tests/Feature/SyncPullPaginationTest.php" line="106" class="Tests\Feature\SyncPullPaginationTest" classname="Tests.Feature.SyncPullPaginationTest" assertions="4" time="0.032190"/>
        <testcase name="test_push_rejects_more_than_fifty_operations" file="/Users/gentianbeqiri/StudioProjects/pos_system/apps/api/tests/Feature/SyncPullPaginationTest.php" line="179" class="Tests\Feature\SyncPullPaginationTest" classname="Tests.Feature.SyncPullPaginationTest" assertions="1" time="0.030944"/>
        <testcase name="test_suspended_business_is_blocked" file="/Users/gentianbeqiri/StudioProjects/pos_system/apps/api/tests/Feature/SyncPullPaginationTest.php" line="213" class="Tests\Feature\SyncPullPaginationTest" classname="Tests.Feature.SyncPullPaginationTest" assertions="2" time="0.028393"/>
      </testsuite>
      <testsuite name="Tests\Feature\SyncRecoveryTest" file="/Users/gentianbeqiri/StudioProjects/pos_system/apps/api/tests/Feature/SyncRecoveryTest.php" tests="12" assertions="117" errors="0" failures="0" skipped="0" time="0.282041">
        <testcase name="test_repeated_fiscal_counters_sync_across_days_and_tills_without_duplicates" file="/Users/gentianbeqiri/StudioProjects/pos_system/apps/api/tests/Feature/SyncRecoveryTest.php" line="62" class="Tests\Feature\SyncRecoveryTest" classname="Tests.Feature.SyncRecoveryTest" assertions="22" time="0.048008"/>
        <testcase name="test_invalid_sale_is_not_acknowledged_and_next_sale_is_saved" file="/Users/gentianbeqiri/StudioProjects/pos_system/apps/api/tests/Feature/SyncRecoveryTest.php" line="109" class="Tests\Feature\SyncRecoveryTest" classname="Tests.Feature.SyncRecoveryTest" assertions="6" time="0.018486"/>
        <testcase name="test_database_failure_rolls_back_only_bad_operation" file="/Users/gentianbeqiri/StudioProjects/pos_system/apps/api/tests/Feature/SyncRecoveryTest.php" line="122" class="Tests\Feature\SyncRecoveryTest" classname="Tests.Feature.SyncRecoveryTest" assertions="8" time="0.024033"/>
        <testcase name="test_malformed_operation_does_not_reject_whole_batch" file="/Users/gentianbeqiri/StudioProjects/pos_system/apps/api/tests/Feature/SyncRecoveryTest.php" line="138" class="Tests\Feature\SyncRecoveryTest" classname="Tests.Feature.SyncRecoveryTest" assertions="3" time="0.016815"/>
        <testcase name="test_legacy_ghost_ack_is_repaired_once_with_original_identity" file="/Users/gentianbeqiri/StudioProjects/pos_system/apps/api/tests/Feature/SyncRecoveryTest.php" line="147" class="Tests\Feature\SyncRecoveryTest" classname="Tests.Feature.SyncRecoveryTest" assertions="13" time="0.019522"/>
        <testcase name="test_late_receipt_metadata_does_not_duplicate_sale_or_analytics" file="/Users/gentianbeqiri/StudioProjects/pos_system/apps/api/tests/Feature/SyncRecoveryTest.php" line="176" class="Tests\Feature\SyncRecoveryTest" classname="Tests.Feature.SyncRecoveryTest" assertions="13" time="0.022328"/>
        <testcase name="test_repeated_temporary_receipt_numbers_do_not_block_old_queued_sales" file="/Users/gentianbeqiri/StudioProjects/pos_system/apps/api/tests/Feature/SyncRecoveryTest.php" line="200" class="Tests\Feature\SyncRecoveryTest" classname="Tests.Feature.SyncRecoveryTest" assertions="9" time="0.021724"/>
        <testcase name="test_real_receipt_conflict_is_reported_without_renumbering" file="/Users/gentianbeqiri/StudioProjects/pos_system/apps/api/tests/Feature/SyncRecoveryTest.php" line="217" class="Tests\Feature\SyncRecoveryTest" classname="Tests.Feature.SyncRecoveryTest" assertions="4" time="0.021691"/>
        <testcase name="test_invoice_collision_across_tills_preserves_documents_and_retries_once" file="/Users/gentianbeqiri/StudioProjects/pos_system/apps/api/tests/Feature/SyncRecoveryTest.php" line="229" class="Tests\Feature\SyncRecoveryTest" classname="Tests.Feature.SyncRecoveryTest" assertions="21" time="0.031809"/>
        <testcase name="test_invoice_fallback_conflict_fails_without_overwriting_or_acknowledging" file="/Users/gentianbeqiri/StudioProjects/pos_system/apps/api/tests/Feature/SyncRecoveryTest.php" line="286" class="Tests\Feature\SyncRecoveryTest" classname="Tests.Feature.SyncRecoveryTest" assertions="10" time="0.022284"/>
        <testcase name="test_card_receipt_conflict_is_still_rejected" file="/Users/gentianbeqiri/StudioProjects/pos_system/apps/api/tests/Feature/SyncRecoveryTest.php" line="308" class="Tests\Feature\SyncRecoveryTest" classname="Tests.Feature.SyncRecoveryTest" assertions="5" time="0.016945"/>
        <testcase name="test_verification_does_not_expose_another_business_sale" file="/Users/gentianbeqiri/StudioProjects/pos_system/apps/api/tests/Feature/SyncRecoveryTest.php" line="324" class="Tests\Feature\SyncRecoveryTest" classname="Tests.Feature.SyncRecoveryTest" assertions="3" time="0.018395"/>
      </testsuite>
      <testsuite name="Tests\Feature\TenantIsolationTest" file="/Users/gentianbeqiri/StudioProjects/pos_system/apps/api/tests/Feature/TenantIsolationTest.php" tests="2" assertions="6" errors="0" failures="0" skipped="0" time="0.064638">
        <testcase name="test_user_cannot_list_devices_from_another_business" file="/Users/gentianbeqiri/StudioProjects/pos_system/apps/api/tests/Feature/TenantIsolationTest.php" line="20" class="Tests\Feature\TenantIsolationTest" classname="Tests.Feature.TenantIsolationTest" assertions="3" time="0.030179"/>
        <testcase name="test_user_cannot_read_foreign_business_location_via_locations_endpoint" file="/Users/gentianbeqiri/StudioProjects/pos_system/apps/api/tests/Feature/TenantIsolationTest.php" line="56" class="Tests\Feature\TenantIsolationTest" classname="Tests.Feature.TenantIsolationTest" assertions="3" time="0.034459"/>
      </testsuite>
    </testsuite>
  </testsuite>
</testsuites>
