Skip to content

Commit

Permalink
wip
Browse files Browse the repository at this point in the history
  • Loading branch information
freekmurze committed Nov 30, 2021
1 parent 8b15d4f commit 71e4bf2
Show file tree
Hide file tree
Showing 2 changed files with 15 additions and 2 deletions.
14 changes: 12 additions & 2 deletions src/ResultStores/StoredCheckResults/StoredCheckResults.php
Original file line number Diff line number Diff line change
Expand Up @@ -6,6 +6,7 @@
use DateTimeInterface;
use Illuminate\Support\Collection;
use Spatie\Health\Enums\Status;
use function Pest\Laravel\instance;

class StoredCheckResults
{
Expand Down Expand Up @@ -60,10 +61,19 @@ public function containsFailingCheck(): bool
return ! $this->allChecksOk();
}

public function containsCheckWithStatus(Status $status): bool
/**
* @param array<int, Status>|Status $statuses
*
* @return bool
*/
public function containsCheckWithStatus(array|Status $statuses): bool
{
if ($statuses instanceof Status) {
$statuses = array($statuses);
}

return $this->storedCheckResults->contains(
fn (StoredCheckResult $line) => $line->status === $status->value
fn (StoredCheckResult $line) => in_array($line->status, $statuses)
);
}

Expand Down
3 changes: 3 additions & 0 deletions tests/ResultStores/StoredCheckResultsTest.php
Original file line number Diff line number Diff line change
Expand Up @@ -15,6 +15,9 @@
expect($storedCheckResults->containsCheckWithStatus(Status::warning()))->toBeTrue();
expect($storedCheckResults->containsCheckWithStatus(Status::failed()))->toBeFalse();
expect($storedCheckResults->containsCheckWithStatus(Status::crashed()))->toBeFalse();

expect($storedCheckResults->containsCheckWithStatus([Status::warning(), Status::failed()]))->toBeTrue();
expect($storedCheckResults->containsCheckWithStatus([Status::crashed(), Status::failed()]))->toBeFalse();
});

function makeStoredCheckResultWithStatus(Status $status): StoredCheckResult
Expand Down

0 comments on commit 71e4bf2

Please sign in to comment.