BatchFake.php
TLDR
This file contains the BatchFake
class, which extends the Batch
class. It is used for testing purposes and provides methods for managing a batch of jobs.
Classes
BatchFake
The BatchFake
class extends the Batch
class and is used for testing purposes. It contains several properties and methods for managing a batch of jobs. The class has the following properties:
-
added
: An array to store the jobs that have been added to the batch. -
deleted
: A boolean indicating if the batch has been deleted.
The class has the following methods:
-
__construct()
: A constructor method that initializes the properties of the class. -
fresh()
: A method that returns a fresh instance of the batch represented by this ID. -
add($jobs)
: A method that adds additional jobs to the batch. -
recordSuccessfulJob(string $jobId)
: A method to record that a job within the batch has finished successfully. -
decrementPendingJobs(string $jobId)
: A method to decrement the pending jobs for the batch. -
recordFailedJob(string $jobId, $e)
: A method to record that a job within the batch has failed to finish successfully. -
incrementFailedJobs(string $jobId)
: A method to increment the failed jobs for the batch. -
cancel()
: A method to cancel the batch. -
delete()
: A method to delete the batch from storage. -
deleted()
: A method to determine if the batch has been deleted.
<?php
namespace Illuminate\Support\Testing\Fakes;
use Carbon\CarbonImmutable;
use Illuminate\Bus\Batch;
use Illuminate\Bus\UpdatedBatchJobCounts;
use Illuminate\Support\Carbon;
use Illuminate\Support\Collection;
class BatchFake extends Batch
{
/**
* The jobs that have been added to the batch.
*
* @var array
*/
public $added = [];
/**
* Indicates if the batch has been deleted.
*
* @var bool
*/
public $deleted = false;
/**
* Create a new batch instance.
*
* @param string $id
* @param string $name
* @param int $totalJobs
* @param int $pendingJobs
* @param int $failedJobs
* @param array $failedJobIds
* @param array $options
* @param \Carbon\CarbonImmutable $createdAt
* @param \Carbon\CarbonImmutable|null $cancelledAt
* @param \Carbon\CarbonImmutable|null $finishedAt
* @return void
*/
public function __construct(string $id,
string $name,
int $totalJobs,
int $pendingJobs,
int $failedJobs,
array $failedJobIds,
array $options,
CarbonImmutable $createdAt,
?CarbonImmutable $cancelledAt = null,
?CarbonImmutable $finishedAt = null)
{
$this->id = $id;
$this->name = $name;
$this->totalJobs = $totalJobs;
$this->pendingJobs = $pendingJobs;
$this->failedJobs = $failedJobs;
$this->failedJobIds = $failedJobIds;
$this->options = $options;
$this->createdAt = $createdAt;
$this->cancelledAt = $cancelledAt;
$this->finishedAt = $finishedAt;
}
/**
* Get a fresh instance of the batch represented by this ID.
*
* @return self
*/
public function fresh()
{
return $this;
}
/**
* Add additional jobs to the batch.
*
* @param \Illuminate\Support\Enumerable|object|array $jobs
* @return self
*/
public function add($jobs)
{
$jobs = Collection::wrap($jobs);
foreach ($jobs as $job) {
$this->added[] = $job;
}
return $this;
}
/**
* Record that a job within the batch finished successfully, executing any callbacks if necessary.
*
* @param string $jobId
* @return void
*/
public function recordSuccessfulJob(string $jobId)
{
//
}
/**
* Decrement the pending jobs for the batch.
*
* @param string $jobId
* @return \Illuminate\Bus\UpdatedBatchJobCounts
*/
public function decrementPendingJobs(string $jobId)
{
//
}
/**
* Record that a job within the batch failed to finish successfully, executing any callbacks if necessary.
*
* @param string $jobId
* @param \Throwable $e
* @return void
*/
public function recordFailedJob(string $jobId, $e)
{
//
}
/**
* Increment the failed jobs for the batch.
*
* @param string $jobId
* @return \Illuminate\Bus\UpdatedBatchJobCounts
*/
public function incrementFailedJobs(string $jobId)
{
return new UpdatedBatchJobCounts;
}
/**
* Cancel the batch.
*
* @return void
*/
public function cancel()
{
$this->cancelledAt = Carbon::now();
}
/**
* Delete the batch from storage.
*
* @return void
*/
public function delete()
{
$this->deleted = true;
}
/**
* Determine if the batch has been deleted.
*
* @return bool
*/
public function deleted()
{
return $this->deleted;
}
}