Add slugify method

This commit is contained in:
tal7aouy
2024-09-16 13:36:34 +01:00
parent 0d50d35b5e
commit e3bfcbe5f1
2 changed files with 28 additions and 2 deletions

View File

@ -661,7 +661,7 @@ final class Expectation
{
foreach ($keys as $k => $key) {
if (is_array($key)) {
$this->toHaveKeys(array_keys(Arr::dot($key, $k.'.')), $message);
$this->toHaveKeys(array_keys(Arr::dot($key, $k . '.')), $message);
} else {
$this->toHaveKey($key, message: $message);
}
@ -1159,4 +1159,21 @@ final class Expectation
return $this;
}
/**
* Asserts that the value can be converted to a slug
*
* @return self<TValue>
*/
public function toBeSlug(string $message = ''): self
{
if ($message === '') {
$message = "Failed asserting that {$this->value} can be converted to a slug.";
}
$slug = Str::slugify((string) $this->value);
Assert::assertNotEmpty($slug, $message);
return $this;
}
}