1
0
mirror of https://github.com/flarum/core.git synced 2025-08-06 08:27:42 +02:00

Tests: remove prepDb workaround

Previously, the `prepareDatabase` method would directly modify the database, booting the app in the process. This would prevent any extenders from being applied, since `->extend()` has no effect once the app is booted.

Since the new implementation of `prepareDatabase` simply registers seed data to be applied during app boot, the workaround of sticking this seed data into `prepDb` is no longer necessary, and seed data common to all test cases in a class can be provided in `setUp`.

When needed, app boot is explicitly triggered in individual test cases by calling `$this->app()`.
This commit is contained in:
Alexander Skvortsov
2021-01-06 22:34:32 -05:00
parent 0a8816938a
commit ae280016e7
10 changed files with 96 additions and 158 deletions

View File

@@ -17,8 +17,13 @@ class SettingsTest extends TestCase
{
use RetrievesAuthorizedUsers;
protected function prepDb()
/**
* @inheritDoc
*/
protected function setUp(): void
{
parent::setUp();
$this->prepareDatabase([
'users' => [
$this->normalUser()
@@ -35,8 +40,6 @@ class SettingsTest extends TestCase
*/
public function custom_setting_isnt_serialized_by_default()
{
$this->prepDb();
$response = $this->send(
$this->request('GET', '/api', [
'authenticatedAs' => 1,
@@ -58,8 +61,6 @@ class SettingsTest extends TestCase
->serializeToForum('customPrefix.customSetting', 'custom-prefix.custom_setting')
);
$this->prepDb();
$response = $this->send(
$this->request('GET', '/api', [
'authenticatedAs' => 1,
@@ -84,8 +85,6 @@ class SettingsTest extends TestCase
})
);
$this->prepDb();
$response = $this->send(
$this->request('GET', '/api', [
'authenticatedAs' => 1,
@@ -108,8 +107,6 @@ class SettingsTest extends TestCase
->serializeToForum('customPrefix.customSetting2', 'custom-prefix.custom_setting2', CustomInvokableClass::class)
);
$this->prepDb();
$response = $this->send(
$this->request('GET', '/api', [
'authenticatedAs' => 1,
@@ -132,8 +129,6 @@ class SettingsTest extends TestCase
->serializeToForum('customPrefix.noCustomSetting', 'custom-prefix.no_custom_setting', null, 'customDefault')
);
$this->prepDb();
$response = $this->send(
$this->request('GET', '/api', [
'authenticatedAs' => 1,
@@ -158,8 +153,6 @@ class SettingsTest extends TestCase
}, 'customDefault')
);
$this->prepDb();
$response = $this->send(
$this->request('GET', '/api', [
'authenticatedAs' => 1,