diff --git a/tests/Feature/Accounts/AuthTest.php b/tests/Feature/Accounts/AuthTest.php index 73add363..f852239b 100644 --- a/tests/Feature/Accounts/AuthTest.php +++ b/tests/Feature/Accounts/AuthTest.php @@ -6,7 +6,6 @@ use App\Models\Setting; use App\Models\User; use App\Notifications\ResetPassword; use Illuminate\Auth\Notifications\VerifyEmail; -use Illuminate\Foundation\Testing\DatabaseMigrations; use Illuminate\Support\Facades\Password; use Laravel\Sanctum\Sanctum; use Notification; @@ -15,8 +14,6 @@ use Tests\TestCase; class AuthTest extends TestCase { - use DatabaseMigrations; - /** * @test */ diff --git a/tests/Feature/Accounts/PersonalAccessTokenTest.php b/tests/Feature/Accounts/PersonalAccessTokenTest.php new file mode 100644 index 00000000..93931650 --- /dev/null +++ b/tests/Feature/Accounts/PersonalAccessTokenTest.php @@ -0,0 +1,117 @@ +create(); + + Sanctum::actingAs($user); + + $this->postJson('/api/user/token/create', [ + 'name' => 'token', + ])->assertStatus(201); + + $this->assertDatabaseHas('personal_access_tokens', [ + 'tokenable_id' => $user->id, + 'name' => 'token', + ]); + } + + /** + * @test + */ + public function it_revoke_user_token() + { + $user = User::factory(User::class) + ->create(); + + Sanctum::actingAs($user); + + $user->createToken('token'); + + $token_id = $user->tokens()->first()->id; + + $this->deleteJson("/api/user/token/revoke/$token_id") + ->assertStatus(204); + + $this->assertDatabaseMissing('personal_access_tokens', [ + 'id' => $token_id, + ]); + } + + /** + * @test + */ + public function it_get_user_tokens() + { + $user = User::factory(User::class) + ->create(); + + $user->createToken('token'); + + $token = $user->tokens()->first(); + + $this + ->actingAs($user) + ->getJson('/api/user/tokens') + ->assertStatus(200) + ->assertJsonFragment([ + 'id' => $token->id, + 'tokenable_type' => $token->tokenable_type, + 'tokenable_id' => $user->id, + 'name' => $token->name, + 'abilities' => $token->abilities, + ]); + } + + /** + * @test + */ + public function it_use_user_token_in_public_api_request() + { + $user = User::factory(User::class) + ->create(); + + $folder = Folder::factory(Folder::class) + ->create([ + 'user_id' => $user->id, + ]); + + $file = File::factory(File::class) + ->create([ + 'user_id' => $user->id, + 'folder_id' => $folder->id, + ]); + + $token = $user->createToken('token')->plainTextToken; + + $this->assertDatabaseHas('personal_access_tokens', [ + 'tokenable_id' => $user->id, + ]); + + $this->assertDatabaseHas('folders', [ + 'id' => $folder->id, + 'user_id' => $user->id, + ]); + + $this + ->withToken($token) + ->getJson("/api/browse/folders/$folder->id") + ->assertOk() + ->assertJsonFragment([ + 'id' => $file->id, + ]); + } +} diff --git a/tests/Feature/Accounts/UserAccountTest.php b/tests/Feature/Accounts/UserAccountTest.php index cfd30642..9fd06630 100644 --- a/tests/Feature/Accounts/UserAccountTest.php +++ b/tests/Feature/Accounts/UserAccountTest.php @@ -4,20 +4,15 @@ namespace Tests\Feature\Accounts; use Storage; use Notification; use Tests\TestCase; -use App\Models\File; use App\Models\User; -use App\Models\Folder; use Laravel\Sanctum\Sanctum; use App\Services\SetupService; use Illuminate\Http\UploadedFile; use Illuminate\Support\Facades\URL; use Illuminate\Auth\Notifications\VerifyEmail; -use Illuminate\Foundation\Testing\DatabaseMigrations; class UserAccountTest extends TestCase { - use DatabaseMigrations; - public function __construct() { parent::__construct(); @@ -153,112 +148,6 @@ class UserAccountTest extends TestCase ]); } - /** - * @test - */ - public function it_create_user_token() - { - $user = User::factory(User::class) - ->create(); - - Sanctum::actingAs($user); - - $this->postJson('/api/user/token/create', [ - 'name' => 'token', - ])->assertStatus(201); - - $this->assertDatabaseHas('personal_access_tokens', [ - 'tokenable_id' => $user->id, - 'name' => 'token', - ]); - } - - /** - * @test - */ - public function it_revoke_user_token() - { - $user = User::factory(User::class) - ->create(); - - Sanctum::actingAs($user); - - $user->createToken('token'); - - $token_id = $user->tokens()->first()->id; - - $this->deleteJson("/api/user/token/revoke/$token_id") - ->assertStatus(204); - - $this->assertDatabaseMissing('personal_access_tokens', [ - 'id' => $token_id, - ]); - } - - /** - * @test - */ - public function it_get_user_tokens() - { - $user = User::factory(User::class) - ->create(); - - $user->createToken('token'); - - $token = $user->tokens()->first(); - - $this - ->actingAs($user) - ->getJson('/api/user/tokens') - ->assertStatus(200) - ->assertJsonFragment([ - 'id' => $token->id, - 'tokenable_type' => $token->tokenable_type, - 'tokenable_id' => $user->id, - 'name' => $token->name, - 'abilities' => $token->abilities, - ]); - } - - /** - * @test - */ - public function it_use_user_token_in_public_api_request() - { - $user = User::factory(User::class) - ->create(); - - $folder = Folder::factory(Folder::class) - ->create([ - 'user_id' => $user->id, - ]); - - $file = File::factory(File::class) - ->create([ - 'user_id' => $user->id, - 'folder_id' => $folder->id, - ]); - - $token = $user->createToken('token')->plainTextToken; - - $this->assertDatabaseHas('personal_access_tokens', [ - 'tokenable_id' => $user->id, - ]); - - $this->assertDatabaseHas('folders', [ - 'id' => $folder->id, - 'user_id' => $user->id, - ]); - - $this - ->withToken($token) - ->getJson("/api/browse/folders/$folder->id") - ->assertOk() - ->assertJsonFragment([ - 'id' => $file->id, - ]); - } - /** * @test */ diff --git a/tests/Feature/Admin/AdminTest.php b/tests/Feature/Admin/AdminTest.php index a16bde21..cb4bb2e8 100644 --- a/tests/Feature/Admin/AdminTest.php +++ b/tests/Feature/Admin/AdminTest.php @@ -11,7 +11,6 @@ use App\Models\Zip; use App\Notifications\ResetPassword; use App\Services\SetupService; use DB; -use Illuminate\Foundation\Testing\DatabaseMigrations; use Illuminate\Http\UploadedFile; use Notification; use Laravel\Sanctum\Sanctum; @@ -20,8 +19,6 @@ use Tests\TestCase; class AdminTest extends TestCase { - use DatabaseMigrations; - public function __construct() { parent::__construct(); diff --git a/tests/Feature/Admin/LanguageEditorTest.php b/tests/Feature/Admin/LanguageEditorTest.php index 33d690d0..00485d2d 100644 --- a/tests/Feature/Admin/LanguageEditorTest.php +++ b/tests/Feature/Admin/LanguageEditorTest.php @@ -6,14 +6,11 @@ use App\Models\Language; use App\Models\Setting; use App\Models\User; use App\Services\SetupService; -use Illuminate\Foundation\Testing\DatabaseMigrations; use Laravel\Sanctum\Sanctum; use Tests\TestCase; class LanguageEditorTest extends TestCase { - use DatabaseMigrations; - protected $setup; public function __construct() diff --git a/tests/Feature/App/AppTest.php b/tests/Feature/App/AppTest.php index 744fdba6..322df023 100644 --- a/tests/Feature/App/AppTest.php +++ b/tests/Feature/App/AppTest.php @@ -9,15 +9,12 @@ use App\Models\Setting; use App\Models\Share; use App\Models\User; use App\Services\SetupService; -use Illuminate\Foundation\Testing\DatabaseMigrations; use Mail; use ScssPhp\ScssPhp\Compiler; use Tests\TestCase; class AppTest extends TestCase { - use DatabaseMigrations; - public function __construct() { parent::__construct(); diff --git a/tests/Feature/App/AppUpgradeTest.php b/tests/Feature/App/AppUpgradeTest.php index 0fef2a82..6515d46b 100644 --- a/tests/Feature/App/AppUpgradeTest.php +++ b/tests/Feature/App/AppUpgradeTest.php @@ -2,18 +2,14 @@ namespace Tests\Feature\App; -use App\Models\LanguageTranslation; use App\Models\User; use DB; -use Illuminate\Foundation\Testing\DatabaseMigrations; use Illuminate\Support\Str; use Laravel\Sanctum\Sanctum; use Tests\TestCase; class AppUpgradeTest extends TestCase { - use DatabaseMigrations; - public function __construct() { parent::__construct(); diff --git a/tests/Feature/App/SchedulerTest.php b/tests/Feature/App/SchedulerTest.php index ad1becc8..8a60cb92 100644 --- a/tests/Feature/App/SchedulerTest.php +++ b/tests/Feature/App/SchedulerTest.php @@ -7,15 +7,12 @@ use App\Models\User; use App\Models\Zip; use App\Services\SchedulerService; use App\Services\SetupService; -use Illuminate\Foundation\Testing\DatabaseMigrations; use Illuminate\Http\UploadedFile; use Storage; use Tests\TestCase; class SchedulerTest extends TestCase { - use DatabaseMigrations; - public function __construct() { parent::__construct(); diff --git a/tests/Feature/External/SubscriptionTest.php b/tests/Feature/External/SubscriptionTest.php index 0ee586c3..fdb89b8a 100644 --- a/tests/Feature/External/SubscriptionTest.php +++ b/tests/Feature/External/SubscriptionTest.php @@ -3,16 +3,12 @@ namespace Tests\Feature\External; use App\Models\User; -use Carbon\Carbon; -use Illuminate\Foundation\Testing\DatabaseMigrations; use Illuminate\Support\Str; use Laravel\Sanctum\Sanctum; use Tests\TestCase; class SubscriptionTest extends TestCase { - use DatabaseMigrations; - private $user; private $plan; diff --git a/tests/Feature/FileManager/BrowseTest.php b/tests/Feature/FileManager/BrowseTest.php index b94d7e8a..27ef0d3b 100644 --- a/tests/Feature/FileManager/BrowseTest.php +++ b/tests/Feature/FileManager/BrowseTest.php @@ -6,7 +6,6 @@ use App\Models\File; use App\Models\Folder; use App\Models\Share; use App\Models\User; -use Carbon\Carbon; use Illuminate\Bus\Queueable; use Illuminate\Foundation\Testing\DatabaseMigrations; use Laravel\Sanctum\Sanctum; diff --git a/tests/Feature/FileManager/ContentAccessTest.php b/tests/Feature/FileManager/ContentAccessTest.php index 3ffe2577..02ccb34c 100644 --- a/tests/Feature/FileManager/ContentAccessTest.php +++ b/tests/Feature/FileManager/ContentAccessTest.php @@ -6,8 +6,6 @@ use App\Models\File; use App\Models\Folder; use App\Models\User; use App\Models\Zip; -use Carbon\Carbon; -use Illuminate\Foundation\Testing\DatabaseMigrations; use App\Services\SetupService; use Illuminate\Http\UploadedFile; use Illuminate\Support\Str; @@ -17,8 +15,6 @@ use Tests\TestCase; class ContentAccessTest extends TestCase { - use DatabaseMigrations; - public function __construct() { parent::__construct(); diff --git a/tests/Feature/FileManager/FileTest.php b/tests/Feature/FileManager/FileTest.php index 202bd384..a68f0f7c 100644 --- a/tests/Feature/FileManager/FileTest.php +++ b/tests/Feature/FileManager/FileTest.php @@ -8,7 +8,6 @@ use App\Models\Setting; use App\Models\User; use App\Models\Zip; use App\Services\SetupService; -use Illuminate\Foundation\Testing\DatabaseMigrations; use Illuminate\Http\UploadedFile; use Laravel\Sanctum\Sanctum; use Storage; @@ -16,8 +15,6 @@ use Tests\TestCase; class FileTest extends TestCase { - use DatabaseMigrations; - public function __construct() { parent::__construct(); diff --git a/tests/Feature/FileManager/FolderTest.php b/tests/Feature/FileManager/FolderTest.php index 40a9d88e..ab370da3 100644 --- a/tests/Feature/FileManager/FolderTest.php +++ b/tests/Feature/FileManager/FolderTest.php @@ -7,7 +7,6 @@ use App\Models\Folder; use App\Models\User; use App\Models\Zip; use App\Services\SetupService; -use Illuminate\Foundation\Testing\DatabaseMigrations; use Illuminate\Http\UploadedFile; use Laravel\Sanctum\Sanctum; use Storage; @@ -17,8 +16,6 @@ use Tests\TestCase; class FolderTest extends TestCase { - use DatabaseMigrations; - public function __construct() { parent::__construct(); diff --git a/tests/Feature/FileManager/TrashTest.php b/tests/Feature/FileManager/TrashTest.php index a7777dd9..d737c0f6 100644 --- a/tests/Feature/FileManager/TrashTest.php +++ b/tests/Feature/FileManager/TrashTest.php @@ -6,8 +6,6 @@ use App\Models\File; use App\Models\Folder; use App\Models\User; use App\Services\SetupService; -use Carbon\Carbon; -use Illuminate\Foundation\Testing\DatabaseMigrations; use Illuminate\Http\UploadedFile; use Laravel\Sanctum\Sanctum; use Storage; @@ -15,8 +13,6 @@ use Tests\TestCase; class TrashTest extends TestCase { - use DatabaseMigrations; - public function __construct() { parent::__construct(); diff --git a/tests/Feature/Setup/SetupServiceTest.php b/tests/Feature/Setup/SetupServiceTest.php index e37d3899..09e5aaa6 100644 --- a/tests/Feature/Setup/SetupServiceTest.php +++ b/tests/Feature/Setup/SetupServiceTest.php @@ -3,17 +3,13 @@ namespace Tests\Feature\Setup; use App\Models\Language; -use App\Models\LanguageTranslation; use App\Models\Setting; use App\Services\SetupService; -use Illuminate\Foundation\Testing\DatabaseMigrations; use Storage; use Tests\TestCase; class SetupServiceTest extends TestCase { - use DatabaseMigrations; - public function __construct() { parent::__construct(); diff --git a/tests/Feature/Setup/SetupWizardTest.php b/tests/Feature/Setup/SetupWizardTest.php index 72a4fd9f..931fe179 100644 --- a/tests/Feature/Setup/SetupWizardTest.php +++ b/tests/Feature/Setup/SetupWizardTest.php @@ -4,7 +4,6 @@ namespace Tests\Feature\Setup; use App\Models\Setting; use App\Models\User; -use Illuminate\Foundation\Testing\DatabaseMigrations; use Illuminate\Http\UploadedFile; use Illuminate\Support\Facades\Http; use Illuminate\Support\Facades\Storage; @@ -12,8 +11,6 @@ use Tests\TestCase; class SetupWizardTest extends TestCase { - use DatabaseMigrations; - /** * CAVEAT: * diff --git a/tests/Feature/Share/UserShareTest.php b/tests/Feature/Share/UserShareTest.php index 7b966732..7af0b565 100644 --- a/tests/Feature/Share/UserShareTest.php +++ b/tests/Feature/Share/UserShareTest.php @@ -4,20 +4,14 @@ namespace Tests\Feature\Share; use App\Models\File; use App\Models\Folder; -use App\Models\Share; use App\Models\User; use App\Notifications\SharedSendViaEmail; -use Illuminate\Foundation\Testing\DatabaseMigrations; -use Illuminate\Foundation\Testing\RefreshDatabase; -use Illuminate\Foundation\Testing\WithFaker; use Illuminate\Support\Facades\Notification; use Laravel\Sanctum\Sanctum; use Tests\TestCase; class UserShareTest extends TestCase { - use DatabaseMigrations; - /** * @test */ diff --git a/tests/Feature/Share/VisitorAccessToItemsTest.php b/tests/Feature/Share/VisitorAccessToItemsTest.php index 19466511..2144b4d0 100644 --- a/tests/Feature/Share/VisitorAccessToItemsTest.php +++ b/tests/Feature/Share/VisitorAccessToItemsTest.php @@ -7,17 +7,13 @@ use App\Models\Share; use App\Models\User; use App\Models\Zip; use App\Services\SetupService; -use Illuminate\Foundation\Testing\DatabaseMigrations; use Illuminate\Http\UploadedFile; -use Illuminate\Support\Facades\Cookie; use Illuminate\Support\Str; use Storage; use Tests\TestCase; class VisitorAccessToItemsTest extends TestCase { - use DatabaseMigrations; - private $setup; public function __construct() diff --git a/tests/Feature/Share/VisitorBrowseTest.php b/tests/Feature/Share/VisitorBrowseTest.php index 211517ce..c89944bd 100644 --- a/tests/Feature/Share/VisitorBrowseTest.php +++ b/tests/Feature/Share/VisitorBrowseTest.php @@ -7,8 +7,6 @@ use App\Models\Folder; use App\Models\Share; use App\Models\User; use App\Models\Zip; -use Hash; -use Illuminate\Foundation\Testing\DatabaseMigrations; use App\Services\SetupService; use Illuminate\Http\UploadedFile; use Illuminate\Support\Str; @@ -17,8 +15,6 @@ use Tests\TestCase; class VisitorBrowseTest extends TestCase { - use DatabaseMigrations; - public function __construct() { parent::__construct(); diff --git a/tests/Feature/Share/VisitorManipulatingTest.php b/tests/Feature/Share/VisitorManipulatingTest.php index d353e20d..1658296b 100644 --- a/tests/Feature/Share/VisitorManipulatingTest.php +++ b/tests/Feature/Share/VisitorManipulatingTest.php @@ -7,15 +7,12 @@ use App\Models\Folder; use App\Models\Share; use App\Models\User; use App\Services\SetupService; -use Illuminate\Foundation\Testing\DatabaseMigrations; use Illuminate\Http\UploadedFile; use Storage; use Tests\TestCase; class VisitorManipulatingTest extends TestCase { - use DatabaseMigrations; - public function __construct() { parent::__construct(); diff --git a/tests/TestCase.php b/tests/TestCase.php index 48cc587c..68efa222 100644 --- a/tests/TestCase.php +++ b/tests/TestCase.php @@ -3,6 +3,7 @@ namespace Tests; use Carbon\Carbon; +use Illuminate\Foundation\Testing\DatabaseMigrations; use Illuminate\Foundation\Testing\TestCase as BaseTestCase; use Illuminate\Support\Facades\Notification; use Illuminate\Support\Facades\Storage; @@ -10,6 +11,7 @@ use Illuminate\Support\Facades\Storage; abstract class TestCase extends BaseTestCase { use CreatesApplication; + use DatabaseMigrations; public function setUp(): void {