<?php
/*
 * Copyright 2026 Alessandro Chiapparini <sprint_planer_web@chiapparini.org>
 * SPDX-License-Identifier: Apache-2.0
 *
 * Licensed under the Apache License, Version 2.0 (the "License");
 * you may not use this file except in compliance with the License.
 * See the LICENSE file in the project root for the full license text.
 */

declare(strict_types=1);

namespace App\Tests\Controllers;

use App\Controllers\TaskController;
use PHPUnit\Framework\TestCase;

/**
 * R01-N24 drift fence: TaskController shares the SprintController batch
 * cap. A bump in the constant has memory / DB-pressure implications under
 * attacker load — REVIEW_01.md §R01-N24 must move with it.
 */
final class TaskControllerTest extends TestCase
{
    public function testMaxBatchItemsConstantMatchesSprintController(): void
    {
        $this->assertSame(5000, TaskController::MAX_BATCH_ITEMS);
        // The two controllers cap independently but the audit suggested
        // a single bound; assert they have not drifted apart.
        $this->assertSame(
            \App\Controllers\SprintController::MAX_BATCH_ITEMS,
            TaskController::MAX_BATCH_ITEMS,
        );
    }
}
