X-Git-Url: http://source.bookstackapp.com/bookstack/blobdiff_plain/f8f9e74992e7f0e3369d97b3e35f22f1a9bd678e..refs/pull/3042/head:/tests/TestResponse.php diff --git a/tests/TestResponse.php b/tests/TestResponse.php index 5e2be3ac3..4e53aa020 100644 --- a/tests/TestResponse.php +++ b/tests/TestResponse.php @@ -53,6 +53,26 @@ class TestResponse extends BaseTestResponse return $this; } + /** + * Assert the response contains the given count of elements + * that match the given css selector. + * + * @return $this + */ + public function assertElementCount(string $selector, int $count) + { + $elements = $this->crawler()->filter($selector); + PHPUnit::assertTrue( + $elements->count() === $count, + 'Unable to ' . $count . ' element(s) matching the selector: ' . PHP_EOL . PHP_EOL . + "[{$selector}]" . PHP_EOL . PHP_EOL . + 'found ' . $elements->count() . ' within' . PHP_EOL . PHP_EOL . + "[{$this->getContent()}]." + ); + + return $this; + } + /** * Assert the response does not contain the specified element. *