mirror of
https://github.com/BookStackApp/BookStack.git
synced 2024-11-30 04:33:41 +08:00
ffdfdc7449
Just needed some argument defaults to make them optional for existing uses.
81 lines
2.0 KiB
PHP
81 lines
2.0 KiB
PHP
<?php
|
|
|
|
namespace Tests;
|
|
|
|
use BookStack\Entities\Models\Entity;
|
|
use Illuminate\Foundation\Testing\DatabaseTransactions;
|
|
use Illuminate\Foundation\Testing\TestCase as BaseTestCase;
|
|
|
|
abstract class TestCase extends BaseTestCase
|
|
{
|
|
use CreatesApplication;
|
|
use DatabaseTransactions;
|
|
use SharedTestHelpers;
|
|
|
|
/**
|
|
* The base URL to use while testing the application.
|
|
*
|
|
* @var string
|
|
*/
|
|
protected $baseUrl = 'http://localhost';
|
|
|
|
/**
|
|
* Assert the session contains a specific entry.
|
|
*
|
|
* @param string $key
|
|
*
|
|
* @return $this
|
|
*/
|
|
protected function assertSessionHas(string $key)
|
|
{
|
|
$this->assertTrue(session()->has($key), "Session does not contain a [{$key}] entry");
|
|
|
|
return $this;
|
|
}
|
|
|
|
/**
|
|
* Override of the get method so we can get visibility of custom TestResponse methods.
|
|
*
|
|
* @param string $uri
|
|
* @param array $headers
|
|
*
|
|
* @return TestResponse
|
|
*/
|
|
public function get($uri, array $headers = [])
|
|
{
|
|
return parent::get($uri, $headers);
|
|
}
|
|
|
|
/**
|
|
* Create the test response instance from the given response.
|
|
*
|
|
* @param \Illuminate\Http\Response $response
|
|
*
|
|
* @return TestResponse
|
|
*/
|
|
protected function createTestResponse($response)
|
|
{
|
|
return TestResponse::fromBaseResponse($response);
|
|
}
|
|
|
|
/**
|
|
* Assert that an activity entry exists of the given key.
|
|
* Checks the activity belongs to the given entity if provided.
|
|
*/
|
|
protected function assertActivityExists(string $type, ?Entity $entity = null, string $detail = '')
|
|
{
|
|
$detailsToCheck = ['type' => $type];
|
|
|
|
if ($entity) {
|
|
$detailsToCheck['entity_type'] = $entity->getMorphClass();
|
|
$detailsToCheck['entity_id'] = $entity->id;
|
|
}
|
|
|
|
if ($detail) {
|
|
$detailsToCheck['detail'] = $detail;
|
|
}
|
|
|
|
$this->assertDatabaseHas('activities', $detailsToCheck);
|
|
}
|
|
}
|