diff --git a/config/vuefilemanager.php b/config/vuefilemanager.php index 9ac54134..34ba3c8d 100644 --- a/config/vuefilemanager.php +++ b/config/vuefilemanager.php @@ -10,7 +10,12 @@ return [ 'chunk_size' => env('CHUNK_SIZE', '128'), 'colors' => [ - '#9ad2bf', '#9ad2cd', '#d29a9a', '#d2ce9a', '#9aadd2', '#c59ad2', + '#9ad2bf', + '#9ad2cd', + '#d29a9a', + '#d2ce9a', + '#9aadd2', + '#c59ad2', ], 'avatar_sizes' => [ diff --git a/database/factories/UserFactory.php b/database/factories/UserFactory.php index d7440df7..24fb96ed 100644 --- a/database/factories/UserFactory.php +++ b/database/factories/UserFactory.php @@ -31,34 +31,7 @@ class UserFactory extends Factory 'email_verified_at' => now(), 'password' => bcrypt('secret'), 'remember_token' => Str::random(10), - 'created_at' => $this->faker->dateTimeBetween('-36 months', 'now', null), + 'created_at' => $this->faker->dateTimeBetween('-36 months'), ]; } - - /** - * Configure the model factory. - * - * @return $this - */ - public function configure() - { - return $this->afterCreating(function (User $user) { - $user - ->settings() - ->create([ - 'name' => $this->faker->name, - 'address' => $this->faker->address, - 'state' => $this->faker->state, - 'city' => $this->faker->city, - 'postal_code' => $this->faker->postcode, - 'country' => $this->faker->randomElement( - ['SK', 'CZ', 'DE', 'FR'] - ), - 'phone_number' => $this->faker->phoneNumber, - 'timezone' => $this->faker->randomElement( - ['+1.0', '+2.0', '+3.0'] - ), - ]); - }); - } } diff --git a/database/factories/UserSettingFactory.php b/database/factories/UserSettingFactory.php new file mode 100644 index 00000000..fe87f41c --- /dev/null +++ b/database/factories/UserSettingFactory.php @@ -0,0 +1,45 @@ + $this->faker->uuid, + 'user_id' => $this->faker->uuid, + 'first_name' => $this->faker->name, + 'last_name' => $this->faker->lastName, + 'address' => $this->faker->address, + 'state' => $this->faker->state, + 'city' => $this->faker->city, + 'postal_code' => $this->faker->postcode, + 'phone_number' => $this->faker->phoneNumber, + 'color' => $this->faker->randomElement( + config('vuefilemanager.colors') + ), + 'country' => $this->faker->randomElement( + ['SK', 'CZ', 'DE', 'FR'] + ), + 'timezone' => $this->faker->randomElement( + ['+1.0', '+2.0', '+3.0'] + ), + ]; + } +} diff --git a/database/migrations/2014_10_12_000000_create_users_table.php b/database/migrations/2014_10_12_000000_create_users_table.php index e18112de..6ba440f0 100644 --- a/database/migrations/2014_10_12_000000_create_users_table.php +++ b/database/migrations/2014_10_12_000000_create_users_table.php @@ -18,7 +18,8 @@ class CreateUsersTable extends Migration $table->enum('role', ['admin', 'user'])->default('user'); $table->string('email')->unique()->index(); $table->timestamp('email_verified_at')->nullable(); - $table->string('password'); + $table->string('oauth_provider')->nullable(); + $table->string('password')->nullable(); $table->text('two_factor_secret')->nullable(); $table->text('two_factor_recovery_codes')->nullable(); $table->rememberToken(); diff --git a/database/migrations/2020_05_26_092649_create_user_settings_table.php b/database/migrations/2020_05_26_092649_create_user_settings_table.php index d8d33681..927ea12d 100644 --- a/database/migrations/2020_05_26_092649_create_user_settings_table.php +++ b/database/migrations/2020_05_26_092649_create_user_settings_table.php @@ -18,7 +18,8 @@ class CreateUserSettingsTable extends Migration $table->uuid('user_id')->index(); $table->string('avatar')->nullable(); $table->string('color')->nullable(); - $table->text('name')->nullable(); + $table->text('first_name')->nullable(); + $table->text('last_name')->nullable(); $table->text('address')->nullable(); $table->text('state')->nullable(); $table->text('city')->nullable(); diff --git a/database/migrations/2021_12_20_120702_add_oauth_provider_to_users_table.php b/database/migrations/2021_12_20_120702_add_oauth_provider_to_users_table.php deleted file mode 100644 index ed6ae3c2..00000000 --- a/database/migrations/2021_12_20_120702_add_oauth_provider_to_users_table.php +++ /dev/null @@ -1,36 +0,0 @@ -string('oauth_provider')->nullable(); - $table->string('password')->nullable()->change(); - - $table->charset = 'utf8mb4'; - $table->collation = 'utf8mb4_unicode_ci'; - }); - } - - /** - * Reverse the migrations. - * - * @return void - */ - public function down() - { - Schema::table('users', function (Blueprint $table) { - // - }); - } -} diff --git a/src/App/Console/Commands/GenerateDemoSubscriptionContentCommand.php b/src/App/Console/Commands/GenerateDemoSubscriptionContentCommand.php index 6506255d..2c3bb0e2 100644 --- a/src/App/Console/Commands/GenerateDemoSubscriptionContentCommand.php +++ b/src/App/Console/Commands/GenerateDemoSubscriptionContentCommand.php @@ -45,7 +45,6 @@ class GenerateDemoSubscriptionContentCommand extends Command // Create plans and subscriptions for fixed billing if ($this->argument('type') === 'fixed') { - // TODO: check for credentials $this->info('Setting up new fixed plans demo data...'); diff --git a/src/App/Console/Commands/SetupDevEnvironment.php b/src/App/Console/Commands/SetupDevEnvironment.php index 9d71ab3e..9fdf7669 100644 --- a/src/App/Console/Commands/SetupDevEnvironment.php +++ b/src/App/Console/Commands/SetupDevEnvironment.php @@ -104,7 +104,8 @@ class SetupDevEnvironment extends Command ->settings() ->create([ 'avatar' => $avatar_name, - 'name' => 'Jane Doe', + 'first_name' => 'Jane', + 'last_name' => 'Doe', 'address' => $this->faker->address, 'state' => $this->faker->state, 'city' => $this->faker->city, @@ -162,7 +163,8 @@ class SetupDevEnvironment extends Command ->settings() ->create([ 'avatar' => $avatar_name, - 'name' => $this->faker->name, + 'first_name' => $this->faker->name, + 'last_name' => $this->faker->lastName, 'address' => $this->faker->address, 'state' => $this->faker->state, 'city' => $this->faker->city, diff --git a/src/App/Users/Actions/CreateNewUserAction.php b/src/App/Users/Actions/CreateNewUserAction.php index 800dc303..c2d5b80f 100644 --- a/src/App/Users/Actions/CreateNewUserAction.php +++ b/src/App/Users/Actions/CreateNewUserAction.php @@ -31,9 +31,14 @@ class CreateNewUserAction extends Controller 'email' => $data->email, ]); + // Split username + $name = split_name($data->name); + + // Store user data $user->settings()->create([ - 'name' => $data->name, - 'avatar' => $data->avatar, + 'first_name' => $name['first_name'], + 'last_name' => $name['last_name'], + 'avatar' => $data->avatar, ]); // Subscribe user for metered billing diff --git a/src/App/Users/Controllers/Authentication/CheckAccountController.php b/src/App/Users/Controllers/Authentication/CheckAccountController.php index 76e935f5..16d4a61d 100644 --- a/src/App/Users/Controllers/Authentication/CheckAccountController.php +++ b/src/App/Users/Controllers/Authentication/CheckAccountController.php @@ -22,7 +22,7 @@ class CheckAccountController extends Controller } return [ - 'name' => $user->settings->name, + 'name' => $user->settings->first_name, 'avatar' => $user->settings->avatar, 'verified' => $user->email_verified_at ? 1 : 0, 'oauth_provider' => $user->password ? null : $user->oauth_provider, diff --git a/src/App/Users/Models/UserSetting.php b/src/App/Users/Models/UserSetting.php index 18f82e58..6188d6c4 100644 --- a/src/App/Users/Models/UserSetting.php +++ b/src/App/Users/Models/UserSetting.php @@ -6,6 +6,7 @@ use Laravel\Scout\Searchable; use Illuminate\Database\Eloquent\Model; use Illuminate\Support\Facades\Storage; use TeamTNT\TNTSearch\Indexer\TNTIndexer; +use Database\Factories\UserSettingFactory; use Illuminate\Database\Eloquent\Relations\HasOne; class UserSetting extends Model @@ -24,12 +25,19 @@ class UserSetting extends Model 'id' => 'string', ]; + protected $appends = [ + 'name', + ]; + + protected static function newFactory(): UserSettingFactory + { + return UserSettingFactory::new(); + } + /** * Format avatar to full url - * - * @return \Illuminate\Contracts\Routing\UrlGenerator|string|array */ - public function getAvatarAttribute() + public function getAvatarAttribute(): array|string { $link = []; @@ -61,6 +69,11 @@ class UserSetting extends Model return $link; } + public function getNameAttribute(): string + { + return $this->first_name . ' ' . $this->last_name; + } + public function user(): HasOne { return $this->hasOne(User::class, 'id', 'user_id'); @@ -94,7 +107,7 @@ class UserSetting extends Model static::creating(function ($user) { $user->id = Str::uuid(); - $user->color = ['#9ad2bf', '#9ad2cd', '#d29a9a', '#d2ce9a', '#9aadd2', '#c59ad2'][rand(0, 5)]; + $user->color = config('vuefilemanager.colors')[rand(0, 5)]; }); } } diff --git a/src/App/Users/Resources/SettingsResource.php b/src/App/Users/Resources/SettingsResource.php index 02e03711..273a81d1 100644 --- a/src/App/Users/Resources/SettingsResource.php +++ b/src/App/Users/Resources/SettingsResource.php @@ -1,4 +1,5 @@ [ 'avatar' => $this->avatar, 'name' => $this->name, + 'first_name' => $this->first_name, + 'last_name' => $this->last_name, 'address' => $this->address, 'state' => $this->state, 'city' => $this->city, diff --git a/src/App/Users/Resources/UserResource.php b/src/App/Users/Resources/UserResource.php index 712c1961..42c70f12 100644 --- a/src/App/Users/Resources/UserResource.php +++ b/src/App/Users/Resources/UserResource.php @@ -75,7 +75,7 @@ class UserResource extends JsonResource $this->mergeWhen($isMeteredSubscription, fn () => [ 'totalDebt' => [ 'formatted' => format_currency($this->failedPayments->sum('amount'), $this->subscription->plan->currency), - 'amount' => $this->failedPayments->sum('amount'), + 'amount' => $this->failedPayments->sum('amount'), ], ]), ], diff --git a/src/Domain/Admin/Controllers/Users/UserController.php b/src/Domain/Admin/Controllers/Users/UserController.php index a5b1a860..1e1916ae 100644 --- a/src/Domain/Admin/Controllers/Users/UserController.php +++ b/src/Domain/Admin/Controllers/Users/UserController.php @@ -42,11 +42,15 @@ class UserController extends Controller 'email_verified_at' => now(), ]); + // Split username + $name = split_name($request->input('name')); + $user ->settings() ->create([ - 'avatar' => store_avatar($request, 'avatar'), - 'name' => $request->input('name'), + 'avatar' => store_avatar($request, 'avatar'), + 'first_name' => $name['first_name'], + 'last_name' => $name['last_name'], ]); return response(new UserResource($user), 201); diff --git a/src/Domain/SetupWizard/Controllers/CreateAdminAccountController.php b/src/Domain/SetupWizard/Controllers/CreateAdminAccountController.php index 35ac364f..4fe0629a 100644 --- a/src/Domain/SetupWizard/Controllers/CreateAdminAccountController.php +++ b/src/Domain/SetupWizard/Controllers/CreateAdminAccountController.php @@ -45,11 +45,15 @@ class CreateAdminAccountController extends Controller 'email_verified_at' => now(), ]); + // Split username + $name = split_name($request->input('name')); + $user ->settings() ->create([ - 'avatar' => store_avatar($request, 'avatar'), - 'name' => $request->input('name'), + 'avatar' => store_avatar($request, 'avatar'), + 'first_name' => $name['first_name'], + 'last_name' => $name['last_name'], ]); collect([ diff --git a/src/Support/helpers.php b/src/Support/helpers.php index 054fae6d..bfebcb93 100644 --- a/src/Support/helpers.php +++ b/src/Support/helpers.php @@ -307,6 +307,21 @@ if (! function_exists('get_shared')) { } } +if (! function_exists('split_name')) { + /** + * Split name for 2 parts + */ + function split_name(string $name): array + { + $firstName = explode(' ', $name)[0]; + + return [ + 'first_name' => $firstName, + 'last_name' => str_replace("$firstName ", '', $name), + ]; + } +} + if (! function_exists('is_editor')) { /** * Check if shared permission is editor diff --git a/tests/App/Restrictions/DefaultRestrictionsTest.php b/tests/App/Restrictions/DefaultRestrictionsTest.php index 0368d6e9..d1068193 100644 --- a/tests/App/Restrictions/DefaultRestrictionsTest.php +++ b/tests/App/Restrictions/DefaultRestrictionsTest.php @@ -15,6 +15,7 @@ class DefaultRestrictionsTest extends TestCase public function it_can_upload() { $user = User::factory() + ->hasSettings() ->create(); $this->assertEquals(true, $user->canUpload(9999999)); @@ -26,6 +27,7 @@ class DefaultRestrictionsTest extends TestCase public function it_cant_upload_because_storage_limit_exceeded() { $user = User::factory() + ->hasSettings() ->create(); File::factory() @@ -43,6 +45,7 @@ class DefaultRestrictionsTest extends TestCase public function it_can_upload_because_storage_limitation_is_turned_off_and_user_has_unlimited_limit() { $user = User::factory() + ->hasSettings() ->create(); // Turn off storage limitation @@ -68,6 +71,7 @@ class DefaultRestrictionsTest extends TestCase public function it_cant_upload_because_storage_limitation_is_turned_on_and_user_exceeded_limit() { $user = User::factory() + ->hasSettings() ->create(); // Turn on storage limitation @@ -93,6 +97,7 @@ class DefaultRestrictionsTest extends TestCase public function it_can_create_new_folder() { $user = User::factory() + ->hasSettings() ->create(); $this @@ -113,6 +118,7 @@ class DefaultRestrictionsTest extends TestCase public function it_can_get_private_file() { $user = User::factory() + ->hasSettings() ->create(); $file = File::factory() @@ -135,6 +141,7 @@ class DefaultRestrictionsTest extends TestCase public function it_can_get_shared_file() { $user = User::factory() + ->hasSettings() ->create(); $file = File::factory() @@ -163,6 +170,7 @@ class DefaultRestrictionsTest extends TestCase public function it_can_get_share_page() { $user = User::factory() + ->hasSettings() ->create(); $share = Share::factory() diff --git a/tests/App/Restrictions/FixedBillingRestrictionsTest.php b/tests/App/Restrictions/FixedBillingRestrictionsTest.php index 71020a23..7989f408 100644 --- a/tests/App/Restrictions/FixedBillingRestrictionsTest.php +++ b/tests/App/Restrictions/FixedBillingRestrictionsTest.php @@ -27,6 +27,7 @@ class FixedBillingRestrictionsTest extends TestCase public function it_can_upload() { $user = User::factory() + ->hasSettings() ->create(); $this->assertEquals(true, $user->canUpload(9999999)); @@ -38,6 +39,7 @@ class FixedBillingRestrictionsTest extends TestCase public function it_cant_upload_because_storage_limit_exceeded() { $user = User::factory() + ->hasSettings() ->create(); File::factory() @@ -55,6 +57,7 @@ class FixedBillingRestrictionsTest extends TestCase public function it_can_create_new_folder() { $user = User::factory() + ->hasSettings() ->create(); $this @@ -75,6 +78,7 @@ class FixedBillingRestrictionsTest extends TestCase public function it_cant_invite_team_members_into_team_folder_because_user_exceeded_members_limit() { $user = User::factory() + ->hasSettings() ->hasFolders([ 'team_folder' => true, ]) @@ -153,6 +157,7 @@ class FixedBillingRestrictionsTest extends TestCase public function it_can_get_private_file() { $user = User::factory() + ->hasSettings() ->create(); $file = File::factory() @@ -175,6 +180,7 @@ class FixedBillingRestrictionsTest extends TestCase public function it_can_get_shared_file() { $user = User::factory() + ->hasSettings() ->create(); $file = File::factory() @@ -203,6 +209,7 @@ class FixedBillingRestrictionsTest extends TestCase public function it_can_get_share_page() { $user = User::factory() + ->hasSettings() ->create(); $share = Share::factory() diff --git a/tests/App/Restrictions/MeteredBillingRestrictionsTest.php b/tests/App/Restrictions/MeteredBillingRestrictionsTest.php index 58470200..0cb53c14 100644 --- a/tests/App/Restrictions/MeteredBillingRestrictionsTest.php +++ b/tests/App/Restrictions/MeteredBillingRestrictionsTest.php @@ -50,6 +50,7 @@ class MeteredBillingRestrictionsTest extends TestCase public function it_can_create_new_folder() { $user = User::factory() + ->hasSettings() ->create(); // Create basic folder @@ -141,6 +142,7 @@ class MeteredBillingRestrictionsTest extends TestCase public function it_can_get_private_file() { $user = User::factory() + ->hasSettings() ->create(); $file = File::factory() @@ -192,6 +194,7 @@ class MeteredBillingRestrictionsTest extends TestCase public function it_can_get_shared_file() { $user = User::factory() + ->hasSettings() ->create(); $file = File::factory() diff --git a/tests/App/Socialite/SocialiteTest.php b/tests/App/Socialite/SocialiteTest.php index f82afa22..ff77c577 100644 --- a/tests/App/Socialite/SocialiteTest.php +++ b/tests/App/Socialite/SocialiteTest.php @@ -73,7 +73,8 @@ class SocialiteTest extends TestCase 'password' => null, ]) ->assertDatabaseHas('user_settings', [ - 'name' => 'Jane Doe', + 'first_name' => 'Jane', + 'last_name' => 'Doe', ]); $user = User::first(); diff --git a/tests/App/Users/PersonalAccessTokenTest.php b/tests/App/Users/PersonalAccessTokenTest.php index b7d377db..62f8f7fb 100644 --- a/tests/App/Users/PersonalAccessTokenTest.php +++ b/tests/App/Users/PersonalAccessTokenTest.php @@ -14,6 +14,7 @@ class PersonalAccessTokenTest extends TestCase public function it_create_user_token() { $user = User::factory() + ->hasSettings() ->create(); $this @@ -35,6 +36,7 @@ class PersonalAccessTokenTest extends TestCase public function it_revoke_user_token() { $user = User::factory() + ->hasSettings() ->create(); $user->createToken('token'); @@ -57,6 +59,7 @@ class PersonalAccessTokenTest extends TestCase public function it_get_user_tokens() { $user = User::factory() + ->hasSettings() ->create(); $user->createToken('token'); @@ -82,6 +85,7 @@ class PersonalAccessTokenTest extends TestCase public function it_use_user_token_in_public_api_request() { $user = User::factory() + ->hasSettings() ->create(); $folder = Folder::factory(Folder::class) diff --git a/tests/App/Users/SignFlowTest.php b/tests/App/Users/SignFlowTest.php index 4efab36a..57a145d6 100644 --- a/tests/App/Users/SignFlowTest.php +++ b/tests/App/Users/SignFlowTest.php @@ -48,7 +48,8 @@ class SignFlowTest extends TestCase 'email_verified_at' => null, ]) ->assertDatabaseHas('user_settings', [ - 'name' => 'John Doe', + 'first_name' => 'John', + 'last_name' => 'Doe', ]) ->assertDatabaseHas('user_limitations', [ 'max_storage_amount' => 10, @@ -118,7 +119,8 @@ class SignFlowTest extends TestCase 'amount' => 0, ]) ->assertDatabaseHas('user_settings', [ - 'name' => 'John Doe', + 'first_name' => 'John', + 'last_name' => 'Doe', ]); } @@ -189,7 +191,8 @@ class SignFlowTest extends TestCase 'driver' => 'system', ]) ->assertDatabaseHas('user_settings', [ - 'name' => 'John Doe', + 'first_name' => 'John', + 'last_name' => 'Doe', ]); } @@ -241,6 +244,7 @@ class SignFlowTest extends TestCase public function it_check_if_user_exist_and_return_name_with_avatar() { $user = User::factory() + ->hasSettings() ->create(['email' => 'john@doe.com']); $this->postJson('/api/user/check', [ @@ -278,6 +282,7 @@ class SignFlowTest extends TestCase public function it_logout_user() { $user = User::factory() + ->hasSettings() ->create(); $this diff --git a/tests/App/Users/UserAccountTest.php b/tests/App/Users/UserAccountTest.php index b2829fc8..3ab63903 100644 --- a/tests/App/Users/UserAccountTest.php +++ b/tests/App/Users/UserAccountTest.php @@ -18,6 +18,7 @@ class UserAccountTest extends TestCase public function it_generate_and_store_user() { $user = User::factory() + ->hasSettings() ->create(['role' => 'user']); $this->assertDatabaseHas('users', [ @@ -65,6 +66,7 @@ class UserAccountTest extends TestCase public function it_change_user_password_in_profile_settings() { $user = User::factory() + ->hasSettings() ->create(); $this @@ -84,6 +86,7 @@ class UserAccountTest extends TestCase public function it_update_user_settings() { $user = User::factory() + ->hasSettings() ->create(); $this @@ -104,6 +107,7 @@ class UserAccountTest extends TestCase public function it_update_user_avatar() { $user = User::factory() + ->hasSettings() ->create(); $avatar = UploadedFile::fake() @@ -128,6 +132,7 @@ class UserAccountTest extends TestCase public function it_get_user_data() { $user = User::factory() + ->hasSettings() ->create(); $this diff --git a/tests/Domain/Admin/AdminTest.php b/tests/Domain/Admin/AdminTest.php index 784110b7..866282c5 100644 --- a/tests/Domain/Admin/AdminTest.php +++ b/tests/Domain/Admin/AdminTest.php @@ -20,21 +20,24 @@ class AdminTest extends TestCase public function it_get_all_users() { $users = User::factory() + ->hasSettings() ->count(5) ->create(['role' => 'user']); $admin = User::factory() + ->hasSettings() ->create(['role' => 'admin']); - Sanctum::actingAs($admin); - - $users->each(function ($user) { - $this->getJson('/api/admin/users?page=1') + $users->each( + fn ($user) => + $this + ->actingAs($admin) + ->getJson('/api/admin/users?page=1') ->assertStatus(200) ->assertJsonFragment([ 'id' => $user->id, - ]); - }); + ]) + ); } /** @@ -43,9 +46,11 @@ class AdminTest extends TestCase public function it_get_single_user() { $user = User::factory() + ->hasSettings() ->create(['role' => 'user']); $admin = User::factory() + ->hasSettings() ->create(['role' => 'admin']); // TODO: pridat exactjson po refaktorovani userresource @@ -64,6 +69,7 @@ class AdminTest extends TestCase public function it_get_non_existed_user_subscription() { $user = User::factory() + ->hasSettings() ->create(); $admin = User::factory() @@ -169,9 +175,11 @@ class AdminTest extends TestCase public function it_change_user_storage_capacity() { $user = User::factory() + ->hasSettings() ->create(['role' => 'user']); $admin = User::factory() + ->hasSettings() ->create(['role' => 'admin']); $this @@ -195,9 +203,11 @@ class AdminTest extends TestCase public function it_change_user_role() { $user = User::factory() + ->hasSettings() ->create(['role' => 'user']); $admin = User::factory() + ->hasSettings() ->create(['role' => 'admin']); $this @@ -217,6 +227,7 @@ class AdminTest extends TestCase public function it_create_new_user_with_avatar() { $admin = User::factory() + ->hasSettings() ->create(['role' => 'admin']); $avatar = UploadedFile::fake() @@ -242,7 +253,8 @@ class AdminTest extends TestCase ->get('email_verified_at')); $this->assertDatabaseHas('user_settings', [ - 'name' => 'John Doe', + 'first_name' => 'John', + 'last_name' => 'Doe', ]); $avatar = User::whereEmail('john@doe.com')->first()->settings->getRawOriginal('avatar'); @@ -262,6 +274,7 @@ class AdminTest extends TestCase { // Create and login user $user = User::factory() + ->hasSettings() ->create(['role' => 'user']); Sanctum::actingAs($user); diff --git a/tests/Domain/Admin/DashboardTest.php b/tests/Domain/Admin/DashboardTest.php index e9ae1166..75df9da0 100644 --- a/tests/Domain/Admin/DashboardTest.php +++ b/tests/Domain/Admin/DashboardTest.php @@ -53,10 +53,12 @@ class DashboardTest extends TestCase public function it_get_new_users_for_dashboard() { $users = User::factory() + ->hasSettings() ->count(3) ->create(['role' => 'user']); $admin = User::factory() + ->hasSettings() ->create(['role' => 'admin']); $users->each( diff --git a/tests/Domain/Browsing/BrowseTest.php b/tests/Domain/Browsing/BrowseTest.php index bd72a194..66905f62 100644 --- a/tests/Domain/Browsing/BrowseTest.php +++ b/tests/Domain/Browsing/BrowseTest.php @@ -20,6 +20,7 @@ class BrowseTest extends TestCase public function it_get_navigator_tree() { $user = User::factory() + ->hasSettings() ->create(); $folder_level_1 = Folder::factory(Folder::class) @@ -134,6 +135,7 @@ class BrowseTest extends TestCase public function it_get_folder_content() { $user = User::factory() + ->hasSettings() ->create(); $root = Folder::factory(Folder::class) @@ -182,6 +184,7 @@ class BrowseTest extends TestCase public function it_get_recent_files() { $user = User::factory() + ->hasSettings() ->create(); $root = Folder::factory(Folder::class) @@ -234,6 +237,7 @@ class BrowseTest extends TestCase public function it_get_trash_root() { $user = User::factory() + ->hasSettings() ->create(); $folder = Folder::factory(Folder::class) @@ -282,6 +286,7 @@ class BrowseTest extends TestCase public function it_get_shared_items() { $user = User::factory() + ->hasSettings() ->create(); Sanctum::actingAs($user); diff --git a/tests/Domain/Files/ContentAccessTest.php b/tests/Domain/Files/ContentAccessTest.php index 1092287c..1a94844a 100644 --- a/tests/Domain/Files/ContentAccessTest.php +++ b/tests/Domain/Files/ContentAccessTest.php @@ -49,6 +49,7 @@ class ContentAccessTest extends TestCase public function it_get_private_user_file() { $user = User::factory() + ->hasSettings() ->create(); $file = UploadedFile::fake() @@ -75,6 +76,7 @@ class ContentAccessTest extends TestCase public function it_get_private_user_image_thumbnail() { $user = User::factory() + ->hasSettings() ->create(); $thumbnail = UploadedFile::fake() diff --git a/tests/Domain/Files/FileTest.php b/tests/Domain/Files/FileTest.php index e24aefc3..e48729b6 100644 --- a/tests/Domain/Files/FileTest.php +++ b/tests/Domain/Files/FileTest.php @@ -34,6 +34,7 @@ class FileTest extends TestCase ->image('fake-image.jpg', 2000, 2000); $user = User::factory() + ->hasSettings() ->create(); $this @@ -74,6 +75,7 @@ class FileTest extends TestCase ->create('fake-file.pdf', 12000000, 'application/pdf'); $user = User::factory() + ->hasSettings() ->create(); $this @@ -107,6 +109,7 @@ class FileTest extends TestCase ->image('fake-file.jpeg', 1000); $user = User::factory() + ->hasSettings() ->create(); $user->limitations()->update([ @@ -147,6 +150,7 @@ class FileTest extends TestCase ->create('fake-file.pdf', 1200, 'application/pdf'); $user = User::factory() + ->hasSettings() ->create(); $this @@ -167,6 +171,7 @@ class FileTest extends TestCase public function it_rename_file() { $user = User::factory() + ->hasSettings() ->create(); $file = File::factory() @@ -196,6 +201,7 @@ class FileTest extends TestCase public function it_move_file_to_another_folder() { $user = User::factory() + ->hasSettings() ->create(); $folder = Folder::factory(Folder::class) @@ -232,6 +238,7 @@ class FileTest extends TestCase public function it_delete_multiple_files_softly() { $user = User::factory() + ->hasSettings() ->create(); $files = File::factory() @@ -271,6 +278,7 @@ class FileTest extends TestCase public function it_delete_multiple_files_hardly() { $user = User::factory() + ->hasSettings() ->create(); Sanctum::actingAs($user); diff --git a/tests/Domain/Folders/FavouriteFolderTest.php b/tests/Domain/Folders/FavouriteFolderTest.php index f8673a66..7f9d2ed2 100644 --- a/tests/Domain/Folders/FavouriteFolderTest.php +++ b/tests/Domain/Folders/FavouriteFolderTest.php @@ -16,6 +16,7 @@ class FavouriteFolderTest extends TestCase ->create(); $user = User::factory() + ->hasSettings() ->create(); $this @@ -41,6 +42,7 @@ class FavouriteFolderTest extends TestCase ->create(); $user = User::factory() + ->hasSettings() ->create(); $user diff --git a/tests/Domain/Folders/FolderTest.php b/tests/Domain/Folders/FolderTest.php index ff173ce7..21761990 100644 --- a/tests/Domain/Folders/FolderTest.php +++ b/tests/Domain/Folders/FolderTest.php @@ -30,6 +30,7 @@ class FolderTest extends TestCase public function it_create_new_folder() { $user = User::factory() + ->hasSettings() ->create(); $this @@ -53,6 +54,7 @@ class FolderTest extends TestCase public function it_rename_folder() { $user = User::factory() + ->hasSettings() ->create(); $folder = Folder::factory(Folder::class) @@ -82,6 +84,7 @@ class FolderTest extends TestCase public function it_set_folder_emoji() { $user = User::factory() + ->hasSettings() ->create(); $folder = Folder::factory(Folder::class) @@ -120,6 +123,7 @@ class FolderTest extends TestCase public function it_set_folder_color() { $user = User::factory() + ->hasSettings() ->create(); $folder = Folder::factory(Folder::class) @@ -153,6 +157,7 @@ class FolderTest extends TestCase public function it_move_folder_to_another_folder() { $user = User::factory() + ->hasSettings() ->create(); $root = Folder::factory(Folder::class) @@ -189,6 +194,7 @@ class FolderTest extends TestCase public function it_delete_multiple_folder_softly() { $user = User::factory() + ->hasSettings() ->create(); $folder_1 = Folder::factory(Folder::class) @@ -239,6 +245,7 @@ class FolderTest extends TestCase public function it_delete_multiple_folder_hardly() { $user = User::factory() + ->hasSettings() ->create(); $folder_1 = Folder::factory(Folder::class) @@ -283,6 +290,7 @@ class FolderTest extends TestCase public function it_delete_folder_with_their_content_within_softly() { $user = User::factory() + ->hasSettings() ->create(); $folder_root = Folder::factory(Folder::class) @@ -341,6 +349,7 @@ class FolderTest extends TestCase public function it_delete_folder_with_their_content_within_hardly() { $user = User::factory() + ->hasSettings() ->create(); Sanctum::actingAs($user); diff --git a/tests/Domain/Homepage/HomepageTest.php b/tests/Domain/Homepage/HomepageTest.php index 02852151..b2140e10 100644 --- a/tests/Domain/Homepage/HomepageTest.php +++ b/tests/Domain/Homepage/HomepageTest.php @@ -51,6 +51,7 @@ class HomepageTest extends TestCase public function it_get_og_page_for_folder() { $user = User::factory() + ->hasSettings() ->create(); $folder = Folder::factory(Folder::class) @@ -79,6 +80,7 @@ class HomepageTest extends TestCase public function it_get_og_page_for_image() { $user = User::factory() + ->hasSettings() ->create(); $file = File::factory() @@ -110,6 +112,7 @@ class HomepageTest extends TestCase public function it_get_og_page_for_protected_file() { $user = User::factory() + ->hasSettings() ->create(); $file = File::factory() diff --git a/tests/Domain/SetupWizard/SetupWizardTest.php b/tests/Domain/SetupWizard/SetupWizardTest.php index ad5741ac..934ebada 100644 --- a/tests/Domain/SetupWizard/SetupWizardTest.php +++ b/tests/Domain/SetupWizard/SetupWizardTest.php @@ -227,8 +227,9 @@ class SetupWizardTest extends TestCase ]); $this->assertDatabaseHas('user_settings', [ - 'user_id' => User::first()->id, - 'name' => 'John Doe', + 'user_id' => User::first()->id, + 'first_name' => 'John', + 'last_name' => 'Doe', ]); $this->assertDatabaseMissing('user_settings', [ diff --git a/tests/Domain/Sharing/UserShareTest.php b/tests/Domain/Sharing/UserShareTest.php index aa1e7d35..bd331f9a 100644 --- a/tests/Domain/Sharing/UserShareTest.php +++ b/tests/Domain/Sharing/UserShareTest.php @@ -17,6 +17,7 @@ class UserShareTest extends TestCase public function it_share_single_file_without_password() { $user = User::factory() + ->hasSettings() ->create(); $file = File::factory() @@ -50,6 +51,7 @@ class UserShareTest extends TestCase public function it_share_folder_without_password() { $user = User::factory() + ->hasSettings() ->create(); $folder = Folder::factory(Folder::class) @@ -83,6 +85,7 @@ class UserShareTest extends TestCase public function it_share_folder_with_password() { $user = User::factory() + ->hasSettings() ->create(); $folder = Folder::factory(Folder::class) @@ -122,6 +125,7 @@ class UserShareTest extends TestCase public function it_share_folder_with_expiration_time() { $user = User::factory() + ->hasSettings() ->create(); $folder = Folder::factory(Folder::class) @@ -149,6 +153,7 @@ class UserShareTest extends TestCase public function it_share_folder_and_send_link_for_multiple_email() { $user = User::factory() + ->hasSettings() ->create(); $folder = Folder::factory(Folder::class) @@ -176,6 +181,7 @@ class UserShareTest extends TestCase public function it_send_existing_shared_folder_for_multiple_email_once_again() { $user = User::factory() + ->hasSettings() ->create(); $folder = Folder::factory(Folder::class) @@ -206,6 +212,7 @@ class UserShareTest extends TestCase public function it_revoke_single_share_record() { $user = User::factory() + ->hasSettings() ->create(); $folder = Folder::factory(Folder::class) diff --git a/tests/Domain/Sharing/VisitorAccessToItemsTest.php b/tests/Domain/Sharing/VisitorAccessToItemsTest.php index 44f7b33b..b58c9e2d 100644 --- a/tests/Domain/Sharing/VisitorAccessToItemsTest.php +++ b/tests/Domain/Sharing/VisitorAccessToItemsTest.php @@ -67,6 +67,7 @@ class VisitorAccessToItemsTest extends TestCase public function it_try_to_get_protected_file_record() { $user = User::factory() + ->hasSettings() ->create(); $file = File::factory() diff --git a/tests/Domain/Sharing/VisitorBrowseTest.php b/tests/Domain/Sharing/VisitorBrowseTest.php index 76544352..6bd47e48 100644 --- a/tests/Domain/Sharing/VisitorBrowseTest.php +++ b/tests/Domain/Sharing/VisitorBrowseTest.php @@ -44,6 +44,7 @@ class VisitorBrowseTest extends TestCase public function it_get_share_page() { $user = User::factory() + ->hasSettings() ->create(); $share = Share::factory() @@ -136,6 +137,7 @@ class VisitorBrowseTest extends TestCase collect([true, false]) ->each(function ($is_protected) { $user = User::factory() + ->hasSettings() ->create(); $root = Folder::factory(Folder::class) diff --git a/tests/Domain/Sharing/VisitorManipulatingTest.php b/tests/Domain/Sharing/VisitorManipulatingTest.php index 8314bfe3..a3e43ee9 100644 --- a/tests/Domain/Sharing/VisitorManipulatingTest.php +++ b/tests/Domain/Sharing/VisitorManipulatingTest.php @@ -20,6 +20,7 @@ class VisitorManipulatingTest extends TestCase collect([true, false]) ->each(function ($is_protected) { $user = User::factory() + ->hasSettings() ->create(); $folder = Folder::factory(Folder::class) @@ -89,6 +90,7 @@ class VisitorManipulatingTest extends TestCase collect([true, false]) ->each(function ($is_protected) { $user = User::factory() + ->hasSettings() ->create(); $root = Folder::factory(Folder::class) @@ -158,6 +160,7 @@ class VisitorManipulatingTest extends TestCase collect([true, false]) ->each(function ($is_protected) { $user = User::factory() + ->hasSettings() ->create(); $folder = Folder::factory(Folder::class) diff --git a/tests/Domain/Spotlight/SearchTest.php b/tests/Domain/Spotlight/SearchTest.php index 4755a96a..183f4ef1 100644 --- a/tests/Domain/Spotlight/SearchTest.php +++ b/tests/Domain/Spotlight/SearchTest.php @@ -15,6 +15,7 @@ class SearchTest extends TestCase public function it_get_searched_file() { $user = User::factory() + ->hasSettings() ->create(); $english = File::factory() @@ -54,6 +55,7 @@ class SearchTest extends TestCase public function it_get_searched_folder() { $user = User::factory() + ->hasSettings() ->create(); $folder = Folder::factory(Folder::class) @@ -77,9 +79,11 @@ class SearchTest extends TestCase public function it_get_searched_shared_with_me_file_and_folders() { $owner = User::factory() + ->hasSettings() ->create(); $member = User::factory() + ->hasSettings() ->create(); $folder = Folder::factory() diff --git a/tests/Domain/Teams/TeamManagementTest.php b/tests/Domain/Teams/TeamManagementTest.php index 0a329160..79c07bed 100644 --- a/tests/Domain/Teams/TeamManagementTest.php +++ b/tests/Domain/Teams/TeamManagementTest.php @@ -21,6 +21,7 @@ class TeamManagementTest extends TestCase public function it_get_team_folder_invite() { [$inviter, $member] = User::factory() + ->hasSettings() ->count(2) ->create(); @@ -134,6 +135,7 @@ class TeamManagementTest extends TestCase public function it_invite_member_into_team_folder() { [$user, $member_1, $member_2] = User::factory() + ->hasSettings() ->count(3) ->create(); @@ -210,6 +212,7 @@ class TeamManagementTest extends TestCase public function it_delete_invited_member_from_team_folder() { [$user, $member_1, $member_2] = User::factory() + ->hasSettings() ->count(3) ->create(); @@ -286,6 +289,7 @@ class TeamManagementTest extends TestCase public function it_remove_member_from_team_folder() { [$user, $member, $deletedMember] = User::factory() + ->hasSettings() ->count(3) ->create(); @@ -358,6 +362,7 @@ class TeamManagementTest extends TestCase public function it_update_invited_member_permission_in_team_folder() { $user = User::factory() + ->hasSettings() ->create(); $folder = Folder::factory() @@ -405,6 +410,7 @@ class TeamManagementTest extends TestCase public function it_update_member_permission_in_team_folder() { [$user, $member_1, $member_2] = User::factory() + ->hasSettings() ->count(3) ->create(); diff --git a/tests/Domain/Teams/TeamsTest.php b/tests/Domain/Teams/TeamsTest.php index 10143a71..18d7d515 100644 --- a/tests/Domain/Teams/TeamsTest.php +++ b/tests/Domain/Teams/TeamsTest.php @@ -47,6 +47,7 @@ class TeamsTest extends TestCase ]); $user = User::factory() + ->hasSettings() ->create(); $this @@ -90,6 +91,7 @@ class TeamsTest extends TestCase public function it_mark_newly_created_folder_as_team_folder() { $user = User::factory() + ->hasSettings() ->create(); $teamFolder = Folder::factory() @@ -115,6 +117,7 @@ class TeamsTest extends TestCase public function it_convert_folder_into_team_folder() { $user = User::factory() + ->hasSettings() ->create(); $folder = Folder::factory() @@ -161,6 +164,7 @@ class TeamsTest extends TestCase public function it_get_all_team_folders() { $user = User::factory() + ->hasSettings() ->create(); $folder = Folder::factory() @@ -184,6 +188,7 @@ class TeamsTest extends TestCase public function it_get_content_of_team_folder() { $user = User::factory() + ->hasSettings() ->create(); $folder = Folder::factory() @@ -213,9 +218,11 @@ class TeamsTest extends TestCase public function it_get_team_folders_shared_with_another_user() { $user = User::factory() + ->hasSettings() ->create(); $member = User::factory() + ->hasSettings() ->create(); $folders = Folder::factory() diff --git a/tests/Domain/Traffic/TrafficTest.php b/tests/Domain/Traffic/TrafficTest.php index 1919c388..142857f1 100644 --- a/tests/Domain/Traffic/TrafficTest.php +++ b/tests/Domain/Traffic/TrafficTest.php @@ -25,6 +25,7 @@ class TrafficTest extends TestCase ->image('fake-file.jpg', 1200); $this->user = User::factory() + ->hasSettings() ->create(); } diff --git a/tests/Domain/Trash/TrashTest.php b/tests/Domain/Trash/TrashTest.php index 5a0f87a4..59aae646 100644 --- a/tests/Domain/Trash/TrashTest.php +++ b/tests/Domain/Trash/TrashTest.php @@ -17,6 +17,7 @@ class TrashTest extends TestCase public function it_restore_items_from_trash() { $user = User::factory() + ->hasSettings() ->create(); $attributes = [ @@ -60,6 +61,7 @@ class TrashTest extends TestCase public function it_dump_trash() { $user = User::factory() + ->hasSettings() ->create(); Sanctum::actingAs($user); diff --git a/tests/Domain/Zip/UserZippingTest.php b/tests/Domain/Zip/UserZippingTest.php index acc1857a..d60e3900 100644 --- a/tests/Domain/Zip/UserZippingTest.php +++ b/tests/Domain/Zip/UserZippingTest.php @@ -16,6 +16,7 @@ class UserZippingTest extends TestCase public function it_zip_multiple_files_and_download_it() { $user = User::factory() + ->hasSettings() ->create(); Sanctum::actingAs($user); @@ -68,6 +69,7 @@ class UserZippingTest extends TestCase public function it_zip_folder_with_content_within_and_download() { $user = User::factory() + ->hasSettings() ->create(); Sanctum::actingAs($user); diff --git a/tests/Support/Gate/GateTest.php b/tests/Support/Gate/GateTest.php index c0a7c074..757df326 100644 --- a/tests/Support/Gate/GateTest.php +++ b/tests/Support/Gate/GateTest.php @@ -16,6 +16,7 @@ class GateTest extends TestCase public function owner_rename_folder() { $user = User::factory() + ->hasSettings() ->create(); $folder = Folder::factory(Folder::class) @@ -48,6 +49,7 @@ class GateTest extends TestCase collect([true, false]) ->each(function ($is_protected) { $user = User::factory() + ->hasSettings() ->create(); $root = Folder::factory(Folder::class) @@ -114,9 +116,11 @@ class GateTest extends TestCase public function team_member_with_can_edit_privilege_rename_folder() { $owner = User::factory() + ->hasSettings() ->create(); $member = User::factory() + ->hasSettings() ->create(); $teamFolder = Folder::factory(Folder::class) @@ -218,9 +222,11 @@ class GateTest extends TestCase public function team_member_rename_file() { $owner = User::factory() + ->hasSettings() ->create(); $member = User::factory() + ->hasSettings() ->create(); $teamFolder = Folder::factory(Folder::class) diff --git a/tests/Support/Helpers/HelperTest.php b/tests/Support/Helpers/HelperTest.php new file mode 100644 index 00000000..a7c515bf --- /dev/null +++ b/tests/Support/Helpers/HelperTest.php @@ -0,0 +1,23 @@ +assertEquals('Jane', $firstTest['first_name']); + $this->assertEquals('Doe', $firstTest['last_name']); + + $secondTest = split_name('Jane Doe Hobs'); + + $this->assertEquals('Jane', $secondTest['first_name']); + $this->assertEquals('Doe Hobs', $secondTest['last_name']); + } +} diff --git a/tests/Support/Scheduler/SchedulerTest.php b/tests/Support/Scheduler/SchedulerTest.php index 08fe76bc..0f03e177 100644 --- a/tests/Support/Scheduler/SchedulerTest.php +++ b/tests/Support/Scheduler/SchedulerTest.php @@ -24,6 +24,7 @@ class SchedulerTest extends TestCase public function it_report_usage_of_subscription() { $user = User::factory() + ->hasSettings() ->create(); $plan = Plan::factory()