Add policy, intake, and payment history to the admin student detail view
CI / Coding Standards (pull_request) Successful in 2m47s
CI / PHPStan (pull_request) Successful in 2m56s
CI / Tests (PHP 8.3) (pull_request) Successful in 2m39s
CI / Build Plugin Zip (pull_request) Skipped
CI / Tests (PHP 8.2) (pull_request) Successful in 43s
CI / Tests (PHP 8.1) (pull_request) Successful in 44s
CI / No Debug Code (pull_request) Successful in 2s
CI / Coding Standards (pull_request) Successful in 2m47s
CI / PHPStan (pull_request) Successful in 2m56s
CI / Tests (PHP 8.3) (pull_request) Successful in 2m39s
CI / Build Plugin Zip (pull_request) Skipped
CI / Tests (PHP 8.2) (pull_request) Successful in 43s
CI / Tests (PHP 8.1) (pull_request) Successful in 44s
CI / No Debug Code (pull_request) Successful in 2s
The student-administration spec deferred three detail-view sections until Payments landed. Adds them now: policy-acceptance history (title, version, context, date), intake answers (label, answer, context), and — gated on manage_billing — payment history with HST breakdown and receipt numbers. New Auth\StudentHistory builds the display rows from per-student queries added to AcceptanceRepository, AnswerRepository, and PaymentRepository; the Payment model now carries created_at so unpaid rows still have a date. Closes #69 Co-Authored-By: Claude Fable 5 <[email protected]>
This commit is contained in:
@@ -90,4 +90,29 @@ class AcceptanceRepositoryTest extends TestCase
|
||||
self::assertCount(1, $rows);
|
||||
self::assertInstanceOf(PolicyAcceptance::class, $rows[0]);
|
||||
}
|
||||
|
||||
public function testFindByStudentMapsRowsNewestFirst(): void
|
||||
{
|
||||
$this->db->shouldReceive('prepare')
|
||||
->once()
|
||||
->with(Mockery::pattern('/student_id = %d ORDER BY accepted_at DESC, id DESC/'), 'wp_us_policy_acceptances', 5)
|
||||
->andReturn('SELECT ...');
|
||||
|
||||
$this->db->shouldReceive('get_results')->andReturn([
|
||||
(object) [
|
||||
'id' => '2',
|
||||
'policy_version_id' => '9',
|
||||
'student_id' => '5',
|
||||
'registration_type' => PolicyAcceptance::REG_ACCOUNT,
|
||||
'registration_id' => '5',
|
||||
'accepted_at' => '2026-06-03 09:00:00',
|
||||
'ip_address' => null,
|
||||
],
|
||||
]);
|
||||
|
||||
$rows = $this->repo->findByStudent(5);
|
||||
|
||||
self::assertCount(1, $rows);
|
||||
self::assertSame(5, $rows[0]->studentId);
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user