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

feat: eloquent factories (primarily for tests) (#3982)

This commit is contained in:
Sami Mazouz
2024-05-03 09:20:27 +01:00
committed by GitHub
parent 270188b5b0
commit 2b917372a7
102 changed files with 710 additions and 246 deletions

View File

@@ -11,6 +11,7 @@ namespace Flarum\Tests\integration\admin;
use Flarum\Testing\integration\RetrievesAuthorizedUsers;
use Flarum\Testing\integration\TestCase;
use Flarum\User\User;
class IndexTest extends TestCase
{
@@ -22,7 +23,7 @@ class IndexTest extends TestCase
protected function setUp(): void
{
$this->prepareDatabase([
'users' => [
User::class => [
$this->normalUser()
]
]);

View File

@@ -27,7 +27,7 @@ class AccessTokenLifecycleTest extends TestCase
parent::setUp();
$this->prepareDatabase([
'access_tokens' => [
AccessToken::class => [
['token' => 'a', 'user_id' => 1, 'last_activity_at' => Carbon::parse('2021-01-01 02:00:00'), 'type' => 'session'],
['token' => 'b', 'user_id' => 1, 'last_activity_at' => Carbon::parse('2021-01-01 02:00:00'), 'type' => 'session_remember'],
['token' => 'c', 'user_id' => 1, 'last_activity_at' => Carbon::parse('2021-01-01 02:00:00'), 'type' => 'developer'],

View File

@@ -9,8 +9,10 @@
namespace Flarum\Tests\integration\api\access_tokens;
use Flarum\Group\Group;
use Flarum\Testing\integration\RetrievesAuthorizedUsers;
use Flarum\Testing\integration\TestCase;
use Flarum\User\User;
class CreateTest extends TestCase
{
@@ -24,12 +26,11 @@ class CreateTest extends TestCase
parent::setUp();
$this->prepareDatabase([
'users' => [
User::class => [
$this->normalUser(),
['id' => 3, 'username' => 'normal3', 'password' => '$2y$10$LO59tiT7uggl6Oe23o/O6.utnF6ipngYjvMvaxo1TciKqBttDNKim', 'email' => 'normal3@machine.local', 'is_email_confirmed' => 1]
],
'access_tokens' => [],
'groups' => [
Group::class => [
['id' => 10, 'name_plural' => 'Acme', 'name_singular' => 'Acme']
],
'group_user' => [

View File

@@ -10,12 +10,14 @@
namespace Flarum\Tests\integration\api\access_tokens;
use Carbon\Carbon;
use Flarum\Group\Group;
use Flarum\Http\AccessToken;
use Flarum\Http\DeveloperAccessToken;
use Flarum\Http\RememberAccessToken;
use Flarum\Http\SessionAccessToken;
use Flarum\Testing\integration\RetrievesAuthorizedUsers;
use Flarum\Testing\integration\TestCase;
use Flarum\User\User;
class DeleteTest extends TestCase
{
@@ -29,12 +31,12 @@ class DeleteTest extends TestCase
parent::setUp();
$this->prepareDatabase([
'users' => [
User::class => [
$this->normalUser(),
['id' => 3, 'username' => 'normal3', 'email' => 'normal3@machine.local', 'is_email_confirmed' => 1],
['id' => 4, 'username' => 'normal4', 'email' => 'normal4@machine.local', 'is_email_confirmed' => 1],
],
'access_tokens' => [
AccessToken::class => [
['id' => 1, 'token' => 'a', 'user_id' => 1, 'last_activity_at' => Carbon::parse('2021-01-01 02:00:00'), 'type' => 'session'],
['id' => 2, 'token' => 'b', 'user_id' => 1, 'last_activity_at' => Carbon::parse('2021-01-01 02:00:00'), 'type' => 'session_remember'],
['id' => 3, 'token' => 'c', 'user_id' => 1, 'last_activity_at' => Carbon::parse('2021-01-01 02:00:00'), 'type' => 'developer'],
@@ -42,7 +44,7 @@ class DeleteTest extends TestCase
['id' => 5, 'token' => 'e', 'user_id' => 2, 'last_activity_at' => Carbon::parse('2021-01-01 02:00:00'), 'type' => 'session'],
['id' => 6, 'token' => 'f', 'user_id' => 3, 'last_activity_at' => Carbon::parse('2021-01-01 02:00:00'), 'type' => 'developer'],
],
'groups' => [
Group::class => [
['id' => 100, 'name_singular' => 'test', 'name_plural' => 'test']
],
'group_user' => [

View File

@@ -10,9 +10,11 @@
namespace Flarum\Tests\integration\api\access_tokens;
use Carbon\Carbon;
use Flarum\Group\Group;
use Flarum\Http\AccessToken;
use Flarum\Testing\integration\RetrievesAuthorizedUsers;
use Flarum\Testing\integration\TestCase;
use Flarum\User\User;
use Illuminate\Support\Arr;
class ListTest extends TestCase
@@ -27,12 +29,12 @@ class ListTest extends TestCase
parent::setUp();
$this->prepareDatabase([
'users' => [
User::class => [
$this->normalUser(),
['id' => 3, 'username' => 'normal3', 'email' => 'normal3@machine.local', 'is_email_confirmed' => 1],
['id' => 4, 'username' => 'normal4', 'email' => 'normal4@machine.local', 'is_email_confirmed' => 1],
],
'access_tokens' => [
AccessToken::class => [
['id' => 1, 'token' => 'a', 'user_id' => 1, 'last_activity_at' => Carbon::parse('2021-01-01 02:00:00'), 'type' => 'session'],
['id' => 2, 'token' => 'b', 'user_id' => 1, 'last_activity_at' => Carbon::parse('2021-01-01 02:00:00'), 'type' => 'session_remember'],
['id' => 3, 'token' => 'c', 'user_id' => 1, 'last_activity_at' => Carbon::parse('2021-01-01 02:00:00'), 'type' => 'developer'],
@@ -40,7 +42,7 @@ class ListTest extends TestCase
['id' => 5, 'token' => 'e', 'user_id' => 2, 'last_activity_at' => Carbon::parse('2021-01-01 02:00:00'), 'type' => 'developer'],
['id' => 6, 'token' => 'f', 'user_id' => 3, 'last_activity_at' => Carbon::parse('2021-01-01 02:00:00'), 'type' => 'developer'],
],
'groups' => [
Group::class => [
['id' => 100, 'name_singular' => 'test', 'name_plural' => 'test']
],
'group_user' => [

View File

@@ -10,6 +10,7 @@
namespace Flarum\Tests\integration\api\access_tokens;
use Carbon\Carbon;
use Flarum\Http\AccessToken;
use Flarum\Testing\integration\RetrievesAuthorizedUsers;
use Flarum\Testing\integration\TestCase;
@@ -25,7 +26,7 @@ class RemembererTest extends TestCase
parent::setUp();
$this->prepareDatabase([
'access_tokens' => [
AccessToken::class => [
['token' => 'a', 'user_id' => 1, 'last_activity_at' => Carbon::parse('2021-01-01 02:00:00'), 'type' => 'session'],
['token' => 'b', 'user_id' => 1, 'last_activity_at' => Carbon::parse('2021-01-01 02:00:00'), 'type' => 'session_remember'],
],

View File

@@ -13,6 +13,7 @@ use Carbon\Carbon;
use Flarum\Api\ApiKey;
use Flarum\Testing\integration\RetrievesAuthorizedUsers;
use Flarum\Testing\integration\TestCase;
use Flarum\User\User;
class WithApiKeyTest extends TestCase
{
@@ -26,10 +27,10 @@ class WithApiKeyTest extends TestCase
parent::setUp();
$this->prepareDatabase([
'users' => [
User::class => [
$this->normalUser(),
],
'api_keys' => [
ApiKey::class => [
['key' => 'mastertoken', 'user_id' => null, 'created_at' => Carbon::now()->toDateTimeString()],
['key' => 'personaltoken', 'user_id' => 2, 'created_at' => Carbon::now()->toDateTimeString()],
]

View File

@@ -12,6 +12,7 @@ namespace Flarum\Tests\integration\api\authentication;
use Flarum\Http\AccessToken;
use Flarum\Testing\integration\RetrievesAuthorizedUsers;
use Flarum\Testing\integration\TestCase;
use Flarum\User\User;
class WithTokenTest extends TestCase
{
@@ -25,7 +26,7 @@ class WithTokenTest extends TestCase
parent::setUp();
$this->prepareDatabase([
'users' => [
User::class => [
$this->normalUser(),
],
]);

View File

@@ -9,6 +9,8 @@
namespace Flarum\Tests\integration\api\csrf_protection;
use Flarum\Api\ApiKey;
use Flarum\Http\AccessToken;
use Flarum\Testing\integration\RetrievesAuthorizedUsers;
use Flarum\Testing\integration\TestCase;
@@ -24,7 +26,7 @@ class RequireCsrfTokenTest extends TestCase
parent::setUp();
$this->prepareDatabase([
'api_keys' => [
ApiKey::class => [
['user_id' => 1, 'key' => 'superadmin'],
]
]);
@@ -192,7 +194,7 @@ class RequireCsrfTokenTest extends TestCase
public function access_token_does_not_need_csrf_token()
{
$this->database()->table('access_tokens')->insert(
['token' => 'myaccesstoken', 'user_id' => 1, 'type' => 'developer']
AccessToken::factory()->raw(['token' => 'myaccesstoken', 'user_id' => 1, 'type' => 'developer'])
);
$response = $this->send(

View File

@@ -12,6 +12,7 @@ namespace Flarum\Tests\integration\api\discussions;
use Flarum\Discussion\Discussion;
use Flarum\Testing\integration\RetrievesAuthorizedUsers;
use Flarum\Testing\integration\TestCase;
use Flarum\User\User;
use Illuminate\Support\Arr;
class CreateTest extends TestCase
@@ -26,7 +27,7 @@ class CreateTest extends TestCase
parent::setUp();
$this->prepareDatabase([
'users' => [
User::class => [
$this->normalUser(),
]
]);

View File

@@ -10,8 +10,11 @@
namespace Flarum\Tests\integration\api\discussions;
use Carbon\Carbon;
use Flarum\Discussion\Discussion;
use Flarum\Post\Post;
use Flarum\Testing\integration\RetrievesAuthorizedUsers;
use Flarum\Testing\integration\TestCase;
use Flarum\User\User;
class DeletionTest extends TestCase
{
@@ -25,13 +28,13 @@ class DeletionTest extends TestCase
parent::setUp();
$this->prepareDatabase([
'discussions' => [
Discussion::class => [
['id' => 1, 'title' => __CLASS__, 'created_at' => Carbon::now()->toDateTimeString(), 'user_id' => 2],
],
'posts' => [
Post::class => [
['id' => 1, 'discussion_id' => 1, 'created_at' => Carbon::now()->toDateTimeString(), 'user_id' => 2, 'type' => 'comment', 'content' => '<t><p>foo bar</p></t>'],
],
'users' => [
User::class => [
$this->normalUser(),
],
]);
@@ -51,7 +54,7 @@ class DeletionTest extends TestCase
$this->assertEquals(204, $response->getStatusCode());
// Ensure both the database and the corresponding post are deleted
// Ensure both the discussion and the corresponding post are deleted
$this->assertNull($this->database()->table('discussions')->find(1), 'Discussion exists in the DB');
$this->assertNull($this->database()->table('posts')->find(1), 'Post exists in the DB');
}

View File

@@ -10,6 +10,8 @@
namespace Flarum\Tests\integration\api\discussions;
use Carbon\Carbon;
use Flarum\Discussion\Discussion;
use Flarum\Post\Post;
use Flarum\Testing\integration\RetrievesAuthorizedUsers;
use Flarum\Testing\integration\TestCase;
use Flarum\User\User;
@@ -27,19 +29,19 @@ class ListTest extends TestCase
parent::setUp();
$this->prepareDatabase([
'discussions' => [
Discussion::class => [
['id' => 1, 'title' => __CLASS__, 'created_at' => Carbon::createFromDate(1975, 5, 21)->toDateTimeString(), 'last_posted_at' => Carbon::createFromDate(1975, 5, 21)->toDateTimeString(), 'user_id' => 1, 'first_post_id' => 1, 'comment_count' => 1],
['id' => 2, 'title' => 'lightsail in title', 'created_at' => Carbon::createFromDate(1985, 5, 21)->toDateTimeString(), 'last_posted_at' => Carbon::createFromDate(1985, 5, 21)->toDateTimeString(), 'user_id' => 2, 'comment_count' => 1],
['id' => 3, 'title' => 'not in title', 'created_at' => Carbon::createFromDate(1995, 5, 21)->toDateTimeString(), 'last_posted_at' => Carbon::createFromDate(1995, 5, 21)->toDateTimeString(), 'user_id' => 2, 'comment_count' => 1],
['id' => 4, 'title' => 'hidden', 'created_at' => Carbon::createFromDate(2005, 5, 21)->toDateTimeString(), 'last_posted_at' => Carbon::createFromDate(2005, 5, 21)->toDateTimeString(), 'hidden_at' => Carbon::now()->toDateTimeString(), 'user_id' => 1, 'comment_count' => 1],
],
'posts' => [
Post::class => [
['id' => 1, 'discussion_id' => 1, 'created_at' => Carbon::createFromDate(1975, 5, 21)->toDateTimeString(), 'user_id' => 1, 'type' => 'comment', 'content' => '<t><p>foo bar</p></t>'],
['id' => 2, 'discussion_id' => 2, 'created_at' => Carbon::createFromDate(1985, 5, 21)->toDateTimeString(), 'user_id' => 2, 'type' => 'comment', 'content' => '<t><p>not in text</p></t>'],
['id' => 3, 'discussion_id' => 3, 'created_at' => Carbon::createFromDate(1995, 5, 21)->toDateTimeString(), 'user_id' => 2, 'type' => 'comment', 'content' => '<t><p>lightsail in text</p></t>'],
['id' => 4, 'discussion_id' => 4, 'created_at' => Carbon::createFromDate(2005, 5, 21)->toDateTimeString(), 'user_id' => 1, 'type' => 'comment', 'content' => '<t><p>lightsail in text</p></t>'],
],
'users' => [
User::class => [
$this->normalUser(),
]
]);

View File

@@ -10,6 +10,8 @@
namespace Flarum\Tests\integration\api\discussions;
use Carbon\Carbon;
use Flarum\Discussion\Discussion;
use Flarum\Post\Post;
use Flarum\Testing\integration\RetrievesAuthorizedUsers;
use Flarum\Testing\integration\TestCase;
use Illuminate\Support\Arr;
@@ -30,24 +32,24 @@ class ListWithFulltextSearchTest extends TestCase
// We need to insert these outside of a transaction, because FULLTEXT indexing,
// which is needed for search, doesn't happen in transactions.
// We clean it up explcitly at the end.
$this->database()->table('discussions')->insert([
['id' => 1, 'title' => 'lightsail in title', 'created_at' => Carbon::now()->toDateTimeString(), 'user_id' => 1, 'comment_count' => 1],
['id' => 2, 'title' => 'lightsail in title too', 'created_at' => Carbon::createFromDate(2020, 01, 01)->toDateTimeString(), 'user_id' => 1, 'comment_count' => 1],
['id' => 3, 'title' => 'not in title either', 'created_at' => Carbon::now()->toDateTimeString(), 'user_id' => 1, 'comment_count' => 1],
['id' => 4, 'title' => 'not in title or text', 'created_at' => Carbon::now()->toDateTimeString(), 'user_id' => 1, 'comment_count' => 1],
['id' => 5, 'title' => 'తెలుగు', 'created_at' => Carbon::now()->toDateTimeString(), 'user_id' => 1, 'comment_count' => 1],
['id' => 6, 'title' => '支持中文吗', 'created_at' => Carbon::now()->toDateTimeString(), 'user_id' => 1, 'comment_count' => 1],
]);
$this->database()->table('discussions')->insert($this->rowsThroughFactory(Discussion::class, [
['id' => 1, 'title' => 'lightsail in title', 'user_id' => 1],
['id' => 2, 'title' => 'lightsail in title too', 'created_at' => Carbon::createFromDate(2020, 01, 01)->toDateTimeString(), 'user_id' => 1],
['id' => 3, 'title' => 'not in title either', 'user_id' => 1],
['id' => 4, 'title' => 'not in title or text', 'user_id' => 1],
['id' => 5, 'title' => 'తెలుగు', 'user_id' => 1],
['id' => 6, 'title' => '支持中文吗', 'user_id' => 1],
]));
$this->database()->table('posts')->insert([
['id' => 1, 'discussion_id' => 1, 'created_at' => Carbon::now()->toDateTimeString(), 'user_id' => 1, 'type' => 'comment', 'content' => '<t><p>not in text</p></t>'],
['id' => 2, 'discussion_id' => 2, 'created_at' => Carbon::now()->toDateTimeString(), 'user_id' => 1, 'type' => 'comment', 'content' => '<t><p>lightsail in text</p></t>'],
['id' => 3, 'discussion_id' => 2, 'created_at' => Carbon::now()->toDateTimeString(), 'user_id' => 1, 'type' => 'comment', 'content' => '<t><p>another lightsail for discussion 2!</p></t>'],
['id' => 4, 'discussion_id' => 3, 'created_at' => Carbon::now()->toDateTimeString(), 'user_id' => 1, 'type' => 'comment', 'content' => '<t><p>just one lightsail for discussion 3.</p></t>'],
['id' => 5, 'discussion_id' => 4, 'created_at' => Carbon::now()->toDateTimeString(), 'user_id' => 1, 'type' => 'comment', 'content' => '<t><p>not in title or text</p></t>'],
['id' => 6, 'discussion_id' => 4, 'created_at' => Carbon::now()->toDateTimeString(), 'user_id' => 1, 'type' => 'comment', 'content' => '<t><p>తెలుగు</p></t>'],
['id' => 7, 'discussion_id' => 2, 'created_at' => Carbon::now()->toDateTimeString(), 'user_id' => 1, 'type' => 'comment', 'content' => '<t><p>支持中文吗</p></t>'],
]);
$this->database()->table('posts')->insert($this->rowsThroughFactory(Post::class, [
['id' => 1, 'discussion_id' => 1, 'user_id' => 1, 'content' => '<t><p>not in text</p></t>'],
['id' => 2, 'discussion_id' => 2, 'user_id' => 1, 'content' => '<t><p>lightsail in text</p></t>'],
['id' => 3, 'discussion_id' => 2, 'user_id' => 1, 'content' => '<t><p>another lightsail for discussion 2!</p></t>'],
['id' => 4, 'discussion_id' => 3, 'user_id' => 1, 'content' => '<t><p>just one lightsail for discussion 3.</p></t>'],
['id' => 5, 'discussion_id' => 4, 'user_id' => 1, 'content' => '<t><p>not in title or text</p></t>'],
['id' => 6, 'discussion_id' => 4, 'user_id' => 1, 'content' => '<t><p>తెలుగు</p></t>'],
['id' => 7, 'discussion_id' => 2, 'user_id' => 1, 'content' => '<t><p>支持中文吗</p></t>'],
]));
// We need to call these again, since we rolled back the transaction started by `::app()`.
$this->database()->beginTransaction();

View File

@@ -10,8 +10,11 @@
namespace Flarum\Tests\integration\api\discussions;
use Carbon\Carbon;
use Flarum\Discussion\Discussion;
use Flarum\Post\Post;
use Flarum\Testing\integration\RetrievesAuthorizedUsers;
use Flarum\Testing\integration\TestCase;
use Flarum\User\User;
use Illuminate\Support\Arr;
class ShowTest extends TestCase
@@ -26,17 +29,17 @@ class ShowTest extends TestCase
parent::setUp();
$this->prepareDatabase([
'discussions' => [
Discussion::class => [
['id' => 1, 'title' => 'Empty discussion', 'created_at' => Carbon::now()->toDateTimeString(), 'user_id' => 2, 'first_post_id' => null, 'comment_count' => 0, 'is_private' => 0],
['id' => 2, 'title' => 'Discussion with post', 'created_at' => Carbon::now()->toDateTimeString(), 'user_id' => 2, 'first_post_id' => 1, 'comment_count' => 1, 'is_private' => 0],
['id' => 3, 'title' => 'Private discussion', 'created_at' => Carbon::now()->toDateTimeString(), 'user_id' => 2, 'first_post_id' => null, 'comment_count' => 0, 'is_private' => 1],
['id' => 4, 'title' => 'Discussion with hidden post', 'created_at' => Carbon::now()->toDateTimeString(), 'user_id' => 2, 'first_post_id' => 2, 'comment_count' => 1, 'is_private' => 0],
],
'posts' => [
Post::class => [
['id' => 1, 'discussion_id' => 2, 'created_at' => Carbon::now()->toDateTimeString(), 'user_id' => 2, 'type' => 'comment', 'content' => '<t><p>a normal reply - too-obscure</p></t>'],
['id' => 2, 'discussion_id' => 4, 'created_at' => Carbon::now()->toDateTimeString(), 'user_id' => 2, 'type' => 'comment', 'content' => '<t><p>a hidden reply - too-obscure</p></t>', 'hidden_at' => Carbon::now()->toDateTimeString()],
],
'users' => [
User::class => [
$this->normalUser(),
]
]);

View File

@@ -11,6 +11,7 @@ namespace Flarum\Tests\integration\api\forum;
use Flarum\Testing\integration\RetrievesAuthorizedUsers;
use Flarum\Testing\integration\TestCase;
use Flarum\User\User;
use Illuminate\Support\Arr;
class ShowTest extends TestCase
@@ -25,7 +26,7 @@ class ShowTest extends TestCase
parent::setUp();
$this->prepareDatabase([
'users' => [
User::class => [
$this->normalUser(),
]
]);

View File

@@ -12,6 +12,7 @@ namespace Flarum\Tests\integration\api\groups;
use Flarum\Group\Group;
use Flarum\Testing\integration\RetrievesAuthorizedUsers;
use Flarum\Testing\integration\TestCase;
use Flarum\User\User;
use Illuminate\Support\Arr;
class CreateTest extends TestCase
@@ -26,7 +27,7 @@ class CreateTest extends TestCase
parent::setUp();
$this->prepareDatabase([
'users' => [
User::class => [
$this->normalUser(),
],
]);

View File

@@ -9,6 +9,7 @@
namespace Flarum\Tests\integration\api\groups;
use Flarum\Group\Group;
use Flarum\Testing\integration\RetrievesAuthorizedUsers;
use Flarum\Testing\integration\TestCase;
use Illuminate\Support\Arr;
@@ -25,7 +26,7 @@ class ListTest extends TestCase
parent::setUp();
$this->prepareDatabase([
'groups' => [
Group::class => [
$this->hiddenGroup(),
],
]);

View File

@@ -9,6 +9,7 @@
namespace Flarum\Tests\integration\api\groups;
use Flarum\Group\Group;
use Flarum\Testing\integration\RetrievesAuthorizedUsers;
use Flarum\Testing\integration\TestCase;
use Illuminate\Support\Arr;
@@ -25,7 +26,7 @@ class ShowTest extends TestCase
parent::setUp();
$this->prepareDatabase([
'groups' => [
Group::class => [
$this->hiddenGroup(),
],
]);

View File

@@ -10,6 +10,7 @@
namespace Flarum\Tests\integration\api\notifications;
use Carbon\Carbon;
use Flarum\Discussion\Discussion;
use Flarum\Testing\integration\RetrievesAuthorizedUsers;
use Flarum\Testing\integration\TestCase;
use Flarum\User\User;
@@ -26,20 +27,20 @@ class DeleteTest extends TestCase
parent::setUp();
$this->prepareDatabase([
'users' => [
User::class => [
$this->normalUser(),
],
'discussions' => [
Discussion::class => [
['id' => 1, 'title' => 'Test Discussion', 'user_id' => 2, 'comment_count' => 1],
['id' => 2, 'title' => 'Test Discussion', 'user_id' => 2, 'comment_count' => 1],
['id' => 3, 'title' => 'Test Discussion', 'user_id' => 1, 'comment_count' => 1],
['id' => 4, 'title' => 'Test Discussion', 'user_id' => 1, 'comment_count' => 1],
],
'notifications' => [
['id' => 1, 'user_id' => 1, 'type' => 'discussionRenamed', 'subject_id' => 1, 'from_user_id' => 2, 'read_at' => Carbon::now()],
['id' => 2, 'user_id' => 1, 'type' => 'discussionRenamed', 'subject_id' => 2, 'from_user_id' => 2, 'read_at' => null],
['id' => 3, 'user_id' => 2, 'type' => 'discussionRenamed', 'subject_id' => 3, 'from_user_id' => 1, 'read_at' => Carbon::now()],
['id' => 4, 'user_id' => 2, 'type' => 'discussionRenamed', 'subject_id' => 4, 'from_user_id' => 1, 'read_at' => null],
['id' => 1, 'user_id' => 1, 'type' => 'discussionRenamed', 'subject_id' => 1, 'from_user_id' => 2, 'read_at' => Carbon::now(), 'created_at' => Carbon::now()],
['id' => 2, 'user_id' => 1, 'type' => 'discussionRenamed', 'subject_id' => 2, 'from_user_id' => 2, 'read_at' => null, 'created_at' => Carbon::now()],
['id' => 3, 'user_id' => 2, 'type' => 'discussionRenamed', 'subject_id' => 3, 'from_user_id' => 1, 'read_at' => Carbon::now(), 'created_at' => Carbon::now()],
['id' => 4, 'user_id' => 2, 'type' => 'discussionRenamed', 'subject_id' => 4, 'from_user_id' => 1, 'read_at' => null, 'created_at' => Carbon::now()],
],
]);
}

View File

@@ -11,6 +11,7 @@ namespace Flarum\Tests\integration\api\notifications;
use Flarum\Testing\integration\RetrievesAuthorizedUsers;
use Flarum\Testing\integration\TestCase;
use Flarum\User\User;
class ListTest extends TestCase
{
@@ -24,7 +25,7 @@ class ListTest extends TestCase
parent::setUp();
$this->prepareDatabase([
'users' => [
User::class => [
$this->normalUser(),
],
]);

View File

@@ -10,9 +10,12 @@
namespace Flarum\Tests\integration\api\posts;
use Carbon\Carbon;
use Flarum\Discussion\Discussion;
use Flarum\Group\Group;
use Flarum\Post\Post;
use Flarum\Testing\integration\RetrievesAuthorizedUsers;
use Flarum\Testing\integration\TestCase;
use Flarum\User\User;
class CreateTest extends TestCase
{
@@ -26,19 +29,19 @@ class CreateTest extends TestCase
parent::setUp();
$this->prepareDatabase([
'discussions' => [
Discussion::class => [
['id' => 1, 'title' => __CLASS__, 'created_at' => Carbon::now()->toDateTimeString(), 'user_id' => 2, 'first_post_id' => 1],
// Discussion with deleted first post.
['id' => 2, 'title' => __CLASS__, 'created_at' => Carbon::now()->toDateTimeString(), 'user_id' => 2, 'first_post_id' => null],
],
'posts' => [
Post::class => [
['id' => 1, 'discussion_id' => 1, 'number' => 1, 'created_at' => Carbon::now()->subDay()->toDateTimeString(), 'user_id' => 2, 'type' => 'comment', 'content' => '<t></t>'],
],
'users' => [
User::class => [
$this->normalUser(),
['id' => 3, 'username' => 'restricted', 'email' => 'restricted@machine.local', 'is_email_confirmed' => 1],
],
'groups' => [
Group::class => [
['id' => 40, 'name_singular' => 'tess', 'name_plural' => 'tess'],
],
'group_user' => [

View File

@@ -10,9 +10,12 @@
namespace Flarum\Tests\integration\api\posts;
use Carbon\Carbon;
use Flarum\Discussion\Discussion;
use Flarum\Discussion\UserState;
use Flarum\Post\Post;
use Flarum\Testing\integration\RetrievesAuthorizedUsers;
use Flarum\Testing\integration\TestCase;
use Flarum\User\User;
class DeleteTest extends TestCase
{
@@ -26,14 +29,14 @@ class DeleteTest extends TestCase
parent::setUp();
$this->prepareDatabase([
'users' => [
User::class => [
['id' => 3, 'username' => 'acme', 'email' => 'acme@machine.local', 'is_email_confirmed' => 1],
['id' => 4, 'username' => 'acme2', 'email' => 'acme2@machine.local', 'is_email_confirmed' => 1],
],
'discussions' => [
Discussion::class => [
['id' => 3, 'title' => __CLASS__, 'created_at' => Carbon::now(), 'last_posted_at' => Carbon::now(), 'user_id' => 2, 'first_post_id' => 1, 'comment_count' => 5, 'last_post_number' => 5, 'last_post_id' => 10],
],
'posts' => [
Post::class => [
['id' => 5, 'discussion_id' => 3, 'created_at' => Carbon::createFromDate(1975, 5, 21)->toDateTimeString(), 'user_id' => 2, 'type' => 'comment', 'content' => '<t><p>foo bar</p></t>', 'number' => 1],
['id' => 6, 'discussion_id' => 3, 'created_at' => Carbon::createFromDate(1975, 5, 21)->toDateTimeString(), 'user_id' => 1, 'type' => 'comment', 'content' => '<t><p>foo bar</p></t>', 'number' => 2],
['id' => 7, 'discussion_id' => 3, 'created_at' => Carbon::createFromDate(1975, 5, 21)->toDateTimeString(), 'user_id' => 1, 'type' => 'comment', 'content' => '<t><p>foo bar</p></t>', 'number' => 3],

View File

@@ -10,8 +10,11 @@
namespace Flarum\Tests\integration\api\posts;
use Carbon\Carbon;
use Flarum\Discussion\Discussion;
use Flarum\Post\Post;
use Flarum\Testing\integration\RetrievesAuthorizedUsers;
use Flarum\Testing\integration\TestCase;
use Flarum\User\User;
use Illuminate\Support\Arr;
class ListTest extends TestCase
@@ -23,18 +26,18 @@ class ListTest extends TestCase
parent::setUp();
$this->prepareDatabase([
'discussions' => [
Discussion::class => [
['id' => 1, 'title' => __CLASS__, 'created_at' => Carbon::now(), 'last_posted_at' => Carbon::now(), 'user_id' => 1, 'first_post_id' => 1, 'comment_count' => 2],
['id' => 2, 'title' => __CLASS__, 'created_at' => Carbon::now(), 'last_posted_at' => Carbon::now(), 'user_id' => 2, 'first_post_id' => 1, 'comment_count' => 2],
],
'posts' => [
Post::class => [
['id' => 1, 'number' => 1, 'discussion_id' => 1, 'created_at' => Carbon::now(), 'user_id' => 1, 'type' => 'comment', 'content' => '<t><p>something</p></t>'],
['id' => 2, 'number' => 1, 'discussion_id' => 2, 'created_at' => Carbon::now(), 'user_id' => 1, 'type' => 'comment', 'content' => '<t><p>something</p></t>'],
['id' => 3, 'number' => 2, 'discussion_id' => 1, 'created_at' => Carbon::now(), 'user_id' => 2, 'type' => 'comment', 'content' => '<t><p>something</p></t>'],
['id' => 4, 'number' => 2, 'discussion_id' => 2, 'created_at' => Carbon::now(), 'user_id' => 2, 'type' => 'comment', 'content' => '<t><p>something</p></t>'],
['id' => 5, 'number' => 3, 'discussion_id' => 2, 'created_at' => Carbon::now(), 'user_id' => 2, 'type' => 'discussionRenamed', 'content' => '<t><p>something</p></t>'],
],
'users' => [
User::class => [
$this->normalUser(),
],
]);

View File

@@ -10,8 +10,11 @@
namespace Flarum\Tests\integration\api\posts;
use Carbon\Carbon;
use Flarum\Discussion\Discussion;
use Flarum\Post\Post;
use Flarum\Testing\integration\RetrievesAuthorizedUsers;
use Flarum\Testing\integration\TestCase;
use Flarum\User\User;
class ShowTest extends TestCase
{
@@ -25,14 +28,14 @@ class ShowTest extends TestCase
parent::setUp();
$this->prepareDatabase([
'discussions' => [
Discussion::class => [
['id' => 1, 'title' => 'Discussion with post', 'created_at' => Carbon::now()->toDateTimeString(), 'user_id' => 2, 'first_post_id' => 1, 'comment_count' => 1, 'is_private' => 0],
],
'posts' => [
Post::class => [
['id' => 1, 'discussion_id' => 1, 'created_at' => Carbon::now()->toDateTimeString(), 'user_id' => 2, 'type' => 'comment', 'content' => '<t><p>valid</p></t>'],
['id' => 2, 'discussion_id' => 1, 'created_at' => Carbon::now()->toDateTimeString(), 'user_id' => 2, 'type' => 'comment', 'content' => '<tMALFORMED'],
],
'users' => [
User::class => [
$this->normalUser(),
]
]);

View File

@@ -11,6 +11,7 @@ namespace Flarum\Tests\integration\api\settings;
use Flarum\Testing\integration\RetrievesAuthorizedUsers;
use Flarum\Testing\integration\TestCase;
use Flarum\User\User;
class SetTest extends TestCase
{
@@ -24,7 +25,7 @@ class SetTest extends TestCase
parent::setUp();
$this->prepareDatabase([
'users' => [
User::class => [
$this->normalUser(),
],
]);

View File

@@ -22,7 +22,7 @@ class DeleteTest extends TestCase
parent::setUp();
$this->prepareDatabase([
'users' => [
User::class => [
$this->normalUser(),
['id' => 3, 'username' => 'ken', 'is_email_confirmed' => 1],
],

View File

@@ -9,8 +9,10 @@
namespace Flarum\Tests\integration\api\users;
use Flarum\Group\Group;
use Flarum\Testing\integration\RetrievesAuthorizedUsers;
use Flarum\Testing\integration\TestCase;
use Flarum\User\User;
class GroupSearchTest extends TestCase
{
@@ -21,7 +23,7 @@ class GroupSearchTest extends TestCase
parent::setUp();
$this->prepareDatabase([
'users' => [
User::class => [
$this->normalUser(),
],
]);
@@ -243,7 +245,7 @@ class GroupSearchTest extends TestCase
private function createMultipleUsersAndGroups()
{
$this->prepareDatabase([
'users' => [
User::class => [
[
'id' => 4,
'username' => 'normal4',
@@ -266,7 +268,7 @@ class GroupSearchTest extends TestCase
'is_email_confirmed' => 1,
],
],
'groups' => [
Group::class => [
[
'id' => 5,
'name_singular' => 'test1 user',
@@ -300,7 +302,7 @@ class GroupSearchTest extends TestCase
private function createHiddenUser()
{
$this->prepareDatabase([
'users' => [
User::class => [
[
'id' => 3,
'username' => 'normal2',
@@ -309,7 +311,7 @@ class GroupSearchTest extends TestCase
'is_email_confirmed' => 1,
],
],
'groups' => [
Group::class => [
[
'id' => 99,
'name_singular' => 'hidden user',

View File

@@ -11,6 +11,7 @@ namespace Flarum\Tests\integration\api\users;
use Flarum\Testing\integration\RetrievesAuthorizedUsers;
use Flarum\Testing\integration\TestCase;
use Flarum\User\User;
use Illuminate\Support\Arr;
class ListTest extends TestCase
@@ -25,7 +26,7 @@ class ListTest extends TestCase
parent::setUp();
$this->prepareDatabase([
'users' => [
User::class => [
$this->normalUser(),
],
]);

View File

@@ -13,6 +13,7 @@ use Flarum\Testing\integration\RetrievesAuthorizedUsers;
use Flarum\Testing\integration\TestCase;
use Flarum\User\EmailToken;
use Flarum\User\PasswordToken;
use Flarum\User\User;
class PasswordEmailTokensTest extends TestCase
{
@@ -23,7 +24,7 @@ class PasswordEmailTokensTest extends TestCase
parent::setUp();
$this->prepareDatabase([
'users' => [
User::class => [
$this->normalUser(),
],
]);

View File

@@ -12,6 +12,7 @@ namespace Flarum\Tests\integration\api\users;
use Carbon\Carbon;
use Flarum\Testing\integration\TestCase;
use Flarum\User\Throttler\EmailActivationThrottler;
use Flarum\User\User;
class SendActivationEmailTest extends TestCase
{
@@ -20,7 +21,7 @@ class SendActivationEmailTest extends TestCase
parent::setUp();
$this->prepareDatabase([
'users' => [
User::class => [
[
'id' => 3,
'username' => 'normal2',

View File

@@ -12,6 +12,7 @@ namespace Flarum\Tests\integration\api\users;
use Carbon\Carbon;
use Flarum\Testing\integration\TestCase;
use Flarum\User\Throttler\PasswordResetThrottler;
use Flarum\User\User;
class SendPasswordResetEmailTest extends TestCase
{
@@ -20,7 +21,7 @@ class SendPasswordResetEmailTest extends TestCase
parent::setUp();
$this->prepareDatabase([
'users' => [
User::class => [
[
'id' => 3,
'username' => 'normal2',

View File

@@ -11,6 +11,7 @@ namespace Flarum\Tests\integration\api\users;
use Flarum\Testing\integration\RetrievesAuthorizedUsers;
use Flarum\Testing\integration\TestCase;
use Flarum\User\User;
class ShowTest extends TestCase
{
@@ -24,7 +25,7 @@ class ShowTest extends TestCase
parent::setUp();
$this->prepareDatabase([
'users' => [
User::class => [
$this->normalUser(),
],
]);

View File

@@ -27,7 +27,7 @@ class UpdateTest extends TestCase
parent::setUp();
$this->prepareDatabase([
'users' => [
User::class => [
$this->normalUser(),
[
'id' => 3,

View File

@@ -41,15 +41,15 @@ class ApiControllerTest extends TestCase
parent::setUp();
$this->prepareDatabase([
'users' => [
User::class => [
$this->normalUser()
],
'discussions' => [
Discussion::class => [
['id' => 1, 'title' => 'Custom Discussion Title', 'created_at' => Carbon::now()->toDateTimeString(), 'user_id' => 2, 'first_post_id' => 0, 'comment_count' => 1, 'is_private' => 0],
['id' => 2, 'title' => 'Custom Discussion Title', 'created_at' => Carbon::now()->toDateTimeString(), 'user_id' => 3, 'first_post_id' => 0, 'comment_count' => 1, 'is_private' => 0],
['id' => 3, 'title' => 'Custom Discussion Title', 'created_at' => Carbon::now()->toDateTimeString(), 'user_id' => 1, 'first_post_id' => 0, 'comment_count' => 1, 'is_private' => 0],
],
'posts' => [
Post::class => [
['id' => 1, 'discussion_id' => 3, 'created_at' => Carbon::now()->toDateTimeString(), 'user_id' => 2, 'type' => 'discussionRenamed', 'content' => '<t><p>can i haz relationz?</p></t>'],
['id' => 2, 'discussion_id' => 2, 'created_at' => Carbon::now()->toDateTimeString(), 'user_id' => 2, 'type' => 'discussionRenamed', 'content' => '<t><p>can i haz relationz?</p></t>'],
['id' => 3, 'discussion_id' => 1, 'created_at' => Carbon::now()->toDateTimeString(), 'user_id' => 1, 'type' => 'discussionRenamed', 'content' => '<t><p>can i haz relationz?</p></t>'],
@@ -306,7 +306,7 @@ class ApiControllerTest extends TestCase
->setSerializer(CustomPostSerializer::class, CustomApiControllerInvokableClass::class)
);
$this->prepareDatabase([
'posts' => [
Post::class => [
['id' => 1, 'discussion_id' => 1, 'created_at' => Carbon::now()->toDateTimeString(), 'user_id' => 2, 'type' => 'comment', 'content' => '<t><p>foo bar</p></t>'],
],
]);

View File

@@ -36,15 +36,15 @@ class ApiSerializerTest extends TestCase
parent::setUp();
$this->prepareDatabase([
'users' => [
User::class => [
$this->normalUser()
],
'discussions' => [
Discussion::class => [
['id' => 1, 'title' => 'Custom Discussion Title', 'created_at' => Carbon::now()->toDateTimeString(), 'user_id' => 2, 'first_post_id' => 0, 'comment_count' => 1, 'is_private' => 0],
['id' => 2, 'title' => 'Custom Discussion Title', 'created_at' => Carbon::now()->toDateTimeString(), 'user_id' => 2, 'first_post_id' => 0, 'comment_count' => 1, 'is_private' => 0],
['id' => 3, 'title' => 'Custom Discussion Title', 'created_at' => Carbon::now()->toDateTimeString(), 'user_id' => 2, 'first_post_id' => 0, 'comment_count' => 1, 'is_private' => 0],
],
'posts' => [
Post::class => [
['id' => 1, 'discussion_id' => 3, 'created_at' => Carbon::now()->toDateTimeString(), 'user_id' => 2, 'type' => 'discussionRenamed', 'content' => '<t><p>can i haz relationz?</p></t>'],
],
]);

View File

@@ -9,11 +9,14 @@
namespace Flarum\Tests\integration\extenders;
use Flarum\Discussion\Discussion;
use Flarum\Extend\Frontend;
use Flarum\Frontend\Document;
use Flarum\Frontend\Driver\TitleDriverInterface;
use Flarum\Post\Post;
use Flarum\Testing\integration\RetrievesAuthorizedUsers;
use Flarum\Testing\integration\TestCase;
use Flarum\User\User;
use Psr\Http\Message\ServerRequestInterface;
class FrontendTitleTest extends TestCase
@@ -23,13 +26,13 @@ class FrontendTitleTest extends TestCase
protected function setUp(): void
{
$this->prepareDatabase([
'users' => [
User::class => [
$this->normalUser(),
],
'discussions' => [
Discussion::class => [
['id' => 1, 'title' => 'Test Discussion', 'user_id' => 1, 'first_post_id' => 1]
],
'posts' => [
Post::class => [
['id' => 1, 'discussion_id' => 1, 'user_id' => 2, 'type' => 'comment', 'content' => '<t><p>can i haz potat?</p></t>'],
],
]);
@@ -59,9 +62,9 @@ class FrontendTitleTest extends TestCase
{
$response = $this->send($this->request('GET', '/d/1'));
preg_match('/\<title\>(?<title>[^<]+)\<\/title\>/m', $response->getBody()->getContents(), $matches);
preg_match('/\<title\>(?<title>[^<]+)\<\/title\>/m', $body = $response->getBody()->getContents(), $matches);
$this->assertEquals($title, $matches['title']);
$this->assertEquals($title, $matches['title'] ?? null, $body);
}
}

View File

@@ -33,7 +33,7 @@ class ModelTest extends TestCase
parent::setUp();
$this->prepareDatabase([
'users' => [
User::class => [
$this->normalUser(),
],
]);
@@ -42,10 +42,10 @@ class ModelTest extends TestCase
protected function prepPostsHierarchy()
{
$this->prepareDatabase([
'discussions' => [
Discussion::class => [
['id' => 1, 'title' => 'Discussion with post', 'created_at' => Carbon::now()->toDateTimeString(), 'user_id' => 2, 'first_post_id' => 1, 'comment_count' => 1, 'is_private' => 0],
],
'posts' => [
Post::class => [
['id' => 1, 'discussion_id' => 1, 'created_at' => Carbon::now()->toDateTimeString(), 'user_id' => 2, 'type' => 'discussionRenamed', 'content' => '<t><p>can i haz relationz?</p></t>'],
],
]);
@@ -164,7 +164,7 @@ class ModelTest extends TestCase
);
$this->prepareDatabase([
'discussions' => [
Discussion::class => [
['id' => 1, 'title' => __CLASS__, 'created_at' => Carbon::now()->toDateTimeString(), 'user_id' => 1, 'first_post_id' => 1, 'comment_count' => 1]
]
]);
@@ -310,7 +310,7 @@ class ModelTest extends TestCase
$group2 = new Group;
$this->assertEquals(1, $group1->counter);
$this->assertEquals(2, $group2->counter);
$this->assertEquals(3, $group2->counter);
}
/**

View File

@@ -33,7 +33,7 @@ class ModelUrlTest extends TestCase
$this->setting("slug_driver_$userClass", 'testDriver');
$this->prepareDatabase([
'users' => [
User::class => [
$this->normalUser(),
]
]);

View File

@@ -32,16 +32,16 @@ class ModelVisibilityTest extends TestCase
parent::setUp();
$this->prepareDatabase([
'discussions' => [
Discussion::class => [
['id' => 1, 'title' => 'Empty discussion', 'created_at' => Carbon::now()->toDateTimeString(), 'user_id' => 2, 'first_post_id' => null, 'comment_count' => 0, 'is_private' => 0],
['id' => 2, 'title' => 'Discussion with post', 'created_at' => Carbon::now()->toDateTimeString(), 'user_id' => 2, 'first_post_id' => 1, 'comment_count' => 1, 'is_private' => 0],
['id' => 3, 'title' => 'Private discussion', 'created_at' => Carbon::now()->toDateTimeString(), 'user_id' => 1, 'first_post_id' => 2, 'comment_count' => 1, 'is_private' => 1],
],
'posts' => [
Post::class => [
['id' => 1, 'discussion_id' => 2, 'created_at' => Carbon::now()->toDateTimeString(), 'user_id' => 2, 'type' => 'comment', 'content' => '<t><p>a normal reply - too-obscure</p></t>'],
['id' => 2, 'discussion_id' => 3, 'created_at' => Carbon::now()->toDateTimeString(), 'user_id' => 1, 'type' => 'comment', 'content' => '<t><p>private!</p></t>'],
],
'users' => [
User::class => [
$this->normalUser(),
]
]);

View File

@@ -144,7 +144,7 @@ class NotificationTest extends TestCase
);
$this->prepareDatabase([
'users' => [
User::class => [
$this->normalUser(),
['id' => 3, 'username' => 'hani']
],

View File

@@ -36,13 +36,13 @@ class PolicyTest extends TestCase
parent::setUp();
$this->prepareDatabase([
'users' => [
User::class => [
$this->normalUser(),
],
'discussions' => [
Discussion::class => [
['id' => 1, 'title' => 'Unrelated Discussion', 'created_at' => Carbon::now()->toDateTimeString(), 'user_id' => 1, 'first_post_id' => 1, 'comment_count' => 1, 'is_private' => 0],
],
'posts' => [
Post::class => [
['id' => 1, 'discussion_id' => 1, 'created_at' => Carbon::now()->toDateTimeString(), 'user_id' => 1, 'type' => 'comment', 'content' => '<t><p>a normal reply - too-obscure</p></t>'],
]
]);

View File

@@ -9,11 +9,11 @@
namespace Flarum\Tests\integration\extenders;
use Carbon\Carbon;
use Flarum\Discussion\Discussion;
use Flarum\Discussion\Search\DiscussionSearcher;
use Flarum\Discussion\Search\Filter\UnreadFilter;
use Flarum\Extend;
use Flarum\Post\Post;
use Flarum\Search\AbstractFulltextFilter;
use Flarum\Search\Database\DatabaseSearchDriver;
use Flarum\Search\Database\DatabaseSearchState;
@@ -37,13 +37,13 @@ class SearchDriverTest extends TestCase
// which is needed for search, doesn't happen in transactions.
// We clean it up explcitly at the end.
$this->database()->table('discussions')->insert([
['id' => 1, 'title' => 'DISCUSSION 1', 'created_at' => Carbon::now()->toDateTimeString(), 'user_id' => 1, 'comment_count' => 1],
['id' => 2, 'title' => 'DISCUSSION 2', 'created_at' => Carbon::now()->toDateTimeString(), 'user_id' => 1, 'comment_count' => 1],
Discussion::factory()->raw(['id' => 1, 'title' => 'DISCUSSION 1', 'user_id' => 1]),
Discussion::factory()->raw(['id' => 2, 'title' => 'DISCUSSION 2', 'user_id' => 1]),
]);
$this->database()->table('posts')->insert([
['id' => 1, 'discussion_id' => 1, 'created_at' => Carbon::now()->toDateTimeString(), 'user_id' => 1, 'type' => 'comment', 'content' => '<t><p>not in text</p></t>'],
['id' => 2, 'discussion_id' => 2, 'created_at' => Carbon::now()->toDateTimeString(), 'user_id' => 1, 'type' => 'comment', 'content' => '<t><p>lightsail in text</p></t>'],
Post::factory()->raw(['id' => 1, 'discussion_id' => 1, 'user_id' => 1, 'content' => '<t><p>not in text</p></t>']),
Post::factory()->raw(['id' => 2, 'discussion_id' => 2, 'user_id' => 1, 'content' => '<t><p>lightsail in text</p></t>']),
]);
// We need to call these again, since we rolled back the transaction started by `::app()`.

View File

@@ -13,6 +13,7 @@ use Carbon\Carbon;
use Flarum\Discussion\Discussion;
use Flarum\Extend;
use Flarum\Post\CommentPost;
use Flarum\Post\Post;
use Flarum\Search\IndexerInterface;
use Flarum\Testing\integration\RetrievesAuthorizedUsers;
use Flarum\Testing\integration\TestCase;
@@ -27,11 +28,11 @@ class SearchIndexTest extends TestCase
parent::setUp();
$this->prepareDatabase([
'discussions' => [
Discussion::class => [
['id' => 1, 'title' => 'DISCUSSION 1', 'created_at' => Carbon::now()->subDays(1)->toDateTimeString(), 'hidden_at' => null, 'comment_count' => 1, 'user_id' => 1, 'first_post_id' => 1],
['id' => 2, 'title' => 'DISCUSSION 2', 'created_at' => Carbon::now()->subDays(2)->toDateTimeString(), 'hidden_at' => Carbon::now(), 'comment_count' => 1, 'user_id' => 1],
],
'posts' => [
Post::class => [
['id' => 1, 'number' => 1, 'discussion_id' => 1, 'created_at' => Carbon::now(), 'user_id' => 1, 'type' => 'comment', 'content' => '<r><p>content</p></r>', 'hidden_at' => null],
['id' => 2, 'number' => 2, 'discussion_id' => 1, 'created_at' => Carbon::now(), 'user_id' => 1, 'type' => 'comment', 'content' => '<r><p>content</p></r>', 'hidden_at' => Carbon::now()],
],

View File

@@ -12,6 +12,7 @@ namespace Flarum\Tests\integration\extenders;
use Flarum\Extend;
use Flarum\Testing\integration\RetrievesAuthorizedUsers;
use Flarum\Testing\integration\TestCase;
use Flarum\User\User;
class SettingsTest extends TestCase
{
@@ -25,7 +26,7 @@ class SettingsTest extends TestCase
parent::setUp();
$this->prepareDatabase([
'users' => [
User::class => [
$this->normalUser()
]
]);

View File

@@ -12,6 +12,7 @@ namespace Flarum\Tests\integration\extenders;
use Flarum\Extend;
use Flarum\Testing\integration\RetrievesAuthorizedUsers;
use Flarum\Testing\integration\TestCase;
use Flarum\User\User;
class ThrottleApiTest extends TestCase
{
@@ -25,7 +26,7 @@ class ThrottleApiTest extends TestCase
parent::setUp();
$this->prepareDatabase([
'users' => [
User::class => [
$this->normalUser(),
]
]);

View File

@@ -28,7 +28,7 @@ class UserTest extends TestCase
parent::setUp();
$this->prepareDatabase([
'users' => [
User::class => [
$this->normalUser(),
]
]);

View File

@@ -10,8 +10,10 @@
namespace Flarum\Tests\integration\forum;
use Carbon\Carbon;
use Flarum\Discussion\Discussion;
use Flarum\Extend;
use Flarum\Foundation\AbstractServiceProvider;
use Flarum\Post\Post;
use Flarum\Settings\SettingsRepositoryInterface;
use Flarum\Testing\integration\TestCase;
@@ -25,10 +27,10 @@ class DefaultRouteTest extends TestCase
parent::setUp();
$this->prepareDatabase([
'discussions' => [
Discussion::class => [
['id' => 1, 'title' => 'foo bar', 'created_at' => Carbon::createFromDate(1975, 5, 21)->toDateTimeString(), 'last_posted_at' => Carbon::createFromDate(1975, 5, 21)->toDateTimeString(), 'user_id' => 1, 'first_post_id' => 1, 'comment_count' => 1],
],
'posts' => [
Post::class => [
['id' => 1, 'discussion_id' => 1, 'created_at' => Carbon::createFromDate(1975, 5, 21)->toDateTimeString(), 'user_id' => 1, 'type' => 'comment', 'content' => '<t><p>foo bar</p></t>']
]
]);

View File

@@ -16,6 +16,7 @@ use Flarum\Testing\integration\RetrievesAuthorizedUsers;
use Flarum\Testing\integration\TestCase;
use Flarum\User\EmailToken;
use Flarum\User\PasswordToken;
use Flarum\User\User;
class GlobalLogoutTest extends TestCase
{
@@ -33,10 +34,10 @@ class GlobalLogoutTest extends TestCase
);
$this->prepareDatabase([
'users' => [
User::class => [
$this->normalUser()
],
'access_tokens' => [
AccessToken::class => [
['id' => 1, 'token' => 'a', 'user_id' => 1, 'last_activity_at' => Carbon::parse('2021-01-01 02:00:00'), 'type' => 'session'],
['id' => 2, 'token' => 'b', 'user_id' => 1, 'last_activity_at' => Carbon::parse('2021-01-01 02:00:00'), 'type' => 'session_remember'],
['id' => 3, 'token' => 'c', 'user_id' => 1, 'last_activity_at' => Carbon::parse('2021-01-01 02:00:00'), 'type' => 'developer'],

View File

@@ -11,6 +11,7 @@ namespace Flarum\Tests\integration\forum;
use Flarum\Testing\integration\RetrievesAuthorizedUsers;
use Flarum\Testing\integration\TestCase;
use Flarum\User\User;
class IndexTest extends TestCase
{
@@ -22,7 +23,7 @@ class IndexTest extends TestCase
protected function setUp(): void
{
$this->prepareDatabase([
'users' => [
User::class => [
$this->normalUser()
]
]);

View File

@@ -13,6 +13,7 @@ use Flarum\Extend;
use Flarum\Http\AccessToken;
use Flarum\Testing\integration\RetrievesAuthorizedUsers;
use Flarum\Testing\integration\TestCase;
use Flarum\User\User;
class LoginTest extends TestCase
{
@@ -28,7 +29,7 @@ class LoginTest extends TestCase
);
$this->prepareDatabase([
'users' => [
User::class => [
$this->normalUser()
]
]);

View File

@@ -11,10 +11,12 @@ namespace Flarum\Tests\integration\notification;
use Carbon\Carbon;
use Flarum\Database\AbstractModel;
use Flarum\Discussion\Discussion;
use Flarum\Extend;
use Flarum\Notification\Blueprint\BlueprintInterface;
use Flarum\Notification\Notification;
use Flarum\Notification\NotificationSyncer;
use Flarum\Post\Post;
use Flarum\Testing\integration\RetrievesAuthorizedUsers;
use Flarum\Testing\integration\TestCase;
use Flarum\User\User;
@@ -28,16 +30,16 @@ class NotificationSyncerTest extends TestCase
parent::setUp();
$this->prepareDatabase([
'users' => [
User::class => [
$this->normalUser(),
['id' => 3, 'username' => 'Receiver', 'email' => 'receiver@machine.local', 'is_email_confirmed' => 1],
],
'discussions' => [
Discussion::class => [
['id' => 1, 'title' => 'Public discussion', 'created_at' => Carbon::parse('2021-11-01 13:00:00')->toDateTimeString(), 'user_id' => 2, 'first_post_id' => 1, 'comment_count' => 2, 'is_private' => 0, 'last_post_number' => 2],
['id' => 2, 'title' => 'Private discussion', 'created_at' => Carbon::parse('2021-11-01 13:00:00')->toDateTimeString(), 'user_id' => 2, 'first_post_id' => 3, 'comment_count' => 2, 'is_private' => 1, 'last_post_number' => 2],
],
'posts' => [
Post::class => [
['id' => 1, 'discussion_id' => 1, 'number' => 1, 'created_at' => Carbon::parse('2021-11-01 13:00:00')->toDateTimeString(), 'user_id' => 2, 'type' => 'comment', 'content' => '<t></t>', 'is_private' => 0],
['id' => 2, 'discussion_id' => 1, 'number' => 2, 'created_at' => Carbon::parse('2021-11-01 13:00:03')->toDateTimeString(), 'user_id' => 2, 'type' => 'comment', 'content' => '<t></t>', 'is_private' => 1],

View File

@@ -14,6 +14,7 @@ use Flarum\Bus\Dispatcher;
use Flarum\Discussion\Discussion;
use Flarum\Foundation\DispatchEventsTrait;
use Flarum\Post\Command\PostReply;
use Flarum\Post\Post;
use Flarum\Testing\integration\RetrievesAuthorizedUsers;
use Flarum\Testing\integration\TestCase;
use Flarum\User\User;
@@ -31,16 +32,16 @@ class DiscussionPolicyTest extends TestCase
parent::setUp();
$this->prepareDatabase([
'discussions' => [
Discussion::class => [
['id' => 1, 'title' => 'Editable discussion', 'created_at' => Carbon::parse('2021-11-01 13:00:00')->toDateTimeString(), 'user_id' => 2, 'first_post_id' => 1, 'comment_count' => 2, 'is_private' => 0, 'last_post_number' => 1, 'participant_count' => 1],
['id' => 2, 'title' => 'Editable discussion', 'created_at' => Carbon::parse('2021-11-01 13:00:00')->toDateTimeString(), 'user_id' => 2, 'first_post_id' => 2, 'comment_count' => 2, 'is_private' => 0, 'last_post_number' => 2, 'participant_count' => 2],
],
'posts' => [
Post::class => [
['id' => 1, 'discussion_id' => 1, 'number' => 1, 'created_at' => Carbon::parse('2021-11-01 13:00:00')->toDateTimeString(), 'user_id' => 2, 'type' => 'comment', 'content' => '<t></t>'],
['id' => 2, 'discussion_id' => 2, 'number' => 1, 'created_at' => Carbon::parse('2021-11-01 13:00:03')->toDateTimeString(), 'user_id' => 2, 'type' => 'comment', 'content' => '<t></t>'],
['id' => 3, 'discussion_id' => 2, 'number' => 2, 'created_at' => Carbon::parse('2021-11-01 13:00:03')->toDateTimeString(), 'user_id' => 1, 'type' => 'comment', 'content' => '<t></t>'],
],
'users' => [
User::class => [
$this->normalUser(),
]
]);

View File

@@ -10,6 +10,7 @@
namespace Flarum\Tests\integration\policy;
use Carbon\Carbon;
use Flarum\Discussion\Discussion;
use Flarum\Post\Post;
use Flarum\Testing\integration\RetrievesAuthorizedUsers;
use Flarum\Testing\integration\TestCase;
@@ -27,14 +28,14 @@ class PostPolicyTest extends TestCase
parent::setUp();
$this->prepareDatabase([
'discussions' => [
Discussion::class => [
['id' => 1, 'title' => 'Editable discussion', 'created_at' => Carbon::parse('2021-11-01 13:00:00')->toDateTimeString(), 'user_id' => 2, 'first_post_id' => 1, 'comment_count' => 2, 'is_private' => 0, 'last_post_number' => 2],
],
'posts' => [
Post::class => [
['id' => 1, 'discussion_id' => 1, 'number' => 1, 'created_at' => Carbon::parse('2021-11-01 13:00:00')->toDateTimeString(), 'user_id' => 2, 'type' => 'comment', 'content' => '<t></t>'],
['id' => 2, 'discussion_id' => 1, 'number' => 2, 'created_at' => Carbon::parse('2021-11-01 13:00:03')->toDateTimeString(), 'user_id' => 2, 'type' => 'comment', 'content' => '<t></t>'],
],
'users' => [
User::class => [
$this->normalUser(),
]
]);

View File

@@ -25,10 +25,10 @@ class SlugDriverTest extends TestCase
parent::setUp();
$this->prepareDatabase([
'users' => [
User::class => [
$this->normalUser(),
],
'discussions' => [
Discussion::class => [
['id' => 20, 'title' => 'Empty discussion', 'created_at' => Carbon::now()->toDateTimeString(), 'user_id' => 2, 'first_post_id' => null, 'comment_count' => 0, 'is_private' => 0],
['id' => 21, 'title' => 'తెలుగు', 'created_at' => Carbon::now()->toDateTimeString(), 'user_id' => 2, 'first_post_id' => null, 'comment_count' => 0, 'is_private' => 0],
['id' => 22, 'title' => '支持中文吗', 'created_at' => Carbon::now()->toDateTimeString(), 'user_id' => 2, 'first_post_id' => null, 'comment_count' => 0, 'is_private' => 0],