123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153 |
- <?php
- namespace Illuminate\Support\Testing\Fakes;
- use Carbon\CarbonImmutable;
- use Closure;
- use Illuminate\Bus\BatchRepository;
- use Illuminate\Bus\PendingBatch;
- use Illuminate\Bus\UpdatedBatchJobCounts;
- use Illuminate\Support\Str;
- class BatchRepositoryFake implements BatchRepository
- {
- /**
- * The batches stored in the repository.
- *
- * @var \Illuminate\Bus\Batch[]
- */
- protected $batches = [];
- /**
- * Retrieve a list of batches.
- *
- * @param int $limit
- * @param mixed $before
- * @return \Illuminate\Bus\Batch[]
- */
- public function get($limit, $before)
- {
- return $this->batches;
- }
- /**
- * Retrieve information about an existing batch.
- *
- * @param string $batchId
- * @return \Illuminate\Bus\Batch|null
- */
- public function find(string $batchId)
- {
- return $this->batches[$batchId] ?? null;
- }
- /**
- * Store a new pending batch.
- *
- * @param \Illuminate\Bus\PendingBatch $batch
- * @return \Illuminate\Bus\Batch
- */
- public function store(PendingBatch $batch)
- {
- $id = (string) Str::orderedUuid();
- $this->batches[$id] = new BatchFake(
- $id,
- $batch->name,
- count($batch->jobs),
- count($batch->jobs),
- 0,
- [],
- $batch->options,
- CarbonImmutable::now(),
- null,
- null
- );
- return $this->batches[$id];
- }
- /**
- * Increment the total number of jobs within the batch.
- *
- * @param string $batchId
- * @param int $amount
- * @return void
- */
- public function incrementTotalJobs(string $batchId, int $amount)
- {
- //
- }
- /**
- * Decrement the total number of pending jobs for the batch.
- *
- * @param string $batchId
- * @param string $jobId
- * @return \Illuminate\Bus\UpdatedBatchJobCounts
- */
- public function decrementPendingJobs(string $batchId, string $jobId)
- {
- return new UpdatedBatchJobCounts;
- }
- /**
- * Increment the total number of failed jobs for the batch.
- *
- * @param string $batchId
- * @param string $jobId
- * @return \Illuminate\Bus\UpdatedBatchJobCounts
- */
- public function incrementFailedJobs(string $batchId, string $jobId)
- {
- return new UpdatedBatchJobCounts;
- }
- /**
- * Mark the batch that has the given ID as finished.
- *
- * @param string $batchId
- * @return void
- */
- public function markAsFinished(string $batchId)
- {
- if (isset($this->batches[$batchId])) {
- $this->batches[$batchId]->finishedAt = now();
- }
- }
- /**
- * Cancel the batch that has the given ID.
- *
- * @param string $batchId
- * @return void
- */
- public function cancel(string $batchId)
- {
- if (isset($this->batches[$batchId])) {
- $this->batches[$batchId]->cancel();
- }
- }
- /**
- * Delete the batch that has the given ID.
- *
- * @param string $batchId
- * @return void
- */
- public function delete(string $batchId)
- {
- unset($this->batches[$batchId]);
- }
- /**
- * Execute the given Closure within a storage specific transaction.
- *
- * @param \Closure $callback
- * @return mixed
- */
- public function transaction(Closure $callback)
- {
- return $callback();
- }
- }
|