Improve the superuser invoice-period review API, stale-preview protection, queue visibility, review blockers, and e-conomic eligibility.
28 lines
1.8 KiB
PHP
28 lines
1.8 KiB
PHP
<?php
|
|
|
|
it('scopes economic transfer queue route reads and retries to the current user', function (): void {
|
|
$economic_invoice_route = file_get_contents(app_path('routes/economicInvoiceRoute.php'));
|
|
$collected_invoice_route = file_get_contents(app_path('routes/orderInvoicesRoute.php'));
|
|
$queue = file_get_contents(app_path('classes/economic_transfer_queue.php'));
|
|
|
|
expect($economic_invoice_route)->not->toBeFalse();
|
|
expect($collected_invoice_route)->not->toBeFalse();
|
|
expect($queue)->not->toBeFalse();
|
|
|
|
expect($economic_invoice_route)->toContain('$queue->getJobByIdForUser((int)$job_id, (int)$user->id)');
|
|
expect($economic_invoice_route)->toContain('$queue->retryJobForUser((int)$job_id, (int)$user->id)');
|
|
|
|
expect($collected_invoice_route)->toContain('$queue->listJobsForCreatedBy(');
|
|
expect($collected_invoice_route)->toContain('$this->countCollectedInvoiceQueueJobs($queue, $statuses, (int)$user->id)');
|
|
expect($collected_invoice_route)->toContain('private function requireCollectedInvoiceQueueJobById(int $job_id, int $created_by, bool $mustBeFailed = false): array');
|
|
expect($collected_invoice_route)->toContain('$queue->getJobByIdForUser($job_id, $created_by)');
|
|
expect($collected_invoice_route)->toContain('$queue->retryJobForUser($job_id, (int)$user->id)');
|
|
|
|
expect($queue)->toContain('LEFT JOIN economic_transfer_queue_job_requesters r')
|
|
->and($queue)->toContain('q.created_by = ? OR r.user_id = ?')
|
|
->and($queue)->toContain('private function jobVisibilitySql(string $alias, int $user_id): string')
|
|
->and($queue)->toContain('requester.queue_job_id = $alias.id AND requester.user_id = $user_id')
|
|
->and($queue)->toContain('$this->registerJobRequester((int)($active_job[\'id\'] ?? 0), $created_by);')
|
|
->and($queue)->toContain('Only the queue job creator can retry this job');
|
|
});
|